aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.openshift/action_hooks/deploy6
-rwxr-xr-xboot.php37
-rw-r--r--doc/Widgets.md7
-rw-r--r--doc/api/statuses_update.bb23
-rw-r--r--doc/bbcode.html12
-rw-r--r--doc/database/db_abook.bb30
-rw-r--r--doc/database/db_attach.bb16
-rw-r--r--doc/database/db_channel.bb96
-rw-r--r--doc/database/db_chat.bb10
-rw-r--r--doc/database/db_chatpresence.bb12
-rw-r--r--doc/database/db_chatroom.bb22
-rw-r--r--doc/database/db_conv.bb19
-rw-r--r--doc/database/db_group_member.bb8
-rw-r--r--doc/database/db_groups.bb12
-rw-r--r--doc/database/db_hook.bb10
-rw-r--r--doc/database/db_item.bb145
-rw-r--r--doc/database/db_item_id.bb10
-rw-r--r--doc/database/db_xchan.bb53
-rw-r--r--doc/database/db_xign.bb7
-rw-r--r--doc/database/db_xlink.bb16
-rw-r--r--doc/database/db_xprof.bb5
-rw-r--r--doc/de/main.bb2
-rw-r--r--doc/develop.bb3
-rw-r--r--doc/faq_developers.bb2
-rw-r--r--doc/hidden_configs.bb3
-rw-r--r--doc/hook/app_menu.bb1
-rw-r--r--doc/hook/avatar_lookup.bb1
-rw-r--r--doc/hook/cron.bb4
-rw-r--r--doc/hook/cron_daily.bb2
-rw-r--r--doc/hook/cron_weekly.bb2
-rw-r--r--doc/hook/get_widgets.bb1
-rw-r--r--doc/hook/logger.bb16
-rw-r--r--doc/hook/nav.bb27
-rw-r--r--doc/hook/probe_well_known.bb2
-rw-r--r--doc/hook/smilie.bb18
-rw-r--r--doc/hook/tagged.bb15
-rw-r--r--doc/hook/validate_channelname.bb22
-rw-r--r--doc/hooklist.bb13
-rw-r--r--doc/nl/TermsOfService.md5
-rw-r--r--doc/roadmapv4.bb27
-rw-r--r--doc/schemaspy_hubzilla/zot.meta.xml283
-rw-r--r--doc/sv/main.bb2
-rw-r--r--hubzilla_er/Makefile17
-rw-r--r--hubzilla_er/anomalies.html256
-rw-r--r--hubzilla_er/columns.byAuto.html7153
-rw-r--r--hubzilla_er/columns.byColumn.html7153
-rw-r--r--hubzilla_er/columns.byDefault.html7153
-rw-r--r--hubzilla_er/columns.byNulls.html7153
-rw-r--r--hubzilla_er/columns.bySize.html7153
-rw-r--r--hubzilla_er/columns.byTable.html7153
-rw-r--r--hubzilla_er/columns.byType.html7153
-rw-r--r--hubzilla_er/constraints.html101
-rw-r--r--hubzilla_er/deletionOrder.txt63
-rw-r--r--hubzilla_er/diagrams/account.1degree.dot49
-rw-r--r--hubzilla_er/diagrams/account.1degree.pngbin0 -> 8634 bytes
-rw-r--r--hubzilla_er/diagrams/account.implied2degrees.dot102
-rw-r--r--hubzilla_er/diagrams/account.implied2degrees.pngbin0 -> 15776 bytes
-rw-r--r--hubzilla_er/diagrams/addon.1degree.dot38
-rw-r--r--hubzilla_er/diagrams/addon.1degree.pngbin0 -> 3363 bytes
-rw-r--r--hubzilla_er/diagrams/addon.implied2degrees.dot162
-rw-r--r--hubzilla_er/diagrams/addon.implied2degrees.pngbin0 -> 14382 bytes
-rw-r--r--hubzilla_er/diagrams/app.1degree.dot45
-rw-r--r--hubzilla_er/diagrams/app.1degree.pngbin0 -> 4667 bytes
-rw-r--r--hubzilla_er/diagrams/app.implied2degrees.dot169
-rw-r--r--hubzilla_er/diagrams/app.implied2degrees.pngbin0 -> 16518 bytes
-rw-r--r--hubzilla_er/diagrams/attach.1degree.dot54
-rw-r--r--hubzilla_er/diagrams/attach.1degree.pngbin0 -> 8379 bytes
-rw-r--r--hubzilla_er/diagrams/attach.implied2degrees.dot279
-rw-r--r--hubzilla_er/diagrams/attach.implied2degrees.pngbin0 -> 31285 bytes
-rw-r--r--hubzilla_er/diagrams/auth_codes.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/auth_codes.1degree.pngbin0 -> 2955 bytes
-rw-r--r--hubzilla_er/diagrams/auth_codes.implied2degrees.dot69
-rw-r--r--hubzilla_er/diagrams/auth_codes.implied2degrees.pngbin0 -> 7011 bytes
-rw-r--r--hubzilla_er/diagrams/cache.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/cache.1degree.pngbin0 -> 2418 bytes
-rw-r--r--hubzilla_er/diagrams/cache.implied2degrees.dot144
-rw-r--r--hubzilla_er/diagrams/cache.implied2degrees.pngbin0 -> 12474 bytes
-rw-r--r--hubzilla_er/diagrams/channel.1degree.dot79
-rw-r--r--hubzilla_er/diagrams/channel.1degree.pngbin0 -> 17582 bytes
-rw-r--r--hubzilla_er/diagrams/channel.implied2degrees.dot179
-rw-r--r--hubzilla_er/diagrams/channel.implied2degrees.pngbin0 -> 31731 bytes
-rw-r--r--hubzilla_er/diagrams/clients.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/clients.1degree.pngbin0 -> 3082 bytes
-rw-r--r--hubzilla_er/diagrams/clients.implied2degrees.dot69
-rw-r--r--hubzilla_er/diagrams/clients.implied2degrees.pngbin0 -> 7288 bytes
-rw-r--r--hubzilla_er/diagrams/config.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/config.1degree.pngbin0 -> 2656 bytes
-rw-r--r--hubzilla_er/diagrams/config.implied2degrees.dot287
-rw-r--r--hubzilla_er/diagrams/config.implied2degrees.pngbin0 -> 25567 bytes
-rw-r--r--hubzilla_er/diagrams/conv.1degree.dot39
-rw-r--r--hubzilla_er/diagrams/conv.1degree.pngbin0 -> 4162 bytes
-rw-r--r--hubzilla_er/diagrams/conv.implied2degrees.dot264
-rw-r--r--hubzilla_er/diagrams/conv.implied2degrees.pngbin0 -> 25977 bytes
-rw-r--r--hubzilla_er/diagrams/event.1degree.dot56
-rw-r--r--hubzilla_er/diagrams/event.1degree.pngbin0 -> 9815 bytes
-rw-r--r--hubzilla_er/diagrams/event.implied2degrees.dot180
-rw-r--r--hubzilla_er/diagrams/event.implied2degrees.pngbin0 -> 23094 bytes
-rw-r--r--hubzilla_er/diagrams/fcontact.1degree.dot47
-rw-r--r--hubzilla_er/diagrams/fcontact.1degree.pngbin0 -> 5436 bytes
-rw-r--r--hubzilla_er/diagrams/fcontact.implied2degrees.dot272
-rw-r--r--hubzilla_er/diagrams/fcontact.implied2degrees.pngbin0 -> 27106 bytes
-rw-r--r--hubzilla_er/diagrams/ffinder.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/ffinder.1degree.pngbin0 -> 2199 bytes
-rw-r--r--hubzilla_er/diagrams/ffinder.implied2degrees.dot260
-rw-r--r--hubzilla_er/diagrams/ffinder.implied2degrees.pngbin0 -> 22693 bytes
-rw-r--r--hubzilla_er/diagrams/fserver.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/fserver.1degree.pngbin0 -> 2638 bytes
-rw-r--r--hubzilla_er/diagrams/fserver.implied2degrees.dot159
-rw-r--r--hubzilla_er/diagrams/fserver.implied2degrees.pngbin0 -> 13325 bytes
-rw-r--r--hubzilla_er/diagrams/fsuggest.1degree.dot40
-rw-r--r--hubzilla_er/diagrams/fsuggest.1degree.pngbin0 -> 3460 bytes
-rw-r--r--hubzilla_er/diagrams/fsuggest.implied2degrees.dot164
-rw-r--r--hubzilla_er/diagrams/fsuggest.implied2degrees.pngbin0 -> 14534 bytes
-rw-r--r--hubzilla_er/diagrams/group_member.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/group_member.1degree.pngbin0 -> 2590 bytes
-rw-r--r--hubzilla_er/diagrams/group_member.implied2degrees.dot260
-rw-r--r--hubzilla_er/diagrams/group_member.implied2degrees.pngbin0 -> 23117 bytes
-rw-r--r--hubzilla_er/diagrams/groups.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/groups.1degree.pngbin0 -> 3046 bytes
-rw-r--r--hubzilla_er/diagrams/groups.implied2degrees.dot262
-rw-r--r--hubzilla_er/diagrams/groups.implied2degrees.pngbin0 -> 23862 bytes
-rw-r--r--hubzilla_er/diagrams/hook.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/hook.1degree.pngbin0 -> 2754 bytes
-rw-r--r--hubzilla_er/diagrams/hook.implied2degrees.dot160
-rw-r--r--hubzilla_er/diagrams/hook.implied2degrees.pngbin0 -> 13636 bytes
-rw-r--r--hubzilla_er/diagrams/item.1degree.dot104
-rw-r--r--hubzilla_er/diagrams/item.1degree.pngbin0 -> 22174 bytes
-rw-r--r--hubzilla_er/diagrams/item.implied2degrees.dot329
-rw-r--r--hubzilla_er/diagrams/item.implied2degrees.pngbin0 -> 52083 bytes
-rw-r--r--hubzilla_er/diagrams/item_id.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/item_id.1degree.pngbin0 -> 2593 bytes
-rw-r--r--hubzilla_er/diagrams/item_id.implied2degrees.dot261
-rw-r--r--hubzilla_er/diagrams/item_id.implied2degrees.pngbin0 -> 23262 bytes
-rw-r--r--hubzilla_er/diagrams/likes.1degree.dot40
-rw-r--r--hubzilla_er/diagrams/likes.1degree.pngbin0 -> 4277 bytes
-rw-r--r--hubzilla_er/diagrams/likes.implied2degrees.dot325
-rw-r--r--hubzilla_er/diagrams/likes.implied2degrees.pngbin0 -> 40790 bytes
-rw-r--r--hubzilla_er/diagrams/mail.1degree.dot52
-rw-r--r--hubzilla_er/diagrams/mail.1degree.pngbin0 -> 7855 bytes
-rw-r--r--hubzilla_er/diagrams/mail.implied2degrees.dot365
-rw-r--r--hubzilla_er/diagrams/mail.implied2degrees.pngbin0 -> 50787 bytes
-rw-r--r--hubzilla_er/diagrams/manage.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/manage.1degree.pngbin0 -> 2142 bytes
-rw-r--r--hubzilla_er/diagrams/manage.implied2degrees.dot158
-rw-r--r--hubzilla_er/diagrams/manage.implied2degrees.pngbin0 -> 12419 bytes
-rw-r--r--hubzilla_er/diagrams/notify.1degree.dot46
-rw-r--r--hubzilla_er/diagrams/notify.1degree.pngbin0 -> 5539 bytes
-rw-r--r--hubzilla_er/diagrams/notify.implied2degrees.dot279
-rw-r--r--hubzilla_er/diagrams/notify.implied2degrees.pngbin0 -> 41442 bytes
-rw-r--r--hubzilla_er/diagrams/pconfig.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/pconfig.1degree.pngbin0 -> 3015 bytes
-rw-r--r--hubzilla_er/diagrams/pconfig.implied2degrees.dot217
-rw-r--r--hubzilla_er/diagrams/pconfig.implied2degrees.pngbin0 -> 18716 bytes
-rw-r--r--hubzilla_er/diagrams/photo.1degree.dot59
-rw-r--r--hubzilla_er/diagrams/photo.1degree.pngbin0 -> 10662 bytes
-rw-r--r--hubzilla_er/diagrams/photo.implied2degrees.dot284
-rw-r--r--hubzilla_er/diagrams/photo.implied2degrees.pngbin0 -> 35116 bytes
-rw-r--r--hubzilla_er/diagrams/profdef.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/profdef.1degree.pngbin0 -> 3837 bytes
-rw-r--r--hubzilla_er/diagrams/profdef.implied2degrees.dot262
-rw-r--r--hubzilla_er/diagrams/profdef.implied2degrees.pngbin0 -> 25502 bytes
-rw-r--r--hubzilla_er/diagrams/profext.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/profext.1degree.pngbin0 -> 3256 bytes
-rw-r--r--hubzilla_er/diagrams/profext.implied2degrees.dot348
-rw-r--r--hubzilla_er/diagrams/profext.implied2degrees.pngbin0 -> 40038 bytes
-rw-r--r--hubzilla_er/diagrams/profile.1degree.dot75
-rw-r--r--hubzilla_er/diagrams/profile.1degree.pngbin0 -> 12022 bytes
-rw-r--r--hubzilla_er/diagrams/profile.implied2degrees.dot199
-rw-r--r--hubzilla_er/diagrams/profile.implied2degrees.pngbin0 -> 26994 bytes
-rw-r--r--hubzilla_er/diagrams/profile_check.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/profile_check.1degree.pngbin0 -> 2986 bytes
-rw-r--r--hubzilla_er/diagrams/profile_check.implied2degrees.dot262
-rw-r--r--hubzilla_er/diagrams/profile_check.implied2degrees.pngbin0 -> 23435 bytes
-rw-r--r--hubzilla_er/diagrams/register.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/register.1degree.pngbin0 -> 3468 bytes
-rw-r--r--hubzilla_er/diagrams/register.implied2degrees.dot262
-rw-r--r--hubzilla_er/diagrams/register.implied2degrees.pngbin0 -> 24141 bytes
-rw-r--r--hubzilla_er/diagrams/sign.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/sign.1degree.pngbin0 -> 3747 bytes
-rw-r--r--hubzilla_er/diagrams/sign.implied2degrees.dot262
-rw-r--r--hubzilla_er/diagrams/sign.implied2degrees.pngbin0 -> 25336 bytes
-rw-r--r--hubzilla_er/diagrams/spam.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/spam.1degree.pngbin0 -> 2766 bytes
-rw-r--r--hubzilla_er/diagrams/spam.implied2degrees.dot161
-rw-r--r--hubzilla_er/diagrams/spam.implied2degrees.pngbin0 -> 13556 bytes
-rw-r--r--hubzilla_er/diagrams/summary/abook.1degree.dot52
-rw-r--r--hubzilla_er/diagrams/summary/abook.1degree.pngbin0 -> 4841 bytes
-rw-r--r--hubzilla_er/diagrams/summary/account.1degree.dot47
-rw-r--r--hubzilla_er/diagrams/summary/account.1degree.pngbin0 -> 4765 bytes
-rw-r--r--hubzilla_er/diagrams/summary/addon.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/summary/addon.1degree.pngbin0 -> 1790 bytes
-rw-r--r--hubzilla_er/diagrams/summary/app.1degree.dot43
-rw-r--r--hubzilla_er/diagrams/summary/app.1degree.pngbin0 -> 2744 bytes
-rw-r--r--hubzilla_er/diagrams/summary/attach.1degree.dot52
-rw-r--r--hubzilla_er/diagrams/summary/attach.1degree.pngbin0 -> 3860 bytes
-rw-r--r--hubzilla_er/diagrams/summary/auth_codes.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/auth_codes.1degree.pngbin0 -> 1401 bytes
-rw-r--r--hubzilla_er/diagrams/summary/cache.1degree.dot32
-rw-r--r--hubzilla_er/diagrams/summary/cache.1degree.pngbin0 -> 972 bytes
-rw-r--r--hubzilla_er/diagrams/summary/channel.1degree.dot77
-rw-r--r--hubzilla_er/diagrams/summary/channel.1degree.pngbin0 -> 9952 bytes
-rw-r--r--hubzilla_er/diagrams/summary/chat.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/chat.1degree.pngbin0 -> 1498 bytes
-rw-r--r--hubzilla_er/diagrams/summary/chatpresence.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/chatpresence.1degree.pngbin0 -> 1616 bytes
-rw-r--r--hubzilla_er/diagrams/summary/chatroom.1degree.dot40
-rw-r--r--hubzilla_er/diagrams/summary/chatroom.1degree.pngbin0 -> 2205 bytes
-rw-r--r--hubzilla_er/diagrams/summary/clients.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/clients.1degree.pngbin0 -> 1415 bytes
-rw-r--r--hubzilla_er/diagrams/summary/config.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/config.1degree.pngbin0 -> 967 bytes
-rw-r--r--hubzilla_er/diagrams/summary/conv.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/summary/conv.1degree.pngbin0 -> 1637 bytes
-rw-r--r--hubzilla_er/diagrams/summary/event.1degree.dot54
-rw-r--r--hubzilla_er/diagrams/summary/event.1degree.pngbin0 -> 4763 bytes
-rw-r--r--hubzilla_er/diagrams/summary/fcontact.1degree.dot45
-rw-r--r--hubzilla_er/diagrams/summary/fcontact.1degree.pngbin0 -> 2657 bytes
-rw-r--r--hubzilla_er/diagrams/summary/ffinder.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/ffinder.1degree.pngbin0 -> 839 bytes
-rw-r--r--hubzilla_er/diagrams/summary/fserver.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/fserver.1degree.pngbin0 -> 1161 bytes
-rw-r--r--hubzilla_er/diagrams/summary/fsuggest.1degree.dot38
-rw-r--r--hubzilla_er/diagrams/summary/fsuggest.1degree.pngbin0 -> 1531 bytes
-rw-r--r--hubzilla_er/diagrams/summary/group_member.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/group_member.1degree.pngbin0 -> 1128 bytes
-rw-r--r--hubzilla_er/diagrams/summary/groups.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/groups.1degree.pngbin0 -> 1358 bytes
-rw-r--r--hubzilla_er/diagrams/summary/hook.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/hook.1degree.pngbin0 -> 1168 bytes
-rw-r--r--hubzilla_er/diagrams/summary/hubloc.1degree.dot49
-rw-r--r--hubzilla_er/diagrams/summary/hubloc.1degree.pngbin0 -> 4501 bytes
-rw-r--r--hubzilla_er/diagrams/summary/issue.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/summary/issue.1degree.pngbin0 -> 2053 bytes
-rw-r--r--hubzilla_er/diagrams/summary/item.1degree.dot102
-rw-r--r--hubzilla_er/diagrams/summary/item.1degree.pngbin0 -> 13494 bytes
-rw-r--r--hubzilla_er/diagrams/summary/item_id.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/item_id.1degree.pngbin0 -> 986 bytes
-rw-r--r--hubzilla_er/diagrams/summary/likes.1degree.dot38
-rw-r--r--hubzilla_er/diagrams/summary/likes.1degree.pngbin0 -> 1782 bytes
-rw-r--r--hubzilla_er/diagrams/summary/mail.1degree.dot50
-rw-r--r--hubzilla_er/diagrams/summary/mail.1degree.pngbin0 -> 3810 bytes
-rw-r--r--hubzilla_er/diagrams/summary/manage.1degree.dot32
-rw-r--r--hubzilla_er/diagrams/summary/manage.1degree.pngbin0 -> 909 bytes
-rw-r--r--hubzilla_er/diagrams/summary/menu.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/summary/menu.1degree.pngbin0 -> 1877 bytes
-rw-r--r--hubzilla_er/diagrams/summary/menu_item.1degree.dot40
-rw-r--r--hubzilla_er/diagrams/summary/menu_item.1degree.pngbin0 -> 2627 bytes
-rw-r--r--hubzilla_er/diagrams/summary/notify.1degree.dot44
-rw-r--r--hubzilla_er/diagrams/summary/notify.1degree.pngbin0 -> 2306 bytes
-rw-r--r--hubzilla_er/diagrams/summary/obj.1degree.dot39
-rw-r--r--hubzilla_er/diagrams/summary/obj.1degree.pngbin0 -> 2133 bytes
-rw-r--r--hubzilla_er/diagrams/summary/outq.1degree.dot41
-rw-r--r--hubzilla_er/diagrams/summary/outq.1degree.pngbin0 -> 2845 bytes
-rw-r--r--hubzilla_er/diagrams/summary/pconfig.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/pconfig.1degree.pngbin0 -> 1085 bytes
-rw-r--r--hubzilla_er/diagrams/summary/photo.1degree.dot57
-rw-r--r--hubzilla_er/diagrams/summary/photo.1degree.pngbin0 -> 5181 bytes
-rw-r--r--hubzilla_er/diagrams/summary/poll.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/poll.1degree.pngbin0 -> 1423 bytes
-rw-r--r--hubzilla_er/diagrams/summary/poll_elm.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/poll_elm.1degree.pngbin0 -> 1528 bytes
-rw-r--r--hubzilla_er/diagrams/summary/profdef.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/profdef.1degree.pngbin0 -> 1607 bytes
-rw-r--r--hubzilla_er/diagrams/summary/profext.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/profext.1degree.pngbin0 -> 1184 bytes
-rw-r--r--hubzilla_er/diagrams/summary/profile.1degree.dot73
-rw-r--r--hubzilla_er/diagrams/summary/profile.1degree.pngbin0 -> 7015 bytes
-rw-r--r--hubzilla_er/diagrams/summary/profile_check.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/profile_check.1degree.pngbin0 -> 1340 bytes
-rw-r--r--hubzilla_er/diagrams/summary/register.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/register.1degree.pngbin0 -> 1571 bytes
-rw-r--r--hubzilla_er/diagrams/summary/relationships.implied.compact.dot734
-rw-r--r--hubzilla_er/diagrams/summary/relationships.implied.compact.pngbin0 -> 108969 bytes
-rw-r--r--hubzilla_er/diagrams/summary/relationships.implied.large.dot878
-rw-r--r--hubzilla_er/diagrams/summary/relationships.implied.large.pngbin0 -> 151789 bytes
-rw-r--r--hubzilla_er/diagrams/summary/relationships.real.compact.dot22
-rw-r--r--hubzilla_er/diagrams/summary/session.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/session.1degree.pngbin0 -> 1163 bytes
-rw-r--r--hubzilla_er/diagrams/summary/shares.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/shares.1degree.pngbin0 -> 1495 bytes
-rw-r--r--hubzilla_er/diagrams/summary/sign.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/sign.1degree.pngbin0 -> 1473 bytes
-rw-r--r--hubzilla_er/diagrams/summary/site.1degree.dot42
-rw-r--r--hubzilla_er/diagrams/summary/site.1degree.pngbin0 -> 3089 bytes
-rw-r--r--hubzilla_er/diagrams/summary/source.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/source.1degree.pngbin0 -> 1602 bytes
-rw-r--r--hubzilla_er/diagrams/summary/spam.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/spam.1degree.pngbin0 -> 1195 bytes
-rw-r--r--hubzilla_er/diagrams/summary/sys_perms.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/sys_perms.1degree.pngbin0 -> 1240 bytes
-rw-r--r--hubzilla_er/diagrams/summary/term.1degree.dot40
-rw-r--r--hubzilla_er/diagrams/summary/term.1degree.pngbin0 -> 1988 bytes
-rw-r--r--hubzilla_er/diagrams/summary/tokens.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/tokens.1degree.pngbin0 -> 1441 bytes
-rw-r--r--hubzilla_er/diagrams/summary/updates.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/summary/updates.1degree.pngbin0 -> 1534 bytes
-rw-r--r--hubzilla_er/diagrams/summary/verify.1degree.dot35
-rw-r--r--hubzilla_er/diagrams/summary/verify.1degree.pngbin0 -> 1307 bytes
-rw-r--r--hubzilla_er/diagrams/summary/vote.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/vote.1degree.pngbin0 -> 1600 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xchan.1degree.dot55
-rw-r--r--hubzilla_er/diagrams/summary/xchan.1degree.pngbin0 -> 5685 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xchat.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/xchat.1degree.pngbin0 -> 1502 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xconfig.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/summary/xconfig.1degree.pngbin0 -> 1075 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xign.1degree.dot32
-rw-r--r--hubzilla_er/diagrams/summary/xign.1degree.pngbin0 -> 838 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xlink.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/summary/xlink.1degree.pngbin0 -> 2339 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xperm.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/xperm.1degree.pngbin0 -> 1193 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xprof.1degree.dot44
-rw-r--r--hubzilla_er/diagrams/summary/xprof.1degree.pngbin0 -> 3754 bytes
-rw-r--r--hubzilla_er/diagrams/summary/xtag.1degree.dot33
-rw-r--r--hubzilla_er/diagrams/summary/xtag.1degree.pngbin0 -> 1370 bytes
-rw-r--r--hubzilla_er/diagrams/sys_perms.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/sys_perms.1degree.pngbin0 -> 3279 bytes
-rw-r--r--hubzilla_er/diagrams/sys_perms.implied2degrees.dot288
-rw-r--r--hubzilla_er/diagrams/sys_perms.implied2degrees.pngbin0 -> 27284 bytes
-rw-r--r--hubzilla_er/diagrams/tokens.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/tokens.1degree.pngbin0 -> 3468 bytes
-rw-r--r--hubzilla_er/diagrams/tokens.implied2degrees.dot69
-rw-r--r--hubzilla_er/diagrams/tokens.implied2degrees.pngbin0 -> 7782 bytes
-rw-r--r--hubzilla_er/diagrams/verify.1degree.dot37
-rw-r--r--hubzilla_er/diagrams/verify.1degree.pngbin0 -> 3266 bytes
-rw-r--r--hubzilla_er/diagrams/verify.implied2degrees.dot518
-rw-r--r--hubzilla_er/diagrams/verify.implied2degrees.pngbin0 -> 81799 bytes
-rw-r--r--hubzilla_er/diagrams/xconfig.1degree.dot36
-rw-r--r--hubzilla_er/diagrams/xconfig.1degree.pngbin0 -> 3128 bytes
-rw-r--r--hubzilla_er/diagrams/xconfig.implied2degrees.dot288
-rw-r--r--hubzilla_er/diagrams/xconfig.implied2degrees.pngbin0 -> 26643 bytes
-rw-r--r--hubzilla_er/diagrams/xign.1degree.dot34
-rw-r--r--hubzilla_er/diagrams/xign.1degree.pngbin0 -> 2327 bytes
-rw-r--r--hubzilla_er/diagrams/xign.implied2degrees.dot259
-rw-r--r--hubzilla_er/diagrams/xign.implied2degrees.pngbin0 -> 22734 bytes
-rw-r--r--hubzilla_er/images/background.gifbin0 -> 311 bytes
-rw-r--r--hubzilla_er/images/tabLeft.gifbin0 -> 645 bytes
-rw-r--r--hubzilla_er/images/tabRight.gifbin0 -> 1846 bytes
-rw-r--r--hubzilla_er/index.html573
-rw-r--r--hubzilla_er/insertionOrder.txt63
-rw-r--r--hubzilla_er/jquery.js154
-rw-r--r--hubzilla_er/relationships.html174
-rw-r--r--hubzilla_er/schemaSpy.css277
-rw-r--r--hubzilla_er/schemaSpy.js97
-rw-r--r--hubzilla_er/tables/abook.html502
-rw-r--r--hubzilla_er/tables/account.html417
-rw-r--r--hubzilla_er/tables/addon.html255
-rw-r--r--hubzilla_er/tables/app.html356
-rw-r--r--hubzilla_er/tables/attach.html513
-rw-r--r--hubzilla_er/tables/auth_codes.html216
-rw-r--r--hubzilla_er/tables/cache.html215
-rw-r--r--hubzilla_er/tables/channel.html924
-rw-r--r--hubzilla_er/tables/chat.html202
-rw-r--r--hubzilla_er/tables/chatpresence.html219
-rw-r--r--hubzilla_er/tables/chatroom.html286
-rw-r--r--hubzilla_er/tables/clients.html224
-rw-r--r--hubzilla_er/tables/config.html231
-rw-r--r--hubzilla_er/tables/conv.html270
-rw-r--r--hubzilla_er/tables/event.html507
-rw-r--r--hubzilla_er/tables/fcontact.html358
-rw-r--r--hubzilla_er/tables/ffinder.html232
-rw-r--r--hubzilla_er/tables/fserver.html216
-rw-r--r--hubzilla_er/tables/fsuggest.html259
-rw-r--r--hubzilla_er/tables/group_member.html232
-rw-r--r--hubzilla_er/tables/groups.html260
-rw-r--r--hubzilla_er/tables/hook.html221
-rw-r--r--hubzilla_er/tables/hubloc.html433
-rw-r--r--hubzilla_er/tables/issue.html242
-rw-r--r--hubzilla_er/tables/item.html1315
-rw-r--r--hubzilla_er/tables/item_id.html249
-rw-r--r--hubzilla_er/tables/likes.html321
-rw-r--r--hubzilla_er/tables/mail.html517
-rw-r--r--hubzilla_er/tables/manage.html205
-rw-r--r--hubzilla_er/tables/menu.html236
-rw-r--r--hubzilla_er/tables/menu_item.html268
-rw-r--r--hubzilla_er/tables/notify.html434
-rw-r--r--hubzilla_er/tables/obj.html269
-rw-r--r--hubzilla_er/tables/outq.html309
-rw-r--r--hubzilla_er/tables/pconfig.html235
-rw-r--r--hubzilla_er/tables/photo.html556
-rw-r--r--hubzilla_er/tables/poll.html202
-rw-r--r--hubzilla_er/tables/poll_elm.html196
-rw-r--r--hubzilla_er/tables/profdef.html242
-rw-r--r--hubzilla_er/tables/profext.html264
-rw-r--r--hubzilla_er/tables/profile.html728
-rw-r--r--hubzilla_er/tables/profile_check.html266
-rw-r--r--hubzilla_er/tables/register.html254
-rw-r--r--hubzilla_er/tables/session.html185
-rw-r--r--hubzilla_er/tables/shares.html191
-rw-r--r--hubzilla_er/tables/sign.html248
-rw-r--r--hubzilla_er/tables/site.html332
-rw-r--r--hubzilla_er/tables/source.html202
-rw-r--r--hubzilla_er/tables/spam.html250
-rw-r--r--hubzilla_er/tables/sys_perms.html236
-rw-r--r--hubzilla_er/tables/term.html304
-rw-r--r--hubzilla_er/tables/tokens.html245
-rw-r--r--hubzilla_er/tables/updates.html242
-rw-r--r--hubzilla_er/tables/verify.html383
-rw-r--r--hubzilla_er/tables/vote.html202
-rw-r--r--hubzilla_er/tables/xchan.html511
-rw-r--r--hubzilla_er/tables/xchat.html208
-rw-r--r--hubzilla_er/tables/xconfig.html254
-rw-r--r--hubzilla_er/tables/xign.html215
-rw-r--r--hubzilla_er/tables/xlink.html247
-rw-r--r--hubzilla_er/tables/xperm.html191
-rw-r--r--hubzilla_er/tables/xprof.html360
-rw-r--r--hubzilla_er/tables/xtag.html191
-rwxr-xr-xhubzilla_er/updateschemaspy.sh5
-rw-r--r--hubzilla_er/utilities.html334
-rw-r--r--hubzilla_er/zot.xml2477
-rw-r--r--images/.directory3
-rw-r--r--include/ItemObject.php15
-rw-r--r--include/RedDAV/RedDirectory.php21
-rw-r--r--include/RedDAV/RedFile.php2
-rw-r--r--include/acl_selectors.php2
-rw-r--r--include/api.php98
-rw-r--r--include/api_auth.php95
-rw-r--r--include/auth.php1
-rw-r--r--include/bbcode.php32
-rw-r--r--include/conversation.php13
-rw-r--r--include/datetime.php23
-rwxr-xr-xinclude/dba/dba_driver.php2
-rw-r--r--include/deliver.php12
-rw-r--r--include/dir_fns.php13
-rw-r--r--include/enotify.php3
-rw-r--r--include/features.php1
-rw-r--r--include/identity.php27
-rw-r--r--include/import.php8
-rwxr-xr-xinclude/items.php28
-rw-r--r--include/network.php47
-rw-r--r--include/notifier.php2
-rw-r--r--include/photo/photo_driver.php11
-rw-r--r--include/system_unavailable.php3
-rw-r--r--include/taxonomy.php21
-rw-r--r--include/text.php37
-rw-r--r--include/widgets.php114
-rw-r--r--include/zot.php23
-rwxr-xr-xindex.php4
-rw-r--r--install/schema_postgres.sql15
-rw-r--r--install/update.php20
-rw-r--r--library/bootstrap/css/bootstrap-theme.css139
-rw-r--r--library/bootstrap/css/bootstrap-theme.min.css4
-rw-r--r--library/bootstrap/css/bootstrap.css368
-rw-r--r--library/bootstrap/css/bootstrap.min.css4
-rw-r--r--library/bootstrap/js/bootstrap.js240
-rw-r--r--library/bootstrap/js/bootstrap.min.js8
-rw-r--r--library/datetimepicker/jquery.datetimepicker.css645
-rw-r--r--library/datetimepicker/jquery.datetimepicker.js576
-rw-r--r--library/fullcalendar/CHANGELOG.txt905
-rw-r--r--library/fullcalendar/CONTRIBUTING.txt128
-rw-r--r--library/fullcalendar/GPL-LICENSE.txt278
-rw-r--r--library/fullcalendar/LICENSE.txt (renamed from library/fullcalendar/MIT-LICENSE.txt)2
-rw-r--r--library/fullcalendar/changelog.txt342
-rw-r--r--library/fullcalendar/fullcalendar.css1374
-rw-r--r--library/fullcalendar/fullcalendar.js15065
-rw-r--r--library/fullcalendar/fullcalendar.min.css5
-rw-r--r--library/fullcalendar/fullcalendar.min.js12
-rw-r--r--library/fullcalendar/fullcalendar.print.css210
-rw-r--r--library/fullcalendar/gcal.js215
-rw-r--r--library/fullcalendar/lang-all.js4
-rw-r--r--library/fullcalendar/license.txt20
-rw-r--r--library/moment/CHANGELOG.md459
-rw-r--r--library/moment/LICENSE22
-rw-r--r--library/moment/README.md58
-rw-r--r--library/moment/moment.js3195
-rw-r--r--library/moment/moment.min.js7
-rw-r--r--mod/acl.php2
-rw-r--r--mod/admin.php12
-rw-r--r--mod/attach.php5
-rw-r--r--mod/channel.php2
-rw-r--r--mod/connedit.php25
-rw-r--r--mod/directory.php2
-rw-r--r--mod/dirsearch.php12
-rw-r--r--mod/dreport.php5
-rw-r--r--mod/editpost.php16
-rwxr-xr-xmod/events.php354
-rw-r--r--mod/ffsapi.php8
-rw-r--r--mod/import.php24
-rw-r--r--mod/invite.php2
-rw-r--r--mod/item.php47
-rw-r--r--mod/network.php4
-rw-r--r--mod/page.php4
-rw-r--r--mod/profile_photo.php3
-rw-r--r--mod/profiles.php16
-rw-r--r--mod/search.php3
-rw-r--r--mod/search_ac.php5
-rw-r--r--mod/settings.php5
-rw-r--r--mod/siteinfo.php4
-rwxr-xr-xmod/subthread.php12
-rw-r--r--mod/tagger.php2
-rw-r--r--tests/text_test.php31
-rw-r--r--util/hmessages.po4094
-rw-r--r--util/messages.po12
-rwxr-xr-xutil/schemaspy9
-rw-r--r--version.inc2
-rw-r--r--view/css/bootstrap-red.css11
-rw-r--r--view/css/conversation.css1
-rw-r--r--view/css/mod_events.css58
-rw-r--r--view/es/hmessages.po4368
-rw-r--r--view/es/hstrings.php766
-rw-r--r--view/js/acl.js46
-rw-r--r--view/js/main.js21
-rw-r--r--view/js/mod_events.js34
-rw-r--r--view/nl/hmessages.po4364
-rw-r--r--view/nl/hstrings.php762
-rw-r--r--view/pdl/mod_events.pdl1
-rw-r--r--view/theme/redbasic/css/style.css66
-rw-r--r--view/theme/redbasic/schema/bluegrid.css10
-rw-r--r--view/theme/redbasic/schema/dark.css4
-rwxr-xr-xview/tpl/acl_selector.tpl32
-rwxr-xr-xview/tpl/conv_item.tpl4
-rwxr-xr-xview/tpl/event.tpl24
-rwxr-xr-xview/tpl/event_form.tpl291
-rwxr-xr-xview/tpl/event_head.tpl97
-rwxr-xr-xview/tpl/events-js.tpl60
-rwxr-xr-xview/tpl/events_side.tpl8
-rw-r--r--view/tpl/hdr.tpl2
-rwxr-xr-xview/tpl/invite.tpl2
-rwxr-xr-xview/tpl/jot-header.tpl30
-rwxr-xr-xview/tpl/jot.tpl10
-rwxr-xr-xview/tpl/photo_album.tpl2
-rwxr-xr-xview/tpl/profile_vcard.tpl2
-rwxr-xr-xview/tpl/pwdreset.tpl2
-rwxr-xr-xview/tpl/settings.tpl1
525 files changed, 116755 insertions, 14402 deletions
diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy
index 7b4c9f477..f3f187d43 100755
--- a/.openshift/action_hooks/deploy
+++ b/.openshift/action_hooks/deploy
@@ -185,7 +185,6 @@ util/config system expire_delivery_reports 3
util/config system feed_contacts 0
util/config system diaspora_enabled 0
util/config system disable_discover_tab 1
-util/config system directory_server https://blablanet.com
util/config directory safemode 0
util/config directory globaldir 1
util/config directory pubforums 0
@@ -199,3 +198,8 @@ util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git HubzillaAdd
echo "Try to add or update Hubzilla themes"
cd ${OPENSHIFT_REPO_DIR}
util/add_theme_repo https://github.com/DeadSuperHero/redmatrix-themes.git DeadSuperHeroThemes
+
+# Hubzilla ownMapp
+echo "Try to add or update Hubzilla ownMapp"
+cd ${OPENSHIFT_REPO_DIR}
+util/add_addon_repo https://gitlab.com/zot/ownmapp.git ownMapp
diff --git a/boot.php b/boot.php
index 1faeaf15a..8d99c300e 100755
--- a/boot.php
+++ b/boot.php
@@ -50,7 +50,8 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'H');
define ( 'ZOT_REVISION', 1 );
-define ( 'DB_UPDATE_VERSION', 1159 );
+define ( 'DB_UPDATE_VERSION', 1160 );
+
/**
* @brief Constant with a HTML line break.
@@ -82,6 +83,7 @@ $DIRECTORY_FALLBACK_SERVERS = array(
'https://hubzilla.site',
'https://red.zottel.red',
'https://gravizot.de',
+ 'https://blablanet.com',
'https://my.federated.social'
);
@@ -421,6 +423,7 @@ define ( 'TERM_SAVEDSEARCH', 6 );
define ( 'TERM_THING', 7 );
define ( 'TERM_BOOKMARK', 8 );
define ( 'TERM_HIERARCHY', 9 );
+define ( 'TERM_COMMUNITYTAG', 10 );
define ( 'TERM_OBJ_POST', 1 );
define ( 'TERM_OBJ_PHOTO', 2 );
@@ -936,26 +939,6 @@ class App {
return $this->groups;
}
- function set_widget($title,$html, $location = 'aside') {
- $this->widgets[] = array('title' => $title, 'html' => $html, 'location' => $location);
- }
-
- function get_widgets($location = '') {
- if($location && count($this->widgets)) {
- $ret = array();
- foreach($this->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);
- call_hooks('get_widgets', $arr);
- return $arr['widgets'];
- }
-
function set_pager_total($n) {
$this->pager['total'] = intval($n);
}
@@ -2075,15 +2058,8 @@ function construct_page(&$a) {
$a->build_pagehead();
- $arr = $a->get_widgets();
- ksort($arr, SORT_NUMERIC);
- if(count($arr)) {
- foreach($arr as $x) {
- if(! array_key_exists($x['location'], $a->page))
- $a->page[$x['location']] = '';
-
- $a->page[$x['location']] .= $x['html'];
- }
+ if($a->page['pdl_content']) {
+ $a->page['content'] = comanche_region($a,$a->page['content']);
}
// Let's say we have a comanche declaration '[region=nav][/region][region=content]$nav $content[/region]'.
@@ -2100,6 +2076,7 @@ function construct_page(&$a) {
call_hooks('construct_page', $arr);
$a->layout = $arr['layout'];
+
foreach($a->layout as $k => $v) {
if((strpos($k, 'region_') === 0) && strlen($v)) {
if(strpos($v, '$region_') !== false) {
diff --git a/doc/Widgets.md b/doc/Widgets.md
index 7acd9241b..7c506dea7 100644
--- a/doc/Widgets.md
+++ b/doc/Widgets.md
@@ -108,6 +108,13 @@ Some/many of these widgets have restrictions which may restrict the type of page
<br />&nbsp;<br />
+* album - provides a widget containing a complete photo album from albums belonging to the page owner; this may be too large to present in a sidebar region as is best implemented as a content region widget.
+ * args:
+ * album - album name
+ * title - optional title, album name is used if not present
+<br />&nbsp;<br />
+
+
Creating New Widgets
====================
diff --git a/doc/api/statuses_update.bb b/doc/api/statuses_update.bb
new file mode 100644
index 000000000..acad440de
--- /dev/null
+++ b/doc/api/statuses_update.bb
@@ -0,0 +1,23 @@
+[h2]statuses/update[/h2]
+Parameters
+
+ title: Title of the status
+ status: Status in text [or bbcode] format
+ htmlstatus: Status in HTML format
+ in_reply_to_status_id
+ lat: latitude
+ long: longitude
+ media: image data
+ source: Application name
+ group_allow
+ contact_allow
+ group_deny
+ contact_deny
+
+
+Example
+
+[code]
+curl -u theUsername:thePassword http://mywebsite/api/statuses/update.xml -d status='Hello world'
+[/code]
+
diff --git a/doc/bbcode.html b/doc/bbcode.html
index 4fe47842f..3e9bda1d9 100644
--- a/doc/bbcode.html
+++ b/doc/bbcode.html
@@ -7,11 +7,11 @@
<li>[u]underlined[/u] - <u>underlined</u><br />
<li>[s]strike[/s] - <strike>strike</strike><br />
<li>[color=red]red[/color] - <span style="color: red;">red</span><br />
-<li>[url=https://redmatrix.me]$Projectname[/url] <a href="https://redmatrix.me">$Projectname</a><br />
-<li>[img]https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg" alt="Image/photo" /><br />
-<li>[img float=left]https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg" style="float:left;" alt="Image/photo" /><br />
+<li>[url=https://zothub.com]$Projectname[/url] <a href="https://zothub.com">$Projectname</a><br />
+<li>[img]https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg" alt="Image/photo" /><br />
+<li>[img float=left]https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg" style="float:left;" alt="Image/photo" /><br />
<div style="clear:both;"></div>
-<li>[img float=right]https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://redmatrix.me/images/default_profile_photos/rainbow_man/48.jpg" style="float:right;" alt="Image/photo" /><br />
+<li>[img float=right]https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg[/img] <img src="https://zothub.com/images/default_profile_photos/rainbow_man/48.jpg" style="float:right;" alt="Image/photo" /><br />
<div style="clear:both;"></div>
<li>[code]code[/code] <code>code</code><br />
<li>[quote]quote[/quote] <blockquote>quote</blockquote><br />
@@ -50,8 +50,8 @@
<p>$Projectname specific codes</p>
<ul class="listbullet" style="list-style-type: circle;">
<li>[&amp;copy;] &copy; This works for many HTML entities</li>
-<li>[zrl]https://redmatrix.me[/zrl] Magic-auth version of [url] tag</li>
-<li>[zmg]https://redmatrix.me/some/photo.jpg[/zmg] Magic-auth version of [img] tag<br /></li>
+<li>[zrl]https://zothub.com[/zrl] Magic-auth version of [url] tag</li>
+<li>[zmg]https://zothub.com/some/photo.jpg[/zmg] Magic-auth version of [img] tag<br /></li>
<li>[observer=1]Text to display if observer is authenticated in the matrix[/observer]</li>
<li>[observer=0]Text to display if observer is <strong>not</strong> authenticated in the matrix[/observer]</li>
diff --git a/doc/database/db_abook.bb b/doc/database/db_abook.bb
index a34e51996..2e4b9c4a7 100644
--- a/doc/database/db_abook.bb
+++ b/doc/database/db_abook.bb
@@ -27,29 +27,21 @@
[/td][/tr]
[tr][td]abook_dob[/td][td]Datetime of connection's birthday converted from *their* timezone to UTC[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]abook_flags[/td][td]Bitfield containing blocked(0x1), ignored(0x2), hidden(0x4), archived(0x8), pending(0x10), unconnected(0x20), self(0x80), feed(0x100)[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_flags[/td][td]No longer used[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
[tr][td]abook_profile[/td][td]profile.guid of profile to display to this connection if authenticated[/td][td]char(64)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
+[tr][td]abook_blocked[/td][td]Bi-directional communications with this channel are blocked, regardless of other permissions. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_ignored[/td][td]Incoming communications from this channel are blocked, regardless of other permissions. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_hidden[/td][td]This connection will not be shown as a connection to anybody but the channel owner[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_archived[/td][td]This connection is likely non-functioning and the entry and conversations are preserved, but further polled communications will not be attempted. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_pending[/td][td]A connection request was received from this channel but has not been approved by the channel owner, public communications may still be visible but no additional permissions have been granted. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_unconnected[/td][td]currently unused. Projected usage is to indicate "one-way" connections which were insitgated on this end but are still pending on the remote end. [/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_self[/td][td]is a special case where the owner is the target. Every channel has one abook entry with abook_self and with a target abook_xchan set to channel.channel_hash . When this flag is present, abook_my_perms is the default permissions granted to all new connections and several other fields are unused.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_feed[/td][td]indicates this connection is an RSS/Atom feed and may trigger special handling.[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_incl[/td][td]connection filter allow rules separated by LF[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]abook_excl[/td][td]connection filter deny rules separated by LF[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/table]
-Notes:
-
-ABOOK_FLAGS_BLOCKED - Bi-directional communications with this channel are blocked, regardless of other permissions.
-
-ABOOK_FLAGS_IGNORED - Incoming communications from this channel are blocked, regardless of other permissions.
-
-ABOOK_FLAGS_HIDDEN - This connection will not be shown as a connection to anybody but the channel owner
-
-ABOOK_FLAGS_ARCHIVED - This connection is likely non-functioning and the entry and conversations are preserved, but further polled communications will not be attempted.
-
-ABOOK_FLAGS_PENDING - A connection request was received from this channel but has not been approved by the channel owner, public communications may still be visible but no additional permissions have been granted.
-
-ABOOK_FLAGS_UNCONNECTED - currently unused. Projected usage is to indicate "one-way" connections which were insitgated on this end but are still pending on the remote end.
-
-ABOOK_FLAGS_SELF is a special case where the owner is the target. Every channel has one abook entry with ABOOK_FLAGS_SELF with a target abook_xchan set to channel.channel_hash . When this flag is present, abook_my_perms is the default permissions granted to all new connections and several other fields are unused.
-
-ABOOK_FLAGS_FEED - indicates this connection is an RSS/Atom feed and may trigger special handling.
-
Return to [zrl=[baseurl]/help/database]database documentation[/zrl] \ No newline at end of file
diff --git a/doc/database/db_attach.bb b/doc/database/db_attach.bb
index 4514c87f8..7d2befb47 100644
--- a/doc/database/db_attach.bb
+++ b/doc/database/db_attach.bb
@@ -21,7 +21,15 @@
[/td][/tr]
[tr][td]folder[/td][td]attach.hash of parent folder[/td][td]char(64)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]flags[/td][td]see notes[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]flags[/td][td]no longer used[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]is_dir[/td][td]0 (file) or 1 to indicate a directory[/td][td]tinyint[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]is_photo[/td][td]if 1, a photo is linked to this resource[/td][td]tinyint[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]os_storage[/td][td]if 0, data contains content; if 1 data contains path to content (always 1 in hubzilla)[/td][td]tinyint[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]display_path[/td][td]under construction, store the human readable path[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
[tr][td]data[/td][td]file data or pathname to stored data if ATTACH_FLAG_OS[/td][td]longblob[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
@@ -39,12 +47,6 @@
[/td][/tr]
[/table]
-
-Bitmasks
-
-define ( 'ATTACH_FLAG_DIR', 0x0001); This is a directory
-define ( 'ATTACH_FLAG_OS', 0x0002); Data content is link to OS file containing data, if unset the data filed contains the file data
-
permissions are xchan_hash or group_hash surrounded by angle chars. e.g. '<abc123><xyz789>'
Return to [zrl=[baseurl]/help/database]database documentation[/zrl] \ No newline at end of file
diff --git a/doc/database/db_channel.bb b/doc/database/db_channel.bb
index 215db3fb7..6f53517d8 100644
--- a/doc/database/db_channel.bb
+++ b/doc/database/db_channel.bb
@@ -1,96 +1,100 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]channel_id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]channel_id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]channel_account_id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]channel_account_id[/td][td]account.id of the account owning this channel[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]channel_primary[/td][td][/td][td]tinyint(1) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]channel_primary[/td][td]1 = this is the primary instance of this channel[/td][td]tinyint(1) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]channel_name[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]channel_name[/td][td]Name that this channel is known by[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_address[/td][td][/td][td]char(255)[/td][td]NO[/td][td]UNI[/td][td][/td][td]
+[tr][td]channel_address[/td][td]"username" or URL-and-email safe nickname[/td][td]char(255)[/td][td]NO[/td][td]UNI[/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_guid[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]channel_guid[/td][td]Long hash representing a psuedo-unique ID, does not have ot be globally unique[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_guid_sig[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]channel_guid_sig[/td][td]channel.gui signed with channel.prvkey and base64url_encoded[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]channel_hash[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]channel_hash[/td][td]base64url_encode of a 64-char whirlpool hash of channel.guid and channel_guid_sig concatenated, synonymous with xchan_hash.[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_timezone[/td][td][/td][td]char(128)[/td][td]NO[/td][td]MUL[/td][td]UTC[/td][td]
+[tr][td]channel_timezone[/td][td]PHP-legal timezone[/td][td]char(128)[/td][td]NO[/td][td]MUL[/td][td]UTC[/td][td]
[/td][/tr]
-[tr][td]channel_location[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]channel_location[/td][td]Default for item.location[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_theme[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]channel_theme[/td][td]channel theme preference[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_startpage[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]channel_startpage[/td]relative site URL to visit after logging in[td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_pubkey[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]channel_pubkey[/td][td]RSA public key 4096 bit[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]channel_prvkey[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]channel_prvkey[/td][td]RSA private key 4096 bit[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]channel_notifyflags[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]65535[/td][td]
+[tr][td]channel_notifyflags[/td][td]bifield representing what notification types are active[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]65535[/td][td]
[/td][/tr]
-[tr][td]channel_pageflags[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]channel_pageflags[/td][td]bitfield of special channel uses[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]channel_dirdate[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]channel_dirdate[/td][td]time when directory was last pinged. Must do this once a month[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]channel_deleted[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]channel_deleted[/td][td]time when channel was deleted[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]channel_max_anon_mail[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]10[/td][td]
+[tr][td]channel_max_anon_mail[/td][td]unused[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]10[/td][td]
[/td][/tr]
-[tr][td]channel_max_friend_req[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]10[/td][td]
+[tr][td]channel_max_friend_req[/td][td]unused[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]10[/td][td]
[/td][/tr]
-[tr][td]channel_expire_days[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]channel_expire_days[/td][td]expire imported content that hasn't been otherwise protected after this many days, 0 is no expiration[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]channel_passwd_reset[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]channel_passwd_reset[/td][td]password reset token[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_default_group[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]channel_default_group[/td][td]put all new connections into the group with this name[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]channel_allow_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]channel_allow_cid[/td][td]Default permissions for this channel[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]channel_allow_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]channel_allow_gid[/td][td]Default permissions for this channel[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]channel_deny_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]channel_deny_cid[/td][td]Default permissions for this channel[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]channel_deny_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]channel_deny_gid[/td][td]Default permissions for this channel[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]channel_r_stream[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_r_stream[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_r_profile[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_r_profile[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_r_photos[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_r_photos[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_r_abook[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_r_abook[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_stream[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_stream[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_wall[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_wall[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_tagwall[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_tagwall[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_comment[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_comment[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_mail[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_mail[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_photos[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_photos[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_chat[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_chat[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_a_delegate[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]channel_a_delegate[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]channel_r_storage[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_r_storage[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_storage[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_storage[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_r_pages[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_r_pages[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_pages[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_pages[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_a_republish[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_a_republish[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
-[tr][td]channel_w_like[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[tr][td]channel_w_like[/td][td]specific permission bitfield[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[/td][/tr]
+[tr][td]channel_removed[/td][td]if 1, this channel has been deleted[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
+[/td][/tr]
+[tr][td]channel_system[/td][td]if 1, this is the special system channel on this site[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]128[/td][td]
[/td][/tr]
[/table]
-Return to [zrl=[baseurl]/help/database]database documentation[/zrl] \ No newline at end of file
+Return to [zrl=[baseurl]/help/database]database documentation[/zrl]
diff --git a/doc/database/db_chat.bb b/doc/database/db_chat.bb
index 6221f36e2..1aac2bd15 100644
--- a/doc/database/db_chat.bb
+++ b/doc/database/db_chat.bb
@@ -1,15 +1,15 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]chat_id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]chat_id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]chat_room[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]chat_room[/td][td]chatroom.cr_id for this chat[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]chat_xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]chat_xchan[/td][td]author xchan_hash[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]chat_text[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]chat_text[/td][td]the text of the chat message[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]created[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]created[/td][td]timestamp of this message[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_chatpresence.bb b/doc/database/db_chatpresence.bb
index cdc948a60..28cd6f207 100644
--- a/doc/database/db_chatpresence.bb
+++ b/doc/database/db_chatpresence.bb
@@ -1,17 +1,17 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]cp_id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]cp_id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]cp_room[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]cp_room[/td][td]chatroom.cr_id of the chatroom[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]cp_xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]cp_xchan[/td][td]xchan_hash of the chatroom participant[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]cp_last[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]cp_last[/td][td]datetime last ping[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]cp_status[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]cp_status[/td][td]text status description e.g. "online"[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]cp_client[/td][td][/td][td]char(128)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]cp_client[/td][td][/td]IP address of this client[td]char(128)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_chatroom.bb b/doc/database/db_chatroom.bb
index b2da762cf..1d316288d 100644
--- a/doc/database/db_chatroom.bb
+++ b/doc/database/db_chatroom.bb
@@ -1,27 +1,27 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]cr_id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]cr_id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]cr_aid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]cr_aid[/td][td]account.id of chatroom owner[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]cr_uid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]cr_uid[/td][td]channel.channel_id of chatroom owner[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]cr_name[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]cr_name[/td][td]visible name of chatroom[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]cr_created[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]cr_created[/td][td]creation timestampe[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]cr_edited[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]cr_edited[/td][td]edited timestamp[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]cr_expire[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]cr_expire[/td][td]expiration period for chats in this chatroom in minutes, 0 is no expiration[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]allow_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]allow_cid[/td][td]permissions for this room[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]allow_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]allow_gid[/td][td]permissions for this room[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]deny_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]deny_cid[/td][td]permissions for this room[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]deny_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]deny_gid[/td][td]permissions for this room[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_conv.bb b/doc/database/db_conv.bb
index ba1ba7f01..5adfa8c80 100644
--- a/doc/database/db_conv.bb
+++ b/doc/database/db_conv.bb
@@ -1,21 +1,24 @@
+
+Used in Diaspora private mails
+
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]guid[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]guid[/td][td]A unique identifier for this conversation[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]recips[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]recips[/td][td]sender_handle;recipient_handle[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]uid[/td][td][/td][td]int(11)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]uid[/td][td]channel.channel_id of the owner of this data[/td][td]int(11)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]creator[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]creator[/td][td]handle of creator[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]created[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]created[/td][td]creation timestamp[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]updated[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]updated[/td][td]edited timestamp[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]subject[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]subject[/td][td]subject of initial message (obscured for privacy)[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_group_member.bb b/doc/database/db_group_member.bb
index d31fa1edb..b9ab8171d 100644
--- a/doc/database/db_group_member.bb
+++ b/doc/database/db_group_member.bb
@@ -1,13 +1,13 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]uid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]uid[/td][td]channel.channel_id of the owner of this data[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]gid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]gid[/td][td]groups.id of the associated group[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan[/td][td]xchan.xchan_hash of the member assigned to the associated group[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_groups.bb b/doc/database/db_groups.bb
index 03e4fe2d7..078d96464 100644
--- a/doc/database/db_groups.bb
+++ b/doc/database/db_groups.bb
@@ -1,17 +1,17 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]hash[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]hash[/td][td]unique hash representing this group with the group name appended[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]uid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]uid[/td][td]channel.channel_id owning this data[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]visible[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]visible[/td][td]1 indicates the member list is not private[/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]deleted[/td][td][/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]deleted[/td][td]1 indicates the group has been deleted[/td][td]tinyint(1)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]name[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]name[/td][td]human readable name of group[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_hook.bb b/doc/database/db_hook.bb
index 6e8e907a1..0812b1b41 100644
--- a/doc/database/db_hook.bb
+++ b/doc/database/db_hook.bb
@@ -1,15 +1,15 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]id[/td][td][/td][td]int(11)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]id[/td][td]sequential ID[/td][td]int(11)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]hook[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]hook[/td][td]name of hook[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]file[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]file[/td][td]relative filename of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]function[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]function[/td][td]function name of hook handler[/td][td]char(255)[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]priority[/td][td][/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
+[tr][td]priority[/td][td]not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order[/td][td]int(11) unsigned[/td][td]NO[/td][td][/td][td]0[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_item.bb b/doc/database/db_item.bb
index b31823d6c..e4e594196 100644
--- a/doc/database/db_item.bb
+++ b/doc/database/db_item.bb
@@ -1,104 +1,151 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]id[/td][td]Sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]mid[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]mid[/td][td]Message-id - globally unique, there can be several items with the same message-ID in the table as they may have different uid owners[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]aid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]aid[/td][td]channel_account_id of the channel_id (uid) which owns this copy of the item[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]uid[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]uid[/td][td]channel_id (uid) which owns this copy of the item[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]parent[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]parent[/td][td]item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]parent_mid[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]parent_mid[/td][td]Globally unique message-id of the parent to this item[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]thr_parent[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]thr_parent[/td][td]If the parent of this item is not the top-level item in the conversation, the message-id of the immediate parent; otherwise set to parent_mid[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]created[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]created[/td][td]Creation timestamp. If creation is more than ten minutes into the future, set item_delayed to 1; it will automatically be delivered by the poller once the created time has passed[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]edited[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]edited[/td][td]Date of last edit (default is created)[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]expires[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]expires[/td][td]Date this item expires and will be removed[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]commented[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]commented[/td][td]Date of last comment/reply to this item[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]received[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]received[/td][Date the item was received at this sitetd][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]changed[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]changed[/td][td]Date that something in the conversation changed, indicating clients should fetch the conversation again[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]comments_closed[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]comments_closed[/td][td]Date after which no more comments will be accepted[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]owner_xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]owner_xchan[/td][td]xchan_hash of the owner of this conversation (this is who replies are sent to)[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]author_xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]author_xchan[/td][td]xchan_hash of the author of this item[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]source_xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]source_xchan[/td][td]xchan_hash of the external source of this item belongs to multiple delivery chains and comments need to be uplinked[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]mimetype[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]mimetype[/td][td]mime type of the content body[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]title[/td][td][/td][td]text[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]title[/td][td]item title[/td][td]text[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]body[/td][td][/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]body[/td][td]item body content[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]app[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]app[/td][td]application which generated this item[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]lang[/td][td][/td][td]char(64)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]lang[/td][td]auto-detected language[/td][td]char(64)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]revision[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]revision[/td][td]future use, version control[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]verb[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]verb[/td][td]ActivityStreams verb (old style URI)[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]obj_type[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]obj_type[/td][td]ActivityStreams object type (old style URI)[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]object[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]object[/td][td]JSON encoded object structure unless it is an implied object (normal post)[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]tgt_type[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]tgt_type[/td][td]ActivityStreams target type if applicable (URI)[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]target[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]target[/td][td]JSON encoded target structure if used[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]layout_mid[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]layout_mid[/td][td]For webpages, which layout (mid or message_id) to use when displaying this page[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]postopts[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]postopts[/td][td]External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]route[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]route[/td][td]comma separated xchan list of xchans where this message was routed on its way to this destination, used for route loop discovery and rejection of comments which arrived by alternate routes and may have different permissions[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]llink[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]llink[/td][td]URL of a displayable copy of this post/conversation on this site[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]plink[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]plink[/td][td]permalink or URL toa displayable copy of the message at its source[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]resource_id[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]resource_id[/td][td]Used to link other tables to items, it identifies the linked resource and if set must also set resource_type[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]resource_type[/td][td][/td][td]char(16)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]resource_type[/td][td]default none, if a linked resource this should be the name of the resource type such as "photo" or "event"[/td][td]char(16)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]attach[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]attach[/td][td]JSON structure representing attachments to this item[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]sig[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]sig[/td][td]RSA signature of the item body by the original author if the private key is available[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]diaspora_meta[/td][td][/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]diaspora_meta[/td][td]Used to store Diaspora comment signatures with their weird requirements[/td][td]mediumtext[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]location[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]location[/td][td]text location where this item originated[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]coord[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]coord[/td][td] longitude/latitude pair representing location where this item originated[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]public_policy[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]public_policy[/td][td]If the author has specified restrictions (this network, this site) etc. for distribution, the corresponding policy text is present here and item_private = 1[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]comment_policy[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]comment_policy[/td][td]If the author has specified comment restrictions (thei network, this site, etc.) the corresponding policy text is present here[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]allow_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]allow_cid[/td][td]Access Control - list of allowed xchans '<xchan1><xchan2>...'[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]allow_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]allow_gid[/td]Access Control - list of allowed group hashes, see allow_cid[td][/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]deny_cid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]deny_cid[/td][td]Access Control - list of denied xchans[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]deny_gid[/td][td][/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]deny_gid[/td][td]Access Control - list of denied groups[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]item_restrict[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]item_restrict[/td]no longer used[td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]item_flags[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]item_flags[/td][td]no longer used[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]item_private[/td][td][/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]item_private[/td][td]distribution is restricted[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
+[tr][td]item_origin[/td][td]item originated at this site[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_unseen[/td][td]item has not been seen[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_starred[/td][td]item has been favourited[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_uplink[/td][td]This item is part of a multiple delivery chain and must be uplinked to the original sender (source_xchan)[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_consensus[/td][td]This item allows voting tools[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_wall[/td][td]This item was posted to the wall of uid[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_thread_top[/td][td]parent = id, this is the top post in a conversation [/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_notshown[/td][td][/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_nsfw[/td][td][/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_relay[/td][td][/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_mentionsme[/td][td]The owner of this item was mentioned in it[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_nocomment[/td][td]if 1, no comments are allowed[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_obscured[/td][td]no longer used[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_verified[/td][td]the signature has been verified on this site[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_retained[/td][td][/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_rss[/td][td]item originated in a feed[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_deleted[/td][td]item has been deleted[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_type[/td][td]used to identify webpage and design element types, 0 is a normal conversation item[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_hidden[/td][td]0 or 1 if item is not to be displayed[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_unpublished[/td][td][/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_delayed[/td][td]item is posted in the future[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_pending_remove[/td][td]item is in the process of being removed[/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]item_blocked[/td][td][/td][td]tinyint(4)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+
[/table]
Return to [zrl=[baseurl]/help/database]database documentation[/zrl] \ No newline at end of file
diff --git a/doc/database/db_item_id.bb b/doc/database/db_item_id.bb
index b77ae2d1a..ba4cca247 100644
--- a/doc/database/db_item_id.bb
+++ b/doc/database/db_item_id.bb
@@ -1,15 +1,15 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]iid[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]iid[/td][td]item.id of the referenced item[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]uid[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]uid[/td][td]channel.channel_id of the owner of this data[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]sid[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]sid[/td][td]an additional identifier to attach or link to the referenced item (often used to store a message_id from another system in order to suppress duplicates)[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]service[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
+[tr][td]service[/td][td]the name or description of the service which generated this identifier[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td]NULL[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_xchan.bb b/doc/database/db_xchan.bb
index fd1d68296..8932969c5 100644
--- a/doc/database/db_xchan.bb
+++ b/doc/database/db_xchan.bb
@@ -1,44 +1,59 @@
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]xchan_hash[/td][td][/td][td]char(255)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]
+[tr][td]xchan_hash[/td][td]calculated hash of this extended channel[/td][td]char(255)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]xchan_guid[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_guid[/td][td]channel_guid of this extended channel[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_guid_sig[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]xchan_guid_sig[/td][td]base64url encoded signature of the guid[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]xchan_pubkey[/td][td][/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
+[tr][td]xchan_pubkey[/td][td]public key for verifying signed data and assertions[/td][td]text[/td][td]NO[/td][td][/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]xchan_photo_mimetype[/td][td][/td][td]char(32)[/td][td]NO[/td][td][/td][td]image/jpeg[/td][td]
+[tr][td]xchan_photo_mimetype[/td][td]mimetype of the profile photo[/td][td]char(32)[/td][td]NO[/td][td][/td][td]image/jpeg[/td][td]
[/td][/tr]
-[tr][td]xchan_photo_l[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]xchan_photo_l[/td][td]photo url 300px[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_photo_m[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]xchan_photo_m[/td][td]photo url 80 px[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_photo_s[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]xchan_photo_s[/td][td]photo url 48 px[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_addr[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_addr[/td][td]user@host[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_url[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_url[/td][td]url of channel page on primary hub location[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_connurl[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_connurl[/td]poco url[td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_follow[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_follow[/td]url template for following %s[td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_connpage[/td][td][/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
+[tr][td]xchan_connpage[/td][td]for premium channels url of channel to display when connecting[/td][td]char(255)[/td][td]NO[/td][td][/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_name[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_name[/td][td]human readabl name of channel[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_network[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_network[/td][td]network of channel for instance 'zot', 'diaspora', 'unknown'[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_instance_url[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan_instance_url[/td][td]no longer used[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xchan_flags[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]xchan_flags[/td][td]no longer used[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]xchan_photo_date[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]xchan_photo_date[/td][td]timestamp of last photo change in GMT[/td][td]datetime[/td][td]NO[/td][td][/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
-[tr][td]xchan_name_date[/td][td][/td][td]datetime[/td][td]NO[/td][td][/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]xchan_name_date[/td][td]timestamp of last name change in GMT[/td][td]datetime[/td][td]NO[/td][td][/td][td]0000-00-00 00:00:00[/td][td]
[/td][/tr]
+[tr][td]xchan_hidden[/td][td]flag - channel is hidden[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xchan_orphan[/td][td]flag - channel has no known hubloc locations[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xchan_censored[/td][td]flag - channel has been censored[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xchan_selfcensored[/td][td]flag - channel is self censored (adult or nsfw)[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xchan_system[/td][td]flag - this represents a system channel[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xchan_pubforum[/td][td]flag - channel is a public forum[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xchan_deleted[/td][td]flag - channel was deleted[/td][td]int(10) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+
[/table]
Return to [zrl=[baseurl]/help/database]database documentation[/zrl] \ No newline at end of file
diff --git a/doc/database/db_xign.bb b/doc/database/db_xign.bb
index e216e11cc..63c6569de 100644
--- a/doc/database/db_xign.bb
+++ b/doc/database/db_xign.bb
@@ -1,11 +1,12 @@
+xign - holds xchan information for channels that have been ignored in 'friend suggestions'
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]uid[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]uid[/td][td]local channel.channel_id[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xchan[/td][td]xchan.xchan_hash of ignored channel[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_xlink.bb b/doc/database/db_xlink.bb
index 2eefec14a..528f8da19 100644
--- a/doc/database/db_xlink.bb
+++ b/doc/database/db_xlink.bb
@@ -1,15 +1,21 @@
+xlink - used to store social graph and channel ratings
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]xlink_id[/td][td][/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
+[tr][td]xlink_id[/td][td]sequential ID[/td][td]int(10) unsigned[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]auto_increment
[/td][/tr]
-[tr][td]xlink_xchan[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xlink_xchan[/td][td]xchan.xchan_hash of controlling channel[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xlink_link[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
+[tr][td]xlink_link[/td][td]xchan.xchan_hash of link target (connection or rating)[/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
-[tr][td]xlink_rating[/td][td][/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]xlink_rating[/td][td]int rating[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
-[tr][td]xlink_updated[/td][td][/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]xlink_rating_txt[/td][td]rating text[/td][td]mediumtext[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xlink_updated[/td][td]timestamp of update in GMT[/td][td]datetime[/td][td]NO[/td][td]MUL[/td][td]0000-00-00 00:00:00[/td][td]
+[tr][td]xlink_static[/td][td]0 for social graph, 1 for ratings[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[/td][/tr]
+[tr][td]xlink_sig[/td][td]base64url encoded signature of rating information[/td][td]int(11)[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
[/table]
diff --git a/doc/database/db_xprof.bb b/doc/database/db_xprof.bb
index d98fb3f17..bed79e9ca 100644
--- a/doc/database/db_xprof.bb
+++ b/doc/database/db_xprof.bb
@@ -1,9 +1,10 @@
+xprof - stores searchable public profile information on directory servers
[table]
[tr][th]Field[/th][th]Description[/th][th]Type[/th][th]Null[/th][th]Key[/th][th]Default[/th][th]Extra
[/th][/tr]
-[tr][td]xprof_hash[/td][td][/td][td]char(255)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]
+[tr][td]xprof_hash[/td][td]xchan.xchan_hash of this channel[/td][td]char(255)[/td][td]NO[/td][td]PRI[/td][td]NULL[/td][td]
[/td][/tr]
-[tr][td]xprof_age[/td][td][/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
+[tr][td]xprof_age[/td][td]current age (updated monthly)[/td][td]tinyint(3) unsigned[/td][td]NO[/td][td]MUL[/td][td]0[/td][td]
[/td][/tr]
[tr][td]xprof_desc[/td][td][/td][td]char(255)[/td][td]NO[/td][td]MUL[/td][td][/td][td]
[/td][/tr]
diff --git a/doc/de/main.bb b/doc/de/main.bb
index dab34c19a..5786f03ef 100644
--- a/doc/de/main.bb
+++ b/doc/de/main.bb
@@ -1,4 +1,4 @@
-[img][baseurl]/assets/hashlogo.png[/img]
+[img][baseurl]/images/hubzilla-banner.png[/img]
[zrl=[baseurl]/help/about]Was ist Hubzilla?[/zrl]
Hubzilla ist eine dezentrale Kommunikations- und Publishing-Plattform. Sie ermöglicht Dir die volle Kontrolle über all Deine Kommunikation mit Hilfe von automatischer Verschlüsselung und detaillierter Zugriffskontrolle. Du, und [i]nur[/i] Du, entscheidest, wer Deine Beiträge sehen darf. Hubzilla ist der Nachfolger, der seit einigen Jahren erfolgreichen Plattformen Firendica und Red Matrix.
diff --git a/doc/develop.bb b/doc/develop.bb
index 09ea1ee71..ad5b2288f 100644
--- a/doc/develop.bb
+++ b/doc/develop.bb
@@ -8,7 +8,6 @@
[zrl=[baseurl]/help/Creating-Templates]Creating Comanche Templates[/zrl]
[zrl=[baseurl]/help/Widgets]Widgets[/zrl]
[zrl=[baseurl]/help/plugins]Plugins[/zrl]
-[zrl=[baseurl]/help/hooks]Hooks[/zrl]
[zrl=[baseurl]/help/hooklist]Hooks (detailed - under construction)[/zrl]
[zrl=[baseurl]/help/doco]Contributing Documentation[/zrl]
[zrl=[baseurl]/help/DerivedTheme1]Creating Derivative Themes[/zrl]
@@ -16,7 +15,7 @@
[zrl=[baseurl]/help/Translations]Translations[/zrl]
[zrl=[baseurl]/help/developers]Developers[/zrl]
[zrl=[baseurl]/help/intro_for_developers]Intro for Developers[/zrl]
-[zrl=[baseurl]/help/database]Database schema documantation[/zrl]
+[zrl=[baseurl]/help/database]Database schema documentation[/zrl]
[zrl=[baseurl]/help/api_functions]API functions[/zrl]
[zrl=[baseurl]/help/api_posting]Posting to the red# using the API[/zrl]
[zrl=[baseurl]/help/developer_function_primer]Red Functions 101[/zrl]
diff --git a/doc/faq_developers.bb b/doc/faq_developers.bb
index c74ec3c56..603cf238f 100644
--- a/doc/faq_developers.bb
+++ b/doc/faq_developers.bb
@@ -285,7 +285,7 @@ An example (large) &$a object showing some of its many members and structures--
"xchan_photo_l": "http://hubzilla/photo/profile/l/2"
},
"page": {
- "content": "&lt;div id=&quot;help-content&quot; class=&quot;generic-content-wrapper&quot;&gt;\n\t&lt;div class=&quot;section-title-wrapper&quot;&gt;\n\t&lt;h2&gt;Hubzilla Documentation&lt;/h2&gt;\n\t&lt;/div&gt;\n\t&lt;div class=&quot;section-content-wrapper&quot;&gt;\n\t&lt;h2&gt;Documentation for Developers&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Technical Documentation&lt;/h3&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Zot---A-High-Level-Overview&quot; target=&quot;_newwin&quot; &gt;A high level overview of Zot&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/zot&quot; target=&quot;_newwin&quot; &gt;An introduction to Zot&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/zot_structures&quot; target=&quot;_newwin&quot; &gt;Zot Stuctures&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/comanche&quot; target=&quot;_newwin&quot; &gt;Comanche Page Descriptions&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Creating-Templates&quot; target=&quot;_newwin&quot; &gt;Creating Comanche Templates&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Widgets&quot; target=&quot;_newwin&quot; &gt;Widgets&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/plugins&quot; target=&quot;_newwin&quot; &gt;Plugins&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/hooks&quot; target=&quot;_newwin&quot; &gt;Hooks&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/doco&quot; target=&quot;_newwin&quot; &gt;Contributing Documentation&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/DerivedTheme1&quot; target=&quot;_newwin&quot; &gt;Creating Derivative Themes&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/schema_development&quot; target=&quot;_newwin&quot; &gt;Schemas&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Translations&quot; target=&quot;_newwin&quot; &gt;Translations&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/developers&quot; target=&quot;_newwin&quot; &gt;Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/intro_for_developers&quot; target=&quot;_newwin&quot; &gt;Intro for Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/database&quot; target=&quot;_newwin&quot; &gt;Database schema documantation&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/api_functions&quot; target=&quot;_newwin&quot; &gt;API functions&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/api_posting&quot; target=&quot;_newwin&quot; &gt;Posting to the red# using the API&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/developer_function_primer&quot; target=&quot;_newwin&quot; &gt;Red Functions 101&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/doc/html/&quot; target=&quot;_newwin&quot; &gt;Code Reference (Doxygen generated - sets cookies)&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/to_do_doco&quot; target=&quot;_newwin&quot; &gt;To-Do list for the Red Documentation Project&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/to_do_code&quot; target=&quot;_newwin&quot; &gt;To-Do list for Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/roadmap&quot; target=&quot;_newwin&quot; &gt;Version 3 roadmap&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/git_for_non_developers&quot; target=&quot;_newwin&quot; &gt;Git for Non-Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/dev_beginner&quot; target=&quot;_newwin&quot; &gt;Step-for-step manual for beginning developers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Frequently Asked Questions For Developers&lt;/h3&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/faq_developers&quot; target=&quot;_newwin&quot; &gt;FAQ For Developers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;External Resources&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://zothub.com/channel/one&quot; target=&quot;_newwin&quot; &gt;Development Channel&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://federated.social/channel/postgres&quot; target=&quot;_newwin&quot; &gt;Postgres-specific Hubzilla Admin Support Channel&lt;/a&gt;&lt;br /&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;\n&lt;script&gt;var homebase = &quot;http://hubzilla/channel/testes&quot;;&lt;/script&gt;",
+ "content": "&lt;div id=&quot;help-content&quot; class=&quot;generic-content-wrapper&quot;&gt;\n\t&lt;div class=&quot;section-title-wrapper&quot;&gt;\n\t&lt;h2&gt;Hubzilla Documentation&lt;/h2&gt;\n\t&lt;/div&gt;\n\t&lt;div class=&quot;section-content-wrapper&quot;&gt;\n\t&lt;h2&gt;Documentation for Developers&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Technical Documentation&lt;/h3&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Zot---A-High-Level-Overview&quot; target=&quot;_blank&quot; &gt;A high level overview of Zot&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/zot&quot; target=&quot;_blank&quot; &gt;An introduction to Zot&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/zot_structures&quot; target=&quot;_blank&quot; &gt;Zot Stuctures&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/comanche&quot; target=&quot;_blank&quot; &gt;Comanche Page Descriptions&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Creating-Templates&quot; target=&quot;_blank&quot; &gt;Creating Comanche Templates&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Widgets&quot; target=&quot;_blank&quot; &gt;Widgets&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/plugins&quot; target=&quot;_blank&quot; &gt;Plugins&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/hooks&quot; target=&quot;_blank&quot; &gt;Hooks&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/doco&quot; target=&quot;_blank&quot; &gt;Contributing Documentation&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/DerivedTheme1&quot; target=&quot;_blank&quot; &gt;Creating Derivative Themes&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/schema_development&quot; target=&quot;_blank&quot; &gt;Schemas&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/Translations&quot; target=&quot;_blank&quot; &gt;Translations&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/developers&quot; target=&quot;_blank&quot; &gt;Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/intro_for_developers&quot; target=&quot;_blank&quot; &gt;Intro for Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/database&quot; target=&quot;_blank&quot; &gt;Database schema documentation&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/api_functions&quot; target=&quot;_blank&quot; &gt;API functions&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/api_posting&quot; target=&quot;_blank&quot; &gt;Posting to the red# using the API&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/developer_function_primer&quot; target=&quot;_blank&quot; &gt;Red Functions 101&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/doc/html/&quot; target=&quot;_blank&quot; &gt;Code Reference (Doxygen generated - sets cookies)&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/to_do_doco&quot; target=&quot;_blank&quot; &gt;To-Do list for the Red Documentation Project&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/to_do_code&quot; target=&quot;_blank&quot; &gt;To-Do list for Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/roadmap&quot; target=&quot;_blank&quot; &gt;Version 3 roadmap&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/git_for_non_developers&quot; target=&quot;_blank&quot; &gt;Git for Non-Developers&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/dev_beginner&quot; target=&quot;_blank&quot; &gt;Step-for-step manual for beginning developers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Frequently Asked Questions For Developers&lt;/h3&gt;&lt;br /&gt;&lt;a class=&quot;zrl&quot; href=&quot;http://hubzilla/help/faq_developers&quot; target=&quot;_blank&quot; &gt;FAQ For Developers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;External Resources&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://zothub.com/channel/one&quot; target=&quot;_blank&quot; &gt;Development Channel&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://federated.social/channel/postgres&quot; target=&quot;_blank&quot; &gt;Postgres-specific Hubzilla Admin Support Channel&lt;/a&gt;&lt;br /&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;\n&lt;script&gt;var homebase = &quot;http://hubzilla/channel/testes&quot;;&lt;/script&gt;",
"page_title": "help",
"title": "Help: Develop",
"nav": "\t&lt;div class=&quot;container-fluid&quot;&gt;\n\t\t&lt;div class=&quot;navbar-header&quot;&gt;\n\t\t\t&lt;button type=&quot;button&quot; class=&quot;navbar-toggle&quot; data-toggle=&quot;collapse&quot; data-target=&quot;#navbar-collapse-1&quot;&gt;\n\t\t\t\t&lt;span class=&quot;icon-bar&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;span class=&quot;icon-bar&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;span class=&quot;icon-bar&quot;&gt;&lt;/span&gt;\n\t\t\t&lt;/button&gt;\n\t\t\t&lt;button id=&quot;expand-tabs&quot; type=&quot;button&quot; class=&quot;navbar-toggle&quot; data-toggle=&quot;collapse&quot; data-target=&quot;#tabs-collapse-1&quot;&gt;\n\t\t\t\t&lt;i class=&quot;icon-circle-arrow-down&quot; id=&quot;expand-tabs-icon&quot;&gt;&lt;/i&gt;\n\t\t\t&lt;/button&gt;\n\t\t\t&lt;button id=&quot;expand-aside&quot; type=&quot;button&quot; class=&quot;navbar-toggle&quot; data-toggle=&quot;offcanvas&quot; data-target=&quot;#region_1&quot;&gt;\n\t\t\t\t&lt;i class=&quot;icon-circle-arrow-right&quot; id=&quot;expand-aside-icon&quot;&gt;&lt;/i&gt;\n\t\t\t&lt;/button&gt;\n\t\t\t\t\t\t\t&lt;img class=&quot;dropdown-toggle fakelink&quot; data-toggle=&quot;dropdown&quot; id=&quot;avatar&quot; src=&quot;http://hubzilla/photo/profile/m/2&quot; alt=&quot;testes@hubzilla&quot;&gt;&lt;span class=&quot;caret&quot; id=&quot;usermenu-caret&quot;&gt;&lt;/span&gt;\n\t\t\t\t\t\t\t\t\t&lt;ul class=&quot;dropdown-menu&quot; role=&quot;menu&quot; aria-labelledby=&quot;avatar&quot;&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;channel/testes&quot; title=&quot;Your posts and conversations&quot; role=&quot;menuitem&quot; id=&quot;channel_nav_btn&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;profile/testes&quot; title=&quot;Your profile page&quot; role=&quot;menuitem&quot; id=&quot;profile_nav_btn&quot;&gt;View Profile&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;profiles/2&quot; title=&quot;Edit your profile&quot; role=&quot;menuitem&quot; id=&quot;profiles_nav_btn&quot;&gt;Edit Profile&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;photos/testes&quot; title=&quot;Your photos&quot; role=&quot;menuitem&quot; id=&quot;photos_nav_btn&quot;&gt;Photos&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;cloud/testes&quot; title=&quot;Your files&quot; role=&quot;menuitem&quot; id=&quot;cloud_nav_btn&quot;&gt;Files&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;chat/testes/new&quot; title=&quot;Your chatrooms&quot; role=&quot;menuitem&quot; id=&quot;chat_nav_btn&quot;&gt;Chat&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot; class=&quot;divider&quot;&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;settings&quot; title=&quot;Account/Channel Settings&quot; role=&quot;menuitem&quot; id=&quot;settings_nav_btn&quot;&gt;Settings&lt;/a&gt;&lt;/li&gt;\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;manage&quot; title=&quot;Manage Your Channels&quot; role=&quot;menuitem&quot; id=&quot;manage_nav_btn&quot;&gt;Channel Manager&lt;/a&gt;&lt;/li&gt;\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot; class=&quot;divider&quot;&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;admin/&quot; title=&quot;Site Setup and Configuration&quot; role=&quot;menuitem&quot; id=&quot;admin_nav_btn&quot;&gt;Admin&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li role=&quot;presentation&quot; class=&quot;divider&quot;&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li role=&quot;presentation&quot;&gt;&lt;a href=&quot;logout&quot; title=&quot;End this session&quot; role=&quot;menuitem&quot; id=&quot;logout_nav_btn&quot;&gt;Logout&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t\t\t\t\t\t&lt;/div&gt;\n\t\t&lt;div class=&quot;collapse navbar-collapse&quot; id=&quot;navbar-collapse-1&quot;&gt;\n\t\t\t&lt;ul class=&quot;nav navbar-nav navbar-left&quot;&gt;\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t&lt;li class=&quot; hidden-xs&quot;&gt;\n\t\t\t\t\t&lt;a href=&quot;network&quot; title=&quot;Your grid&quot; id=&quot;network_nav_btn&quot;&gt;&lt;i class=&quot;icon-th&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;net-update badge dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; rel=&quot;#nav-network-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t\t&lt;ul id=&quot;nav-network-menu&quot; role=&quot;menu&quot; class=&quot;dropdown-menu&quot; rel=&quot;network&quot;&gt;\n\t\t\t\t\t\t\n\t\t\t\t\t\t&lt;li id=&quot;nav-network-mark-all&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;markRead('network'); return false;&quot;&gt;Mark all grid notifications seen&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li class=&quot;empty&quot;&gt;Loading...&lt;/li&gt;\n\t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t&lt;li class=&quot; visible-xs&quot;&gt;\n\t\t\t\t\t&lt;a href=&quot;network&quot; title=&quot;Your grid&quot; &gt;&lt;i class=&quot;icon-th&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;net-update badge&quot; rel=&quot;#nav-network-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\n\t\t\t\t\t\t\t&lt;li class=&quot; hidden-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;channel/testes&quot; title=&quot;Channel home&quot; id=&quot;home_nav_btn&quot;&gt;&lt;i class=&quot;icon-home&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;home-update badge dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; rel=&quot;#nav-home-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t\t&lt;ul id=&quot;nav-home-menu&quot; class=&quot;dropdown-menu&quot; rel=&quot;home&quot;&gt;\n\t\t\t\t\t\t\n\t\t\t\t\t\t&lt;li id=&quot;nav-home-mark-all&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;markRead('home'); return false;&quot;&gt;Mark all channel notifications seen&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li class=&quot;empty&quot;&gt;Loading...&lt;/li&gt;\n\t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t&lt;li class=&quot; visible-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;channel/testes&quot; title=&quot;Channel home&quot; &gt;&lt;i class=&quot;icon-home&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;home-update badge&quot; rel=&quot;#nav-home-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\n\n\t\t\t\t\t\t\t&lt;li class=&quot; hidden-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;mail/combined&quot; title=&quot;Private mail&quot; id=&quot;mail_nav_btn&quot;&gt;&lt;i class=&quot;icon-envelope&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;mail-update badge dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; rel=&quot;#nav-messages-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t\t&lt;ul id=&quot;nav-messages-menu&quot; class=&quot;dropdown-menu&quot; rel=&quot;messages&quot;&gt;\n\t\t\t\t\t\t&lt;li id=&quot;nav-messages-see-all&quot;&gt;&lt;a href=&quot;mail/combined&quot;&gt;See all private messages&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li id=&quot;nav-messages-mark-all&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;markRead('messages'); return false;&quot;&gt;Mark all private messages seen&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li class=&quot;empty&quot;&gt;Loading...&lt;/li&gt;\n\t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t&lt;li class=&quot; visible-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;mail/combined&quot; title=&quot;Private mail&quot; &gt;&lt;i class=&quot;icon-envelope&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;mail-update badge&quot; rel=&quot;#nav-messages-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\n\t\t\t\t\t\t\t&lt;li class=&quot; hidden-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;events&quot; title=&quot;Event Calendar&quot; id='events_nav_btn'&gt;&lt;i class=&quot;icon-calendar&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;all_events-update badge dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; rel=&quot;#nav-all_events-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t\t&lt;ul id=&quot;nav-all_events-menu&quot; class=&quot;dropdown-menu&quot; rel=&quot;all_events&quot;&gt;\n\t\t\t\t\t\t&lt;li id=&quot;nav-all_events-see-all&quot;&gt;&lt;a href=&quot;events&quot;&gt;See all events&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li id=&quot;nav-all_events-mark-all&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;markRead('all_events'); return false;&quot;&gt;Mark all events seen&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li class=&quot;empty&quot;&gt;Loading...&lt;/li&gt;\n\t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t&lt;li class=&quot; visible-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;events&quot; title=&quot;Event Calendar&quot; &gt;&lt;i class=&quot;icon-calendar&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;all_events-update badge&quot; rel=&quot;#nav-all_events-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\n\t\t\t\t\t\t\t&lt;li class=&quot; hidden-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;connections/ifpending&quot; title=&quot;Connections&quot; id=&quot;connections_nav_btn&quot;&gt;&lt;i class=&quot;icon-user&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;intro-update badge dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; rel=&quot;#nav-intros-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t\t&lt;ul id=&quot;nav-intros-menu&quot; class=&quot;dropdown-menu&quot; rel=&quot;intros&quot;&gt;\n\t\t\t\t\t\t&lt;li id=&quot;nav-intros-see-all&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li class=&quot;empty&quot;&gt;Loading...&lt;/li&gt;\n\t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t&lt;li class=&quot; visible-xs&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;connections/ifpending&quot; title=&quot;Connections&quot; &gt;&lt;i class=&quot;icon-user&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;intro-update badge&quot; rel=&quot;#nav-intros-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t\t\n\t\t\t\t\t\t\t&lt;li class=&quot; hidden-xs&quot;&gt;\n\t\t\t\t\t&lt;a href=&quot;notifications/system&quot; title=&quot;Notices&quot; id=&quot;notifications_nav_btn&quot;&gt;&lt;i class=&quot;icon-exclamation&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;notify-update badge dropdown-toggle&quot; data-toggle=&quot;dropdown&quot; rel=&quot;#nav-notify-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t\t&lt;ul id=&quot;nav-notify-menu&quot; class=&quot;dropdown-menu&quot; rel=&quot;notify&quot;&gt;\n\t\t\t\t\t\t&lt;li id=&quot;nav-notify-see-all&quot;&gt;&lt;a href=&quot;notifications/system&quot;&gt;See all notifications&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li id=&quot;nav-notify-mark-all&quot;&gt;&lt;a href=&quot;#&quot; onclick=&quot;markRead('notify'); return false;&quot;&gt;Mark all system notifications seen&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t\t\t&lt;li class=&quot;empty&quot;&gt;Loading...&lt;/li&gt;\n\t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t&lt;li class=&quot; visible-xs&quot;&gt;\n\t\t\t\t\t&lt;a href=&quot;notifications/system&quot; title=&quot;Notices&quot;&gt;&lt;i class=&quot;icon-exclamation&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t\t&lt;span class=&quot;notify-update badge&quot; rel=&quot;#nav-notify-menu&quot;&gt;&lt;/span&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t\t\t&lt;/ul&gt;\n\t\t\t&lt;ul class=&quot;nav navbar-nav navbar-right&quot;&gt;\n\t\t\t\t&lt;li class=&quot;hidden-xs&quot;&gt;\n\t\t\t\t\t&lt;form method=&quot;get&quot; action=&quot;search&quot; role=&quot;search&quot;&gt;\n\t\t\t\t\t\t&lt;div id=&quot;nav-search-spinner&quot;&gt;&lt;/div&gt;&lt;input class=&quot;icon-search&quot; id=&quot;nav-search-text&quot; type=&quot;text&quot; value=&quot;&quot; placeholder=&quot;&amp;#xf002; @name, #tag, ?doc, content&quot; name=&quot;search&quot; title=&quot;Search site @name, #tag, ?docs, content&quot; onclick=&quot;this.submit();&quot;/&gt;\n\t\t\t\t\t&lt;/form&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t&lt;li class=&quot;visible-xs&quot;&gt;\n\t\t\t\t\t&lt;a href=&quot;/search&quot; title=&quot;Search site @name, #tag, ?docs, content&quot;&gt;&lt;i class=&quot;icon-search&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t&lt;/li&gt;\n\n\t\t\t\t\t\t\t\t\t\t&lt;li class=&quot;&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;directory&quot; title=&quot;Channel Directory&quot; id=&quot;directory_nav_btn&quot;&gt;&lt;i class=&quot;icon-sitemap&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\n\t\t\t\t\t\t\t&lt;li class=&quot;&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; href=&quot;apps&quot; title=&quot;Applications, utilities, links, games&quot; id=&quot;apps_nav_btn&quot;&gt;&lt;i class=&quot;icon-cogs&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\n\t\t\t\t\t\t\t&lt;li class=&quot;active&quot;&gt;\n\t\t\t\t\t&lt;a class=&quot;&quot; target=&quot;hubzilla-help&quot; href=&quot;http://hubzilla/help?f=&amp;cmd=help/develop&quot; title=&quot;Help and documentation&quot; id=&quot;help_nav_btn&quot;&gt;&lt;i class=&quot;icon-question&quot;&gt;&lt;/i&gt;&lt;/a&gt;\n\t\t\t\t&lt;/li&gt;\n\t\t\t\t\t\t&lt;/ul&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n",
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 44114967b..1323730aa 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -152,7 +152,8 @@ This document assumes you're an administrator.
Spam prevention. Limits the number of tagged forums which are recognised in any post. Default is 2. Only the first 'n' tags will be delivered as forums, the others will not cause any delivery.
[b]system > openssl_conf_file[/b]
Needed in some Windows installations to locate the openssl configuration file on the system.
-
+ [b]system > hide_help[/b]
+ Don't display help documentation link in nav bar
[b]Directory config[/b]
[b]Directory search defaults[/b]
diff --git a/doc/hook/app_menu.bb b/doc/hook/app_menu.bb
deleted file mode 100644
index 0458a692a..000000000
--- a/doc/hook/app_menu.bb
+++ /dev/null
@@ -1 +0,0 @@
-[h2]app_menu[/h2]
diff --git a/doc/hook/avatar_lookup.bb b/doc/hook/avatar_lookup.bb
deleted file mode 100644
index abd84de5e..000000000
--- a/doc/hook/avatar_lookup.bb
+++ /dev/null
@@ -1 +0,0 @@
-[h2]avatar_lookup[/h2]
diff --git a/doc/hook/cron.bb b/doc/hook/cron.bb
index ebbb64d50..55120b6c2 100644
--- a/doc/hook/cron.bb
+++ b/doc/hook/cron.bb
@@ -1 +1,5 @@
[h2]cron[/h2]
+
+Called when cron task (include/poller.php) is executed. The hook data is a string representing the current time (UTC).
+
+
diff --git a/doc/hook/cron_daily.bb b/doc/hook/cron_daily.bb
index c5062330a..802bea5e4 100644
--- a/doc/hook/cron_daily.bb
+++ b/doc/hook/cron_daily.bb
@@ -1 +1,3 @@
[h2]cron_daily[/h2]
+
+Called when cron task (include/poller.php) performs a cron_daily operation. The hook data is a string representing the current time (UTC).
diff --git a/doc/hook/cron_weekly.bb b/doc/hook/cron_weekly.bb
index 8dc85e494..c01bf9611 100644
--- a/doc/hook/cron_weekly.bb
+++ b/doc/hook/cron_weekly.bb
@@ -1 +1,3 @@
[h2]cron_weekly[/h2]
+
+Called when cron task (include/poller.php) performs a cron_weekly operation. The hook data is a string representing the current time (UTC).
diff --git a/doc/hook/get_widgets.bb b/doc/hook/get_widgets.bb
deleted file mode 100644
index 54b43858a..000000000
--- a/doc/hook/get_widgets.bb
+++ /dev/null
@@ -1 +0,0 @@
-[h2]get_widgets[/h2]
diff --git a/doc/hook/logger.bb b/doc/hook/logger.bb
new file mode 100644
index 000000000..8fe989abd
--- /dev/null
+++ b/doc/hook/logger.bb
@@ -0,0 +1,16 @@
+[h2]logger[/h2]
+
+Called when making an entry to the application logfile
+
+Hook data:
+
+ array(
+ 'filename' => name of logfile relative to application basedir. String.
+ 'loglevel' => the log level of this log entry, if this is higher than the configured maximum loglevel
+ this hook will not be called. Integer.
+ 'message' => The formatted log message, ready for logging. String.
+ 'logged' => boolean, default is false. Set to true to prevent the normal logfile entry to be made
+ (e.g. if the plugin is configured to handle this aspect of the function, or if it is determined
+ that this log entry should not be made)
+ )
+
diff --git a/doc/hook/nav.bb b/doc/hook/nav.bb
index 847573620..b52f90602 100644
--- a/doc/hook/nav.bb
+++ b/doc/hook/nav.bb
@@ -1 +1,28 @@
[h2]nav[/h2]
+
+Called when generating the main navigation bar and menu for a page
+
+Hook data:
+
+ array(
+ 'usermenu' => array( 'icon' => photo URL, 'name' => channel name )
+ 'nav' => array(
+ 'usermenu' => usermenu (photo menu) link array
+ (channel home, profiles, photos, cloud, chats, webapges ...)
+ 'loginmenu' => login menu link array
+ 'network' => grid link and grid-notify
+ 'home' => home link and home-notify
+ 'intros' => intros link and intros-notify
+ 'notifications' => notifications link and notifications-notify
+ 'messages' => PM link and PM-notify
+ 'all_events' => events link and events notfiy
+ 'manage' => manage channels link
+ 'settings' => settings link
+ 'register' => registration link
+ 'help' => help/doc link
+ 'apps' => apps link
+ 'search' => search link and form
+ 'directory' => directory link
+ )
+
+
diff --git a/doc/hook/probe_well_known.bb b/doc/hook/probe_well_known.bb
index eff690f31..62898c536 100644
--- a/doc/hook/probe_well_known.bb
+++ b/doc/hook/probe_well_known.bb
@@ -1 +1,3 @@
[h2]probe_well_known[/h2]
+
+This hook is under construction and not currently used - see include/probe.php \ No newline at end of file
diff --git a/doc/hook/smilie.bb b/doc/hook/smilie.bb
index cea3e0c94..575acc178 100644
--- a/doc/hook/smilie.bb
+++ b/doc/hook/smilie.bb
@@ -1 +1,19 @@
[h2]smilie[/h2]
+
+
+Called when processing translation of emoticons. It is passed an array containing two sub-arrays:
+
+ array(
+ 'texts' => array('text1','text2',...),
+ 'icons' => array('icon1','icon2',...)
+ );
+
+ texts is the emoticon text - for example ':-)' for a traditional smile face.
+ icons is the HTML used as a replacement. For example
+ '&lt;img class="smiley" src="https://localhost/images/smiley-smile.gif" alt=":-)" /&gt;'
+
+ If adding or removing an entry from either array, the corresponding element from the matching array must also
+ be added or removed. Emoticons less than three characters in length or not recommended as they get triggered
+ incorrectly quite often. Extended emoticons are indicated by convention using a preceding colon, for example
+
+ :walrus_kissing_a_baby \ No newline at end of file
diff --git a/doc/hook/tagged.bb b/doc/hook/tagged.bb
index 5add76713..05d081d07 100644
--- a/doc/hook/tagged.bb
+++ b/doc/hook/tagged.bb
@@ -1 +1,16 @@
[h2]tagged[/h2]
+
+
+This hook is called when a delivery is made which results in the recipient being tagged.
+
+The hook data is an array containing
+
+ array(
+ 'channel_id' => int,
+ 'item' => item structure of the delivered item from database,
+ 'body' => the body of the referenced item
+
+ );
+
+ Note: This hook is called before secondary delivery chains are invoked in the case of tagging a forum. This means that permissions and some item attributes will be those of the item before being re-packaged and before ownership of this item is given to the forum.
+
diff --git a/doc/hook/validate_channelname.bb b/doc/hook/validate_channelname.bb
index c78961017..2ab12bbec 100644
--- a/doc/hook/validate_channelname.bb
+++ b/doc/hook/validate_channelname.bb
@@ -1 +1,23 @@
[h2]validate_channelname[/h2]
+
+Called when creating a new channel or changing the channel name in mod/settings.php
+
+Hook data consists of an array
+
+ array(
+ 'name' => supplied name
+ );
+
+ If the hook handler determines the name is valid, do nothing. If there is an issue with the name,
+ set $hook_data['message'] to the message text which should be displayed to the member - and the name will
+ not be accepted.
+
+
+ Example:
+ [code]
+ if(mb_strlen($hook_data['name']) < 3)
+ $hook_data['message'] = t('Name too short.');
+ [/code]
+
+
+ \ No newline at end of file
diff --git a/doc/hooklist.bb b/doc/hooklist.bb
index 9e0220013..45a4861d9 100644
--- a/doc/hooklist.bb
+++ b/doc/hooklist.bb
@@ -2,6 +2,7 @@
Hooks allow plugins/addons to "hook into" the code at many points and alter the behaviour or otherwise perform independent actions when an activity takes place or when certain data structures are accessed. There are many hooks which allow you to tie into the software at most any point and do something slightly different than the default thing. These hooks are passed two variables. The first is the App structure which contains details about the entire state of the page request as we build the resulting page. The second is unique to the specific hook that is called and provides specific detail about what is happening in the software at the time the hook is invoked.
+[zrl=[baseurl]/help/hooks]Generated index of all hooks and the files which call them[/zrl]
[zrl=[baseurl]/help/hook/module_mod_aftercontent]module_mod_aftercontent[/zrl]
General purpose hook for any module, executed after mod_content(). Replace 'module' with module name, e.g. 'photos_mod_aftercontent'.
@@ -39,9 +40,6 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/api_perm_is_allowed]api_perm_is_allowed[/zrl]
Called when perm_is_allowed() is executed from an API call.
-[zrl=[baseurl]/help/hook/app_menu]app_menu[/zrl]
- Used to register plugins as apps
-
[zrl=[baseurl]/help/hook/atom_author]atom_author[/zrl]
Called when generating an author or owner element for an Atom ActivityStream feed
@@ -60,9 +58,6 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/authenticate]authenticate[/zrl]
Can provide alternate authentication mechanisms
-[zrl=[baseurl]/help/hook/avatar_lookup]avatar_lookup[/zrl]
- Used for "gravatar" or libravatar profile photo lookup.
-
[zrl=[baseurl]/help/hook/bb2diaspora]bb2diaspora[/zrl]
called when converting bbcode to markdown
@@ -211,9 +206,6 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/get_role_perms]get_role_perms[/zrl]
Called when get_role_perms() is called to obtain permissions for named permission roles
-[zrl=[baseurl]/help/hook/get_widgets]get_widgets[/zrl]
- No longer used - now widget placement is managed by Comanche
-
[zrl=[baseurl]/help/hook/global_permissions]global_permissions[/zrl]
Called when the global permissions list is generated
@@ -271,6 +263,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/logged_in]logged_in[/zrl]
Called when authentication by any means has succeeeded
+[zrl=[baseurl]/help/hook/logger]logger[/zrl]
+ Called when making an entry to the application logfile
+
[zrl=[baseurl]/help/hook/logging_out]logging_out[/zrl]
Called when logging out
diff --git a/doc/nl/TermsOfService.md b/doc/nl/TermsOfService.md
new file mode 100644
index 000000000..c4cc4648c
--- /dev/null
+++ b/doc/nl/TermsOfService.md
@@ -0,0 +1,5 @@
+Gebruikersvoorwaarden
+================
+
+#include doc/SiteTOS.md;
+
diff --git a/doc/roadmapv4.bb b/doc/roadmapv4.bb
new file mode 100644
index 000000000..4670c73b3
--- /dev/null
+++ b/doc/roadmapv4.bb
@@ -0,0 +1,27 @@
+[h1]Project Roadmap V4[/h1]
+
+[h2]Hubzilla 2.0 - code name "Universal Thunder"[/h2]
+
+[h3]Project Core Development[/h3]
+
+Goals/Highlights:
+
+
+Focus on visual website design tools, widgets, and sharing mechanisms
+
+App organisation.
+
+Conversion of core application to a composer format living under the namespace "Zotlabs"
+
+Conversion of Modules to a more general purpose Controllers layout with DB/memory based
+controller routing as opposed to filesystem routing.
+
+Conversion of core Zot Protocol to a class library
+
+Abstraction of nomadic identity so that sending/receiving to/from singleton networks to/from any clone works flawlessly - [b]provided[/b] the clone physically connected to that singleton identity is up.
+
+[h3]Community Development[/h3]
+
+CalDAV/CardDAV
+
+E-Commerce \ No newline at end of file
diff --git a/doc/schemaspy_hubzilla/zot.meta.xml b/doc/schemaspy_hubzilla/zot.meta.xml
new file mode 100644
index 000000000..98a9d370e
--- /dev/null
+++ b/doc/schemaspy_hubzilla/zot.meta.xml
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<schemaMeta xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:noNamespaceSchemaLocation="http://schemaspy.sourceforge.net/xmlschema/2011/02/05/schemaspy.meta.xsd">
+<comments>
+2015-11-04 - Hubzilla database schema with some corrected cross-table relationships supporting decentralized publishing. Haakon Meland Eriksen.
+</comments>
+
+ <tables>
+ <table name="abook">
+ <column name="abook_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="account">
+ </table>
+ <table name="addon">
+ </table>
+ <table name="app">
+ </table>
+ <table name="attach">
+ <column name="hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="auth_codes">
+ </table>
+ <table name="cache">
+ </table>
+ <table name="channel">
+ <column name="channel_hash">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="chat">
+ <column name="chat_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="chatpresence">
+ <column name="cp_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="chatroom">
+ </table>
+ <table name="clients">
+ </table>
+ <table name="config">
+ </table>
+ <table name="conv">
+ </table>
+ <table name="dreport">
+ <column name="dreport_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="event">
+ <column name="event_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ <column name="event_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="fcontact">
+ </table>
+ <table name="ffinder">
+ </table>
+ <table name="fserver">
+ </table>
+ <table name="fsuggest">
+ </table>
+ <table name="group_member">
+ <column name="xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="groups">
+ <column name="hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="hook">
+ </table>
+ <table name="hubloc">
+ <column name="hubloc_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="issue">
+ </table>
+ <table name="item">
+ <column name="owner_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ <column name="author_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ <column name="source_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="item_id">
+ </table>
+ <table name="likes">
+ </table>
+ <table name="mail">
+ <column name="from_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ <column name="to_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="manage">
+ <column name="xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="menu">
+ </table>
+ <table name="menu_item">
+ </table>
+ <table name="notify">
+ <column name="hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="obj">
+ </table>
+ <table name="outq">
+ <column name="outq_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="pconfig">
+ </table>
+ <table name="photo">
+ <column name="xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="poll">
+ </table>
+ <table name="poll_elm">
+ </table>
+ <table name="profdef">
+ </table>
+ <table name="profext">
+ <column name="hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="profile">
+ </table>
+ <table name="profile_check">
+ </table>
+ <table name="register">
+ <column name="hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="session">
+ </table>
+ <table name="shares">
+ <column name="share_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="sign">
+ </table>
+ <table name="site">
+ </table>
+ <table name="source">
+ <column name="src_channel_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ <column name="src_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="spam">
+ </table>
+ <table name="sys_perms">
+ </table>
+ <table name="term">
+ <column name="term_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ <column name="parent_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="tokens">
+ </table>
+ <table name="updates">
+
+ <column name="ud_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="verify">
+ </table>
+ <table name="vote">
+ <column name="vote_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="xchan">
+ <column name="xchan_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ </column>
+ </table>
+ <table name="xchat">
+
+ <column name="xchat_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="xconfig">
+
+ <column name="xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="xign">
+
+ <column name="xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+
+ </table>
+ <table name="xlink">
+
+ <column name="xlink_xchan">
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ <table name="xperm">
+
+ </table>
+ <table name="xprof">
+ <column name="xprof_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+
+ </table>
+ <table name="xtag">
+
+ <column name="xtag_hash">
+ <foreignKey table="channel" column="channel_hash"/>
+ <foreignKey table="hubloc" column="hubloc_hash"/>
+ <foreignKey table="xchan" column="xchan_hash" />
+ </column>
+ </table>
+ </tables>
+
+</schemaMeta>
diff --git a/doc/sv/main.bb b/doc/sv/main.bb
index eb35b0b3e..26d9c78f6 100644
--- a/doc/sv/main.bb
+++ b/doc/sv/main.bb
@@ -1,4 +1,4 @@
-[img][baseurl]/assets/hashlogo.png[/img]
+[img][baseurl]/images/hubzilla-banner.png[/img]
[zrl=[baseurl]/help/about][b]Vad är $Projectname?[/b][/zrl]
$Projectname är en decentraliserad publicerings- och kommunikationsplattform som möjliggör att du behåller kontrollen över dina kommunikationer med hjälp av automatisk kryptering och fininställbar behörighetskontroll. Det är du, och bara du, som beslutar vem som är behörig att ta del av ditt innehåll.
diff --git a/hubzilla_er/Makefile b/hubzilla_er/Makefile
new file mode 100644
index 000000000..f36f01007
--- /dev/null
+++ b/hubzilla_er/Makefile
@@ -0,0 +1,17 @@
+#makefile for schemaspy
+
+
+#NOTE: This makefile sucks. It needs to have all run the script, and check that schemaspy and mysqlconn are present.
+
+schemaspy::
+ wget "http://downloads.sourceforge.net/project/schemaspy/schemaspy/SchemaSpy%205.0.0/schemaSpy_5.0.0.jar?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fschemaspy%2F&ts=1447051240&use_mirror=iweb"
+
+mysqlconn::
+ wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.17/mysql-connector-java-5.1.17.jar
+
+#TODO: install java and graphviz or check it is there
+
+install: schemaspy mysqlconn
+
+run:
+ ../util/schemaspy
diff --git a/hubzilla_er/anomalies.html b/hubzilla_er/anomalies.html
new file mode 100644
index 000000000..e911fc65b
--- /dev/null
+++ b/hubzilla_er/anomalies.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Anomalies</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li id='current'><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Anomalies</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%'>
+ <tr><td class='container' align='right' valign='top' colspan='2'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td></tr>
+<tr>
+<td class='container'><b>Things that might not be 'quite right' about your schema:</b></td>
+<td class='container' align='right'>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+</td></tr></table>
+<ul>
+<li>
+<b>Columns whose name and type imply a relationship to another table's primary key:</b>
+<table class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<thead align='left'>
+<tr>
+ <th>Child Column</th>
+ <th>Implied Parent Column</th>
+</tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='detail'><a href='tables/addon.html'>addon</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/app.html'>app</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/attach.html'>attach</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a>.client_id</td>
+ <td class='detail'><a href='tables/clients.html'>clients</a>.client_id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a>.id</td>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/config.html'>config</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/config.html'>config</a>.k</td>
+ <td class='detail'><a href='tables/cache.html'>cache</a>.k</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/conv.html'>conv</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/event.html'>event</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/groups.html'>groups</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/hook.html'>hook</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/item.html'>item</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/likes.html'>likes</a>.channel_id</td>
+ <td class='detail'><a href='tables/channel.html'>channel</a>.channel_id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/likes.html'>likes</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/mail.html'>mail</a>.account_id</td>
+ <td class='detail'><a href='tables/account.html'>account</a>.account_id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/mail.html'>mail</a>.channel_id</td>
+ <td class='detail'><a href='tables/channel.html'>channel</a>.channel_id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/mail.html'>mail</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/manage.html'>manage</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a>.k</td>
+ <td class='detail'><a href='tables/cache.html'>cache</a>.k</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/photo.html'>photo</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/profext.html'>profext</a>.channel_id</td>
+ <td class='detail'><a href='tables/channel.html'>channel</a>.channel_id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/profext.html'>profext</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/profext.html'>profext</a>.k</td>
+ <td class='detail'><a href='tables/cache.html'>cache</a>.k</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/profile.html'>profile</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/register.html'>register</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/sign.html'>sign</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/spam.html'>spam</a>.id</td>
+ <td class='detail'><a href='tables/notify.html'>notify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a>.k</td>
+ <td class='detail'><a href='tables/cache.html'>cache</a>.k</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a>.client_id</td>
+ <td class='detail'><a href='tables/clients.html'>clients</a>.client_id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a>.k</td>
+ <td class='detail'><a href='tables/cache.html'>cache</a>.k</td>
+ </tr>
+ <tr>
+ <td class='detail'><a href='tables/xign.html'>xign</a>.id</td>
+ <td class='detail'><a href='tables/verify.html'>verify</a>.id</td>
+ </tr>
+</tbody>
+</table>
+42 instances of anomaly detected<p></li>
+<li>
+<b>Tables without indexes:</b>
+<br>Anomaly not detected<p></li>
+<li>
+<b>Columns that are flagged as both 'nullable' and 'must be unique':</b>
+<br>Anomaly not detected<p></li>
+<li>
+<b>Tables that contain a single column:</b><br>Anomaly not detected<p></li>
+<li>
+<b>Tables with incrementing column names, potentially indicating denormalization:</b>
+<br>Anomaly not detected<p></li>
+<li>
+<b>Columns whose default value is the word 'NULL' or 'null', but the SQL NULL value may have been intended:</b>
+<br>Anomaly not detected<p></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/columns.byAuto.html b/hubzilla_er/columns.byAuto.html
new file mode 100644
index 000000000..f8d951d19
--- /dev/null
+++ b/hubzilla_er/columns.byAuto.html
@@ -0,0 +1,7153 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Columns</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li id='current'><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Columns</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<p>
+<form name='options' action=''>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</table>
+<div class='indent'>
+<b>zot contains 705 columns</b> - click on heading to sort:<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th class='notSortedByColumn'><a href='columns.byTable.html#columns'><span class='notSortedByColumn'>Table</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byColumn.html#columns'><span class='notSortedByColumn'>Column</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byType.html#columns'><span class='notSortedByColumn'>Type</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.bySize.html#columns'><span class='notSortedByColumn'>Size</span></a></th>
+ <th title='Are nulls allowed?' class='notSortedByColumn'><a href='columns.byNulls.html#columns'><span class='notSortedByColumn'>Nulls</span></a></th>
+ <th title='Is column automatically updated?' class='sortedByColumn'>Auto</th>
+ <th title='Default value' class='notSortedByColumn'><a href='columns.byDefault.html#columns'><span class='notSortedByColumn'>Default</span></a></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/columns.byColumn.html b/hubzilla_er/columns.byColumn.html
new file mode 100644
index 000000000..1e89008af
--- /dev/null
+++ b/hubzilla_er/columns.byColumn.html
@@ -0,0 +1,7153 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Columns</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li id='current'><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Columns</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<p>
+<form name='options' action=''>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</table>
+<div class='indent'>
+<b>zot contains 705 columns</b> - click on heading to sort:<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th class='notSortedByColumn'><a href='columns.byTable.html#columns'><span class='notSortedByColumn'>Table</span></a></th>
+ <th class='sortedByColumn'>Column</th>
+ <th class='notSortedByColumn'><a href='columns.byType.html#columns'><span class='notSortedByColumn'>Type</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.bySize.html#columns'><span class='notSortedByColumn'>Size</span></a></th>
+ <th title='Are nulls allowed?' class='notSortedByColumn'><a href='columns.byNulls.html#columns'><span class='notSortedByColumn'>Nulls</span></a></th>
+ <th title='Is column automatically updated?' class='notSortedByColumn'><a href='columns.byAuto.html#columns'><span class='notSortedByColumn'>Auto</span></a></th>
+ <th title='Default value' class='notSortedByColumn'><a href='columns.byDefault.html#columns'><span class='notSortedByColumn'>Default</span></a></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/columns.byDefault.html b/hubzilla_er/columns.byDefault.html
new file mode 100644
index 000000000..6913d1c9f
--- /dev/null
+++ b/hubzilla_er/columns.byDefault.html
@@ -0,0 +1,7153 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Columns</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li id='current'><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Columns</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<p>
+<form name='options' action=''>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</table>
+<div class='indent'>
+<b>zot contains 705 columns</b> - click on heading to sort:<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th class='notSortedByColumn'><a href='columns.byTable.html#columns'><span class='notSortedByColumn'>Table</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byColumn.html#columns'><span class='notSortedByColumn'>Column</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byType.html#columns'><span class='notSortedByColumn'>Type</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.bySize.html#columns'><span class='notSortedByColumn'>Size</span></a></th>
+ <th title='Are nulls allowed?' class='notSortedByColumn'><a href='columns.byNulls.html#columns'><span class='notSortedByColumn'>Nulls</span></a></th>
+ <th title='Is column automatically updated?' class='notSortedByColumn'><a href='columns.byAuto.html#columns'><span class='notSortedByColumn'>Auto</span></a></th>
+ <th title='Default value' class='sortedByColumn'>Default</th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/columns.byNulls.html b/hubzilla_er/columns.byNulls.html
new file mode 100644
index 000000000..bcbf1e3e6
--- /dev/null
+++ b/hubzilla_er/columns.byNulls.html
@@ -0,0 +1,7153 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Columns</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li id='current'><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Columns</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<p>
+<form name='options' action=''>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</table>
+<div class='indent'>
+<b>zot contains 705 columns</b> - click on heading to sort:<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th class='notSortedByColumn'><a href='columns.byTable.html#columns'><span class='notSortedByColumn'>Table</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byColumn.html#columns'><span class='notSortedByColumn'>Column</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byType.html#columns'><span class='notSortedByColumn'>Type</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.bySize.html#columns'><span class='notSortedByColumn'>Size</span></a></th>
+ <th title='Are nulls allowed?' class='sortedByColumn'>Nulls</th>
+ <th title='Is column automatically updated?' class='notSortedByColumn'><a href='columns.byAuto.html#columns'><span class='notSortedByColumn'>Auto</span></a></th>
+ <th title='Default value' class='notSortedByColumn'><a href='columns.byDefault.html#columns'><span class='notSortedByColumn'>Default</span></a></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/columns.bySize.html b/hubzilla_er/columns.bySize.html
new file mode 100644
index 000000000..98b0408b3
--- /dev/null
+++ b/hubzilla_er/columns.bySize.html
@@ -0,0 +1,7153 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Columns</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li id='current'><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Columns</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<p>
+<form name='options' action=''>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</table>
+<div class='indent'>
+<b>zot contains 705 columns</b> - click on heading to sort:<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th class='notSortedByColumn'><a href='columns.byTable.html#columns'><span class='notSortedByColumn'>Table</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byColumn.html#columns'><span class='notSortedByColumn'>Column</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byType.html#columns'><span class='notSortedByColumn'>Type</span></a></th>
+ <th class='sortedByColumn'>Size</th>
+ <th title='Are nulls allowed?' class='notSortedByColumn'><a href='columns.byNulls.html#columns'><span class='notSortedByColumn'>Nulls</span></a></th>
+ <th title='Is column automatically updated?' class='notSortedByColumn'><a href='columns.byAuto.html#columns'><span class='notSortedByColumn'>Auto</span></a></th>
+ <th title='Default value' class='notSortedByColumn'><a href='columns.byDefault.html#columns'><span class='notSortedByColumn'>Default</span></a></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/columns.byTable.html b/hubzilla_er/columns.byTable.html
new file mode 100644
index 000000000..5bf52c043
--- /dev/null
+++ b/hubzilla_er/columns.byTable.html
@@ -0,0 +1,7153 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Columns</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li id='current'><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Columns</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<p>
+<form name='options' action=''>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</table>
+<div class='indent'>
+<b>zot contains 705 columns</b> - click on heading to sort:<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th class='sortedByColumn'>Table</th>
+ <th class='notSortedByColumn'><a href='columns.byColumn.html#columns'><span class='notSortedByColumn'>Column</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byType.html#columns'><span class='notSortedByColumn'>Type</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.bySize.html#columns'><span class='notSortedByColumn'>Size</span></a></th>
+ <th title='Are nulls allowed?' class='notSortedByColumn'><a href='columns.byNulls.html#columns'><span class='notSortedByColumn'>Nulls</span></a></th>
+ <th title='Is column automatically updated?' class='notSortedByColumn'><a href='columns.byAuto.html#columns'><span class='notSortedByColumn'>Auto</span></a></th>
+ <th title='Default value' class='notSortedByColumn'><a href='columns.byDefault.html#columns'><span class='notSortedByColumn'>Default</span></a></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/columns.byType.html b/hubzilla_er/columns.byType.html
new file mode 100644
index 000000000..f2dc706e1
--- /dev/null
+++ b/hubzilla_er/columns.byType.html
@@ -0,0 +1,7153 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Columns</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li id='current'><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Columns</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<p>
+<form name='options' action=''>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</table>
+<div class='indent'>
+<b>zot contains 705 columns</b> - click on heading to sort:<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th class='notSortedByColumn'><a href='columns.byTable.html#columns'><span class='notSortedByColumn'>Table</span></a></th>
+ <th class='notSortedByColumn'><a href='columns.byColumn.html#columns'><span class='notSortedByColumn'>Column</span></a></th>
+ <th class='sortedByColumn'>Type</th>
+ <th class='notSortedByColumn'><a href='columns.bySize.html#columns'><span class='notSortedByColumn'>Size</span></a></th>
+ <th title='Are nulls allowed?' class='notSortedByColumn'><a href='columns.byNulls.html#columns'><span class='notSortedByColumn'>Nulls</span></a></th>
+ <th title='Is column automatically updated?' class='notSortedByColumn'><a href='columns.byAuto.html#columns'><span class='notSortedByColumn'>Auto</span></a></th>
+ <th title='Default value' class='notSortedByColumn'><a href='columns.byDefault.html#columns'><span class='notSortedByColumn'>Default</span></a></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/constraints.html b/hubzilla_er/constraints.html
new file mode 100644
index 000000000..bf19c7cd0
--- /dev/null
+++ b/hubzilla_er/constraints.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Constraints</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li id='current'><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Constraints</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<div class='indent'>
+<table width='100%'>
+<tr><td class='container' valign='bottom'><b>
+0 Foreign Key Constraints:</b>
+</td><td class='container' align='right'>
+<table>
+ <tr><td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td></tr>
+<tr><td class='container'>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+</td></tr></table>
+</td></tr>
+</table><br>
+<table class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<thead align='left'>
+<tr>
+ <th>Constraint Name</th>
+ <th>Child Column</th>
+ <th>Parent Column</th>
+ <th>Delete Rule</th>
+</tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='detail' valign='top' colspan='4'>None detected</td>
+ </tr>
+</tbody>
+</table>
+<a name='checkConstraints'></a><p>
+<b>Check Constraints:</b>
+<TABLE class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<thead align='left'>
+<tr>
+ <th>Table</th>
+ <th>Constraint Name</th>
+ <th>Constraint</th>
+</tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='detail' valign='top' colspan='3'>None detected</td>
+ </tr>
+</tbody>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/deletionOrder.txt b/hubzilla_er/deletionOrder.txt
new file mode 100644
index 000000000..6bcbd5236
--- /dev/null
+++ b/hubzilla_er/deletionOrder.txt
@@ -0,0 +1,63 @@
+xtag
+xprof
+xperm
+xlink
+xchat
+xchan
+vote
+updates
+term
+source
+site
+shares
+session
+poll_elm
+poll
+outq
+obj
+menu_item
+menu
+issue
+hubloc
+chatroom
+chatpresence
+chat
+abook
+profext
+mail
+xconfig
+sys_perms
+pconfig
+likes
+config
+auth_codes
+xign
+spam
+sign
+register
+profile_check
+profile
+profdef
+photo
+manage
+item_id
+item
+hook
+groups
+group_member
+fsuggest
+fserver
+ffinder
+fcontact
+event
+conv
+attach
+app
+addon
+tokens
+account
+clients
+channel
+cache
+notify
+verify
diff --git a/hubzilla_er/diagrams/account.1degree.dot b/hubzilla_er/diagrams/account.1degree.dot
new file mode 100644
index 000000000..0233118c9
--- /dev/null
+++ b/hubzilla_er/diagrams/account.1degree.dot
@@ -0,0 +1,49 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "account" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">account_id</TD><TD PORT="account_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_parent" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_parent</TD><TD PORT="account_parent.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_default_channel" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_default_channel</TD><TD PORT="account_default_channel.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_salt" COLSPAN="2" ALIGN="LEFT">account_salt</TD><TD PORT="account_salt.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="account_password" COLSPAN="2" ALIGN="LEFT">account_password</TD><TD PORT="account_password.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_email" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_email</TD><TD PORT="account_email.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_external" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_external</TD><TD PORT="account_external.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_language" COLSPAN="2" ALIGN="LEFT">account_language</TD><TD PORT="account_language.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD PORT="account_created" COLSPAN="2" ALIGN="LEFT">account_created</TD><TD PORT="account_created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_lastlog" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_lastlog</TD><TD PORT="account_lastlog.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_flags</TD><TD PORT="account_flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_roles" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_roles</TD><TD PORT="account_roles.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_reset" COLSPAN="2" ALIGN="LEFT">account_reset</TD><TD PORT="account_reset.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_expires</TD><TD PORT="account_expires.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_expire_notified" COLSPAN="2" ALIGN="LEFT">account_expire_notified</TD><TD PORT="account_expire_notified.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_service_class" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_service_class</TD><TD PORT="account_service_class.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="account_level" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_level</TD><TD PORT="account_level.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_password_changed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_password_changed</TD><TD PORT="account_password_changed.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="account.html"
+ tooltip="account"
+ ];
+}
diff --git a/hubzilla_er/diagrams/account.1degree.png b/hubzilla_er/diagrams/account.1degree.png
new file mode 100644
index 000000000..b2f201996
--- /dev/null
+++ b/hubzilla_er/diagrams/account.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/account.implied2degrees.dot b/hubzilla_er/diagrams/account.implied2degrees.dot
new file mode 100644
index 000000000..f5c61fb84
--- /dev/null
+++ b/hubzilla_er/diagrams/account.implied2degrees.dot
@@ -0,0 +1,102 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "mail":"account_id":w -> "account":"account_id.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"channel_id":w -> "channel":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "account" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">account_id</TD><TD PORT="account_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_parent" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_parent</TD><TD PORT="account_parent.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_default_channel" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_default_channel</TD><TD PORT="account_default_channel.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_salt" COLSPAN="2" ALIGN="LEFT">account_salt</TD><TD PORT="account_salt.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="account_password" COLSPAN="2" ALIGN="LEFT">account_password</TD><TD PORT="account_password.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_email" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_email</TD><TD PORT="account_email.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_external" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_external</TD><TD PORT="account_external.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_language" COLSPAN="2" ALIGN="LEFT">account_language</TD><TD PORT="account_language.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD PORT="account_created" COLSPAN="2" ALIGN="LEFT">account_created</TD><TD PORT="account_created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_lastlog" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_lastlog</TD><TD PORT="account_lastlog.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_flags</TD><TD PORT="account_flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_roles" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_roles</TD><TD PORT="account_roles.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_reset" COLSPAN="2" ALIGN="LEFT">account_reset</TD><TD PORT="account_reset.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_expires</TD><TD PORT="account_expires.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_expire_notified" COLSPAN="2" ALIGN="LEFT">account_expire_notified</TD><TD PORT="account_expire_notified.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="account_service_class" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_service_class</TD><TD PORT="account_service_class.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="account_level" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_level</TD><TD PORT="account_level.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="account_password_changed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_password_changed</TD><TD PORT="account_password_changed.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 &gt;</TD></TR>
+ </TABLE>>
+ URL="account.html"
+ tooltip="account"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+}
diff --git a/hubzilla_er/diagrams/account.implied2degrees.png b/hubzilla_er/diagrams/account.implied2degrees.png
new file mode 100644
index 000000000..db4b4d9c3
--- /dev/null
+++ b/hubzilla_er/diagrams/account.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/addon.1degree.dot b/hubzilla_er/diagrams/addon.1degree.dot
new file mode 100644
index 000000000..9718ee5e3
--- /dev/null
+++ b/hubzilla_er/diagrams/addon.1degree.dot
@@ -0,0 +1,38 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="version" COLSPAN="2" ALIGN="LEFT">version</TD><TD PORT="version.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="installed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">installed</TD><TD PORT="installed.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="hidden" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hidden</TD><TD PORT="hidden.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="timestamp" COLSPAN="2" ALIGN="LEFT">timestamp</TD><TD PORT="timestamp.type" ALIGN="LEFT">bigint[19]</TD></TR>
+ <TR><TD PORT="plugin_admin" COLSPAN="2" ALIGN="LEFT">plugin_admin</TD><TD PORT="plugin_admin.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+}
diff --git a/hubzilla_er/diagrams/addon.1degree.png b/hubzilla_er/diagrams/addon.1degree.png
new file mode 100644
index 000000000..59f2eb90b
--- /dev/null
+++ b/hubzilla_er/diagrams/addon.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/addon.implied2degrees.dot b/hubzilla_er/diagrams/addon.implied2degrees.dot
new file mode 100644
index 000000000..7a5819ae2
--- /dev/null
+++ b/hubzilla_er/diagrams/addon.implied2degrees.dot
@@ -0,0 +1,162 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="version" COLSPAN="2" ALIGN="LEFT">version</TD><TD PORT="version.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="installed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">installed</TD><TD PORT="installed.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="hidden" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hidden</TD><TD PORT="hidden.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="timestamp" COLSPAN="2" ALIGN="LEFT">timestamp</TD><TD PORT="timestamp.type" ALIGN="LEFT">bigint[19]</TD></TR>
+ <TR><TD PORT="plugin_admin" COLSPAN="2" ALIGN="LEFT">plugin_admin</TD><TD PORT="plugin_admin.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/addon.implied2degrees.png b/hubzilla_er/diagrams/addon.implied2degrees.png
new file mode 100644
index 000000000..02f9162e3
--- /dev/null
+++ b/hubzilla_er/diagrams/addon.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/app.1degree.dot b/hubzilla_er/diagrams/app.1degree.dot
new file mode 100644
index 000000000..6b50c4e5f
--- /dev/null
+++ b/hubzilla_er/diagrams/app.1degree.dot
@@ -0,0 +1,45 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="app_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_id</TD><TD PORT="app_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_sig" COLSPAN="2" ALIGN="LEFT">app_sig</TD><TD PORT="app_sig.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_author" COLSPAN="2" ALIGN="LEFT">app_author</TD><TD PORT="app_author.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_name</TD><TD PORT="app_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_desc" COLSPAN="2" ALIGN="LEFT">app_desc</TD><TD PORT="app_desc.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="app_url" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_url</TD><TD PORT="app_url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_photo" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_photo</TD><TD PORT="app_photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_version" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_version</TD><TD PORT="app_version.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_channel" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_channel</TD><TD PORT="app_channel.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="app_addr" COLSPAN="2" ALIGN="LEFT">app_addr</TD><TD PORT="app_addr.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_price" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_price</TD><TD PORT="app_price.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_page" COLSPAN="2" ALIGN="LEFT">app_page</TD><TD PORT="app_page.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_requires" COLSPAN="2" ALIGN="LEFT">app_requires</TD><TD PORT="app_requires.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+}
diff --git a/hubzilla_er/diagrams/app.1degree.png b/hubzilla_er/diagrams/app.1degree.png
new file mode 100644
index 000000000..a61da6ea4
--- /dev/null
+++ b/hubzilla_er/diagrams/app.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/app.implied2degrees.dot b/hubzilla_er/diagrams/app.implied2degrees.dot
new file mode 100644
index 000000000..211434419
--- /dev/null
+++ b/hubzilla_er/diagrams/app.implied2degrees.dot
@@ -0,0 +1,169 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="app_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_id</TD><TD PORT="app_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_sig" COLSPAN="2" ALIGN="LEFT">app_sig</TD><TD PORT="app_sig.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_author" COLSPAN="2" ALIGN="LEFT">app_author</TD><TD PORT="app_author.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_name</TD><TD PORT="app_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_desc" COLSPAN="2" ALIGN="LEFT">app_desc</TD><TD PORT="app_desc.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="app_url" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_url</TD><TD PORT="app_url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_photo" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_photo</TD><TD PORT="app_photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_version" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_version</TD><TD PORT="app_version.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_channel" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_channel</TD><TD PORT="app_channel.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="app_addr" COLSPAN="2" ALIGN="LEFT">app_addr</TD><TD PORT="app_addr.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_price" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">app_price</TD><TD PORT="app_price.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_page" COLSPAN="2" ALIGN="LEFT">app_page</TD><TD PORT="app_page.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="app_requires" COLSPAN="2" ALIGN="LEFT">app_requires</TD><TD PORT="app_requires.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/app.implied2degrees.png b/hubzilla_er/diagrams/app.implied2degrees.png
new file mode 100644
index 000000000..18f21ef6c
--- /dev/null
+++ b/hubzilla_er/diagrams/app.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/attach.1degree.dot b/hubzilla_er/diagrams/attach.1degree.dot
new file mode 100644
index 000000000..34646c1dc
--- /dev/null
+++ b/hubzilla_er/diagrams/attach.1degree.dot
@@ -0,0 +1,54 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">creator</TD><TD PORT="creator.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">filename</TD><TD PORT="filename.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="filetype" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">filetype</TD><TD PORT="filetype.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="filesize" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">filesize</TD><TD PORT="filesize.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD><TD PORT="revision.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="folder" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">folder</TD><TD PORT="folder.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">flags</TD><TD PORT="flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="is_dir" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_dir</TD><TD PORT="is_dir.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="is_photo" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_photo</TD><TD PORT="is_photo.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD><TD PORT="os_storage.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="2" ALIGN="LEFT">os_path</TD><TD PORT="os_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="2" ALIGN="LEFT">display_path</TD><TD PORT="display_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="data" COLSPAN="2" ALIGN="LEFT">data</TD><TD PORT="data.type" ALIGN="LEFT">longblob[2147483647]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+}
diff --git a/hubzilla_er/diagrams/attach.1degree.png b/hubzilla_er/diagrams/attach.1degree.png
new file mode 100644
index 000000000..c796d9e3b
--- /dev/null
+++ b/hubzilla_er/diagrams/attach.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/attach.implied2degrees.dot b/hubzilla_er/diagrams/attach.implied2degrees.dot
new file mode 100644
index 000000000..fb253bf66
--- /dev/null
+++ b/hubzilla_er/diagrams/attach.implied2degrees.dot
@@ -0,0 +1,279 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">creator</TD><TD PORT="creator.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">filename</TD><TD PORT="filename.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="filetype" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">filetype</TD><TD PORT="filetype.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="filesize" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">filesize</TD><TD PORT="filesize.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD><TD PORT="revision.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="folder" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">folder</TD><TD PORT="folder.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">flags</TD><TD PORT="flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="is_dir" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_dir</TD><TD PORT="is_dir.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="is_photo" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_photo</TD><TD PORT="is_photo.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD><TD PORT="os_storage.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="2" ALIGN="LEFT">os_path</TD><TD PORT="os_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="2" ALIGN="LEFT">display_path</TD><TD PORT="display_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="data" COLSPAN="2" ALIGN="LEFT">data</TD><TD PORT="data.type" ALIGN="LEFT">longblob[2147483647]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/attach.implied2degrees.png b/hubzilla_er/diagrams/attach.implied2degrees.png
new file mode 100644
index 000000000..93cbc5de9
--- /dev/null
+++ b/hubzilla_er/diagrams/attach.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/auth_codes.1degree.dot b/hubzilla_er/diagrams/auth_codes.1degree.dot
new file mode 100644
index 000000000..863f01a7f
--- /dev/null
+++ b/hubzilla_er/diagrams/auth_codes.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "auth_codes" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">auth_codes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">varchar[40]</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="2" ALIGN="LEFT">client_id</TD><TD PORT="client_id.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="2" ALIGN="LEFT">redirect_uri</TD><TD PORT="redirect_uri.type" ALIGN="LEFT">varchar[200]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="2" ALIGN="LEFT">scope</TD><TD PORT="scope.type" ALIGN="LEFT">varchar[250]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="auth_codes.html"
+ tooltip="auth_codes"
+ ];
+}
diff --git a/hubzilla_er/diagrams/auth_codes.1degree.png b/hubzilla_er/diagrams/auth_codes.1degree.png
new file mode 100644
index 000000000..b8232f028
--- /dev/null
+++ b/hubzilla_er/diagrams/auth_codes.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/auth_codes.implied2degrees.dot b/hubzilla_er/diagrams/auth_codes.implied2degrees.dot
new file mode 100644
index 000000000..e96b9c2d4
--- /dev/null
+++ b/hubzilla_er/diagrams/auth_codes.implied2degrees.dot
@@ -0,0 +1,69 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "auth_codes":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes":"id":w -> "tokens":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "tokens":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">auth_codes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">varchar[40]</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="2" ALIGN="LEFT">client_id</TD><TD PORT="client_id.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="2" ALIGN="LEFT">redirect_uri</TD><TD PORT="redirect_uri.type" ALIGN="LEFT">varchar[200]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="2" ALIGN="LEFT">scope</TD><TD PORT="scope.type" ALIGN="LEFT">varchar[250]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="auth_codes.html"
+ tooltip="auth_codes"
+ ];
+ "clients" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">clients</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="pw" COLSPAN="3" ALIGN="LEFT">pw</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="icon" COLSPAN="3" ALIGN="LEFT">icon</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 &gt;</TD></TR>
+ </TABLE>>
+ URL="clients.html"
+ tooltip="clients"
+ ];
+ "tokens" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">tokens</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="secret" COLSPAN="3" ALIGN="LEFT">secret</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 &gt;</TD></TR>
+ </TABLE>>
+ URL="tokens.html"
+ tooltip="tokens"
+ ];
+}
diff --git a/hubzilla_er/diagrams/auth_codes.implied2degrees.png b/hubzilla_er/diagrams/auth_codes.implied2degrees.png
new file mode 100644
index 000000000..324bdd59a
--- /dev/null
+++ b/hubzilla_er/diagrams/auth_codes.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/cache.1degree.dot b/hubzilla_er/diagrams/cache.1degree.dot
new file mode 100644
index 000000000..26fb47e97
--- /dev/null
+++ b/hubzilla_er/diagrams/cache.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="2" ALIGN="LEFT">updated</TD><TD PORT="updated.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+}
diff --git a/hubzilla_er/diagrams/cache.1degree.png b/hubzilla_er/diagrams/cache.1degree.png
new file mode 100644
index 000000000..88c587490
--- /dev/null
+++ b/hubzilla_er/diagrams/cache.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/cache.implied2degrees.dot b/hubzilla_er/diagrams/cache.implied2degrees.dot
new file mode 100644
index 000000000..e97e3354a
--- /dev/null
+++ b/hubzilla_er/diagrams/cache.implied2degrees.dot
@@ -0,0 +1,144 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "config":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"k":w -> "cache":"k.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "pconfig":"id":w -> "notify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"k":w -> "cache":"k.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"channel_id":w -> "channel":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"k":w -> "cache":"k.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "sys_perms":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"k":w -> "cache":"k.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"k":w -> "cache":"k.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "cache" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="2" ALIGN="LEFT">updated</TD><TD PORT="updated.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="public_perm" COLSPAN="3" ALIGN="LEFT">public_perm</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+}
diff --git a/hubzilla_er/diagrams/cache.implied2degrees.png b/hubzilla_er/diagrams/cache.implied2degrees.png
new file mode 100644
index 000000000..20f354c92
--- /dev/null
+++ b/hubzilla_er/diagrams/cache.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/channel.1degree.dot b/hubzilla_er/diagrams/channel.1degree.dot
new file mode 100644
index 000000000..65df644d9
--- /dev/null
+++ b/hubzilla_er/diagrams/channel.1degree.dot
@@ -0,0 +1,79 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD><TD PORT="channel_account_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD><TD PORT="channel_primary.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD><TD PORT="channel_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD><TD PORT="channel_address.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD><TD PORT="channel_guid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_guid_sig" COLSPAN="2" ALIGN="LEFT">channel_guid_sig</TD><TD PORT="channel_guid_sig.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD><TD PORT="channel_hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD><TD PORT="channel_timezone.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD><TD PORT="channel_location.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD><TD PORT="channel_theme.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_startpage" COLSPAN="2" ALIGN="LEFT">channel_startpage</TD><TD PORT="channel_startpage.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_pubkey" COLSPAN="2" ALIGN="LEFT">channel_pubkey</TD><TD PORT="channel_pubkey.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channel_prvkey" COLSPAN="2" ALIGN="LEFT">channel_prvkey</TD><TD PORT="channel_prvkey.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD><TD PORT="channel_notifyflags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD><TD PORT="channel_pageflags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD><TD PORT="channel_dirdate.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD><TD PORT="channel_lastpost.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD><TD PORT="channel_deleted.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD><TD PORT="channel_max_anon_mail.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD><TD PORT="channel_max_friend_req.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD><TD PORT="channel_expire_days.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="channel_passwd_reset" COLSPAN="2" ALIGN="LEFT">channel_passwd_reset</TD><TD PORT="channel_passwd_reset.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD><TD PORT="channel_default_group.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_allow_cid" COLSPAN="2" ALIGN="LEFT">channel_allow_cid</TD><TD PORT="channel_allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_allow_gid" COLSPAN="2" ALIGN="LEFT">channel_allow_gid</TD><TD PORT="channel_allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_deny_cid" COLSPAN="2" ALIGN="LEFT">channel_deny_cid</TD><TD PORT="channel_deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_deny_gid" COLSPAN="2" ALIGN="LEFT">channel_deny_gid</TD><TD PORT="channel_deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD><TD PORT="channel_r_stream.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD><TD PORT="channel_r_profile.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD><TD PORT="channel_r_photos.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD><TD PORT="channel_r_abook.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD><TD PORT="channel_w_stream.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD><TD PORT="channel_w_wall.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD><TD PORT="channel_w_tagwall.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD><TD PORT="channel_w_comment.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD><TD PORT="channel_w_mail.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD><TD PORT="channel_w_photos.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD><TD PORT="channel_w_chat.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD><TD PORT="channel_a_delegate.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD><TD PORT="channel_r_storage.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD><TD PORT="channel_w_storage.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD><TD PORT="channel_r_pages.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD><TD PORT="channel_w_pages.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD><TD PORT="channel_a_republish.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD><TD PORT="channel_w_like.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD><TD PORT="channel_removed.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD><TD PORT="channel_system.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+}
diff --git a/hubzilla_er/diagrams/channel.1degree.png b/hubzilla_er/diagrams/channel.1degree.png
new file mode 100644
index 000000000..5ae2a80df
--- /dev/null
+++ b/hubzilla_er/diagrams/channel.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/channel.implied2degrees.dot b/hubzilla_er/diagrams/channel.implied2degrees.dot
new file mode 100644
index 000000000..4cc3b73a3
--- /dev/null
+++ b/hubzilla_er/diagrams/channel.implied2degrees.dot
@@ -0,0 +1,179 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "likes":"channel_id":w -> "channel":"channel_id.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "likes":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"account_id":w -> "account":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"channel_id":w -> "channel":"channel_id.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"channel_id":w -> "channel":"channel_id.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"id":w -> "verify":"elipses":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"k":w -> "cache":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "account" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 &gt;</TD></TR>
+ </TABLE>>
+ URL="account.html"
+ tooltip="account"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD><TD PORT="channel_account_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD><TD PORT="channel_primary.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD><TD PORT="channel_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD><TD PORT="channel_address.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD><TD PORT="channel_guid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_guid_sig" COLSPAN="2" ALIGN="LEFT">channel_guid_sig</TD><TD PORT="channel_guid_sig.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD><TD PORT="channel_hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD><TD PORT="channel_timezone.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD><TD PORT="channel_location.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD><TD PORT="channel_theme.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_startpage" COLSPAN="2" ALIGN="LEFT">channel_startpage</TD><TD PORT="channel_startpage.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_pubkey" COLSPAN="2" ALIGN="LEFT">channel_pubkey</TD><TD PORT="channel_pubkey.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channel_prvkey" COLSPAN="2" ALIGN="LEFT">channel_prvkey</TD><TD PORT="channel_prvkey.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD><TD PORT="channel_notifyflags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD><TD PORT="channel_pageflags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD><TD PORT="channel_dirdate.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD><TD PORT="channel_lastpost.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD><TD PORT="channel_deleted.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD><TD PORT="channel_max_anon_mail.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD><TD PORT="channel_max_friend_req.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD><TD PORT="channel_expire_days.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="channel_passwd_reset" COLSPAN="2" ALIGN="LEFT">channel_passwd_reset</TD><TD PORT="channel_passwd_reset.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD><TD PORT="channel_default_group.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="channel_allow_cid" COLSPAN="2" ALIGN="LEFT">channel_allow_cid</TD><TD PORT="channel_allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_allow_gid" COLSPAN="2" ALIGN="LEFT">channel_allow_gid</TD><TD PORT="channel_allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_deny_cid" COLSPAN="2" ALIGN="LEFT">channel_deny_cid</TD><TD PORT="channel_deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_deny_gid" COLSPAN="2" ALIGN="LEFT">channel_deny_gid</TD><TD PORT="channel_deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD><TD PORT="channel_r_stream.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD><TD PORT="channel_r_profile.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD><TD PORT="channel_r_photos.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD><TD PORT="channel_r_abook.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD><TD PORT="channel_w_stream.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD><TD PORT="channel_w_wall.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD><TD PORT="channel_w_tagwall.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD><TD PORT="channel_w_comment.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD><TD PORT="channel_w_mail.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD><TD PORT="channel_w_photos.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD><TD PORT="channel_w_chat.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD><TD PORT="channel_a_delegate.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD><TD PORT="channel_r_storage.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD><TD PORT="channel_w_storage.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD><TD PORT="channel_r_pages.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD><TD PORT="channel_w_pages.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD><TD PORT="channel_a_republish.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD><TD PORT="channel_w_like.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD><TD PORT="channel_removed.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD><TD PORT="channel_system.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="liker" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">liker</TD></TR>
+ <TR><TD PORT="likee" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">likee</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="target_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_type</TD></TR>
+ <TR><TD PORT="target_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_id</TD></TR>
+ <TR><TD PORT="target" COLSPAN="3" ALIGN="LEFT">target</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+}
diff --git a/hubzilla_er/diagrams/channel.implied2degrees.png b/hubzilla_er/diagrams/channel.implied2degrees.png
new file mode 100644
index 000000000..039513b03
--- /dev/null
+++ b/hubzilla_er/diagrams/channel.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/clients.1degree.dot b/hubzilla_er/diagrams/clients.1degree.dot
new file mode 100644
index 000000000..a8d3793ee
--- /dev/null
+++ b/hubzilla_er/diagrams/clients.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "clients" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">clients</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">client_id</TD><TD PORT="client_id.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="pw" COLSPAN="2" ALIGN="LEFT">pw</TD><TD PORT="pw.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="2" ALIGN="LEFT">redirect_uri</TD><TD PORT="redirect_uri.type" ALIGN="LEFT">varchar[200]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="icon" COLSPAN="2" ALIGN="LEFT">icon</TD><TD PORT="icon.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="clients.html"
+ tooltip="clients"
+ ];
+}
diff --git a/hubzilla_er/diagrams/clients.1degree.png b/hubzilla_er/diagrams/clients.1degree.png
new file mode 100644
index 000000000..e60450897
--- /dev/null
+++ b/hubzilla_er/diagrams/clients.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/clients.implied2degrees.dot b/hubzilla_er/diagrams/clients.implied2degrees.dot
new file mode 100644
index 000000000..90ae9c0ee
--- /dev/null
+++ b/hubzilla_er/diagrams/clients.implied2degrees.dot
@@ -0,0 +1,69 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "auth_codes":"client_id":w -> "clients":"client_id.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes":"id":w -> "tokens":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "tokens":"client_id":w -> "clients":"client_id.type":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">auth_codes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="auth_codes.html"
+ tooltip="auth_codes"
+ ];
+ "clients" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">clients</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">client_id</TD><TD PORT="client_id.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="pw" COLSPAN="2" ALIGN="LEFT">pw</TD><TD PORT="pw.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="2" ALIGN="LEFT">redirect_uri</TD><TD PORT="redirect_uri.type" ALIGN="LEFT">varchar[200]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="icon" COLSPAN="2" ALIGN="LEFT">icon</TD><TD PORT="icon.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 &gt;</TD></TR>
+ </TABLE>>
+ URL="clients.html"
+ tooltip="clients"
+ ];
+ "tokens" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">tokens</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="secret" COLSPAN="3" ALIGN="LEFT">secret</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 &gt;</TD></TR>
+ </TABLE>>
+ URL="tokens.html"
+ tooltip="tokens"
+ ];
+}
diff --git a/hubzilla_er/diagrams/clients.implied2degrees.png b/hubzilla_er/diagrams/clients.implied2degrees.png
new file mode 100644
index 000000000..7a74599f6
--- /dev/null
+++ b/hubzilla_er/diagrams/clients.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/config.1degree.dot b/hubzilla_er/diagrams/config.1degree.dot
new file mode 100644
index 000000000..502f9cff5
--- /dev/null
+++ b/hubzilla_er/diagrams/config.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+}
diff --git a/hubzilla_er/diagrams/config.1degree.png b/hubzilla_er/diagrams/config.1degree.png
new file mode 100644
index 000000000..09927d53a
--- /dev/null
+++ b/hubzilla_er/diagrams/config.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/config.implied2degrees.dot b/hubzilla_er/diagrams/config.implied2degrees.dot
new file mode 100644
index 000000000..1e7c98ca7
--- /dev/null
+++ b/hubzilla_er/diagrams/config.implied2degrees.dot
@@ -0,0 +1,287 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/config.implied2degrees.png b/hubzilla_er/diagrams/config.implied2degrees.png
new file mode 100644
index 000000000..4ae547f50
--- /dev/null
+++ b/hubzilla_er/diagrams/config.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/conv.1degree.dot b/hubzilla_er/diagrams/conv.1degree.dot
new file mode 100644
index 000000000..5fa098a72
--- /dev/null
+++ b/hubzilla_er/diagrams/conv.1degree.dot
@@ -0,0 +1,39 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="guid" COLSPAN="2" ALIGN="LEFT">guid</TD><TD PORT="guid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="recips" COLSPAN="2" ALIGN="LEFT">recips</TD><TD PORT="recips.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="2" ALIGN="LEFT">creator</TD><TD PORT="creator.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">updated</TD><TD PORT="updated.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="subject" COLSPAN="2" ALIGN="LEFT">subject</TD><TD PORT="subject.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+}
diff --git a/hubzilla_er/diagrams/conv.1degree.png b/hubzilla_er/diagrams/conv.1degree.png
new file mode 100644
index 000000000..8855f5b33
--- /dev/null
+++ b/hubzilla_er/diagrams/conv.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/conv.implied2degrees.dot b/hubzilla_er/diagrams/conv.implied2degrees.dot
new file mode 100644
index 000000000..8c5732b33
--- /dev/null
+++ b/hubzilla_er/diagrams/conv.implied2degrees.dot
@@ -0,0 +1,264 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="guid" COLSPAN="2" ALIGN="LEFT">guid</TD><TD PORT="guid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="recips" COLSPAN="2" ALIGN="LEFT">recips</TD><TD PORT="recips.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="2" ALIGN="LEFT">creator</TD><TD PORT="creator.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">updated</TD><TD PORT="updated.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="subject" COLSPAN="2" ALIGN="LEFT">subject</TD><TD PORT="subject.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/conv.implied2degrees.png b/hubzilla_er/diagrams/conv.implied2degrees.png
new file mode 100644
index 000000000..cbe2e3e54
--- /dev/null
+++ b/hubzilla_er/diagrams/conv.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/event.1degree.dot b/hubzilla_er/diagrams/event.1degree.dot
new file mode 100644
index 000000000..6abcaaf8c
--- /dev/null
+++ b/hubzilla_er/diagrams/event.1degree.dot
@@ -0,0 +1,56 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="event_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_xchan</TD><TD PORT="event_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="event_hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_hash</TD><TD PORT="event_hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="start" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">start</TD><TD PORT="start.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="finish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">finish</TD><TD PORT="finish.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="2" ALIGN="LEFT">summary</TD><TD PORT="summary.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="description" COLSPAN="2" ALIGN="LEFT">description</TD><TD PORT="description.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="location" COLSPAN="2" ALIGN="LEFT">location</TD><TD PORT="location.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="nofinish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">nofinish</TD><TD PORT="nofinish.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="adjust" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">adjust</TD><TD PORT="adjust.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="ignore" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">ignore</TD><TD PORT="ignore.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="event_status" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_status</TD><TD PORT="event_status.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="event_status_date" COLSPAN="2" ALIGN="LEFT">event_status_date</TD><TD PORT="event_status_date.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="event_percent" COLSPAN="2" ALIGN="LEFT">event_percent</TD><TD PORT="event_percent.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="event_repeat" COLSPAN="2" ALIGN="LEFT">event_repeat</TD><TD PORT="event_repeat.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="event_sequence" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_sequence</TD><TD PORT="event_sequence.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+}
diff --git a/hubzilla_er/diagrams/event.1degree.png b/hubzilla_er/diagrams/event.1degree.png
new file mode 100644
index 000000000..d2b6b1b06
--- /dev/null
+++ b/hubzilla_er/diagrams/event.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/event.implied2degrees.dot b/hubzilla_er/diagrams/event.implied2degrees.dot
new file mode 100644
index 000000000..084dffec9
--- /dev/null
+++ b/hubzilla_er/diagrams/event.implied2degrees.dot
@@ -0,0 +1,180 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="event_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_xchan</TD><TD PORT="event_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="event_hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_hash</TD><TD PORT="event_hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="start" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">start</TD><TD PORT="start.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="finish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">finish</TD><TD PORT="finish.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="2" ALIGN="LEFT">summary</TD><TD PORT="summary.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="description" COLSPAN="2" ALIGN="LEFT">description</TD><TD PORT="description.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="location" COLSPAN="2" ALIGN="LEFT">location</TD><TD PORT="location.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="nofinish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">nofinish</TD><TD PORT="nofinish.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="adjust" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">adjust</TD><TD PORT="adjust.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="ignore" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">ignore</TD><TD PORT="ignore.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="event_status" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_status</TD><TD PORT="event_status.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="event_status_date" COLSPAN="2" ALIGN="LEFT">event_status_date</TD><TD PORT="event_status_date.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="event_percent" COLSPAN="2" ALIGN="LEFT">event_percent</TD><TD PORT="event_percent.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="event_repeat" COLSPAN="2" ALIGN="LEFT">event_repeat</TD><TD PORT="event_repeat.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="event_sequence" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">event_sequence</TD><TD PORT="event_sequence.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/event.implied2degrees.png b/hubzilla_er/diagrams/event.implied2degrees.png
new file mode 100644
index 000000000..419451590
--- /dev/null
+++ b/hubzilla_er/diagrams/event.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/fcontact.1degree.dot b/hubzilla_er/diagrams/fcontact.1degree.dot
new file mode 100644
index 000000000..9f08b3997
--- /dev/null
+++ b/hubzilla_er/diagrams/fcontact.1degree.dot
@@ -0,0 +1,47 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="url" COLSPAN="2" ALIGN="LEFT">url</TD><TD PORT="url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="request" COLSPAN="2" ALIGN="LEFT">request</TD><TD PORT="request.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="nick" COLSPAN="2" ALIGN="LEFT">nick</TD><TD PORT="nick.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="addr" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">addr</TD><TD PORT="addr.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="batch" COLSPAN="2" ALIGN="LEFT">batch</TD><TD PORT="batch.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="notify" COLSPAN="2" ALIGN="LEFT">notify</TD><TD PORT="notify.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="poll" COLSPAN="2" ALIGN="LEFT">poll</TD><TD PORT="poll.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="confirm" COLSPAN="2" ALIGN="LEFT">confirm</TD><TD PORT="confirm.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="2" ALIGN="LEFT">priority</TD><TD PORT="priority.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="network" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">network</TD><TD PORT="network.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="alias" COLSPAN="2" ALIGN="LEFT">alias</TD><TD PORT="alias.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="pubkey" COLSPAN="2" ALIGN="LEFT">pubkey</TD><TD PORT="pubkey.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="2" ALIGN="LEFT">updated</TD><TD PORT="updated.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+}
diff --git a/hubzilla_er/diagrams/fcontact.1degree.png b/hubzilla_er/diagrams/fcontact.1degree.png
new file mode 100644
index 000000000..6b86eecc4
--- /dev/null
+++ b/hubzilla_er/diagrams/fcontact.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/fcontact.implied2degrees.dot b/hubzilla_er/diagrams/fcontact.implied2degrees.dot
new file mode 100644
index 000000000..6c484340e
--- /dev/null
+++ b/hubzilla_er/diagrams/fcontact.implied2degrees.dot
@@ -0,0 +1,272 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="url" COLSPAN="2" ALIGN="LEFT">url</TD><TD PORT="url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="request" COLSPAN="2" ALIGN="LEFT">request</TD><TD PORT="request.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="nick" COLSPAN="2" ALIGN="LEFT">nick</TD><TD PORT="nick.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="addr" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">addr</TD><TD PORT="addr.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="batch" COLSPAN="2" ALIGN="LEFT">batch</TD><TD PORT="batch.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="notify" COLSPAN="2" ALIGN="LEFT">notify</TD><TD PORT="notify.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="poll" COLSPAN="2" ALIGN="LEFT">poll</TD><TD PORT="poll.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="confirm" COLSPAN="2" ALIGN="LEFT">confirm</TD><TD PORT="confirm.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="2" ALIGN="LEFT">priority</TD><TD PORT="priority.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="network" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">network</TD><TD PORT="network.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="alias" COLSPAN="2" ALIGN="LEFT">alias</TD><TD PORT="alias.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="pubkey" COLSPAN="2" ALIGN="LEFT">pubkey</TD><TD PORT="pubkey.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="2" ALIGN="LEFT">updated</TD><TD PORT="updated.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/fcontact.implied2degrees.png b/hubzilla_er/diagrams/fcontact.implied2degrees.png
new file mode 100644
index 000000000..8b7172971
--- /dev/null
+++ b/hubzilla_er/diagrams/fcontact.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/ffinder.1degree.dot b/hubzilla_er/diagrams/ffinder.1degree.dot
new file mode 100644
index 000000000..27122be54
--- /dev/null
+++ b/hubzilla_er/diagrams/ffinder.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD><TD PORT="cid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="fid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">fid</TD><TD PORT="fid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+}
diff --git a/hubzilla_er/diagrams/ffinder.1degree.png b/hubzilla_er/diagrams/ffinder.1degree.png
new file mode 100644
index 000000000..90acccc73
--- /dev/null
+++ b/hubzilla_er/diagrams/ffinder.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/ffinder.implied2degrees.dot b/hubzilla_er/diagrams/ffinder.implied2degrees.dot
new file mode 100644
index 000000000..fc574ee04
--- /dev/null
+++ b/hubzilla_er/diagrams/ffinder.implied2degrees.dot
@@ -0,0 +1,260 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD><TD PORT="cid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="fid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">fid</TD><TD PORT="fid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/ffinder.implied2degrees.png b/hubzilla_er/diagrams/ffinder.implied2degrees.png
new file mode 100644
index 000000000..0176c8756
--- /dev/null
+++ b/hubzilla_er/diagrams/ffinder.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/fserver.1degree.dot b/hubzilla_er/diagrams/fserver.1degree.dot
new file mode 100644
index 000000000..1707f92ed
--- /dev/null
+++ b/hubzilla_er/diagrams/fserver.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="server" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">server</TD><TD PORT="server.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="posturl" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">posturl</TD><TD PORT="posturl.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="key" COLSPAN="2" ALIGN="LEFT">key</TD><TD PORT="key.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+}
diff --git a/hubzilla_er/diagrams/fserver.1degree.png b/hubzilla_er/diagrams/fserver.1degree.png
new file mode 100644
index 000000000..a5f4202b7
--- /dev/null
+++ b/hubzilla_er/diagrams/fserver.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/fserver.implied2degrees.dot b/hubzilla_er/diagrams/fserver.implied2degrees.dot
new file mode 100644
index 000000000..a8f8c5c48
--- /dev/null
+++ b/hubzilla_er/diagrams/fserver.implied2degrees.dot
@@ -0,0 +1,159 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="server" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">server</TD><TD PORT="server.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="posturl" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">posturl</TD><TD PORT="posturl.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="key" COLSPAN="2" ALIGN="LEFT">key</TD><TD PORT="key.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/fserver.implied2degrees.png b/hubzilla_er/diagrams/fserver.implied2degrees.png
new file mode 100644
index 000000000..25cab82df
--- /dev/null
+++ b/hubzilla_er/diagrams/fserver.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/fsuggest.1degree.dot b/hubzilla_er/diagrams/fsuggest.1degree.dot
new file mode 100644
index 000000000..9a1e77791
--- /dev/null
+++ b/hubzilla_er/diagrams/fsuggest.1degree.dot
@@ -0,0 +1,40 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="2" ALIGN="LEFT">cid</TD><TD PORT="cid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="url" COLSPAN="2" ALIGN="LEFT">url</TD><TD PORT="url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="request" COLSPAN="2" ALIGN="LEFT">request</TD><TD PORT="request.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="note" COLSPAN="2" ALIGN="LEFT">note</TD><TD PORT="note.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+}
diff --git a/hubzilla_er/diagrams/fsuggest.1degree.png b/hubzilla_er/diagrams/fsuggest.1degree.png
new file mode 100644
index 000000000..dbc01894b
--- /dev/null
+++ b/hubzilla_er/diagrams/fsuggest.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/fsuggest.implied2degrees.dot b/hubzilla_er/diagrams/fsuggest.implied2degrees.dot
new file mode 100644
index 000000000..1d027d2a1
--- /dev/null
+++ b/hubzilla_er/diagrams/fsuggest.implied2degrees.dot
@@ -0,0 +1,164 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="2" ALIGN="LEFT">cid</TD><TD PORT="cid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="url" COLSPAN="2" ALIGN="LEFT">url</TD><TD PORT="url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="request" COLSPAN="2" ALIGN="LEFT">request</TD><TD PORT="request.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="note" COLSPAN="2" ALIGN="LEFT">note</TD><TD PORT="note.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/fsuggest.implied2degrees.png b/hubzilla_er/diagrams/fsuggest.implied2degrees.png
new file mode 100644
index 000000000..d43bb1c9e
--- /dev/null
+++ b/hubzilla_er/diagrams/fsuggest.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/group_member.1degree.dot b/hubzilla_er/diagrams/group_member.1degree.dot
new file mode 100644
index 000000000..d7a0c6cea
--- /dev/null
+++ b/hubzilla_er/diagrams/group_member.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="gid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">gid</TD><TD PORT="gid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+}
diff --git a/hubzilla_er/diagrams/group_member.1degree.png b/hubzilla_er/diagrams/group_member.1degree.png
new file mode 100644
index 000000000..891ccf306
--- /dev/null
+++ b/hubzilla_er/diagrams/group_member.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/group_member.implied2degrees.dot b/hubzilla_er/diagrams/group_member.implied2degrees.dot
new file mode 100644
index 000000000..d0cb73fd1
--- /dev/null
+++ b/hubzilla_er/diagrams/group_member.implied2degrees.dot
@@ -0,0 +1,260 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="gid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">gid</TD><TD PORT="gid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/group_member.implied2degrees.png b/hubzilla_er/diagrams/group_member.implied2degrees.png
new file mode 100644
index 000000000..fed9f0ca7
--- /dev/null
+++ b/hubzilla_er/diagrams/group_member.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/groups.1degree.dot b/hubzilla_er/diagrams/groups.1degree.dot
new file mode 100644
index 000000000..dc40f24fc
--- /dev/null
+++ b/hubzilla_er/diagrams/groups.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="visible" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">visible</TD><TD PORT="visible.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">deleted</TD><TD PORT="deleted.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+}
diff --git a/hubzilla_er/diagrams/groups.1degree.png b/hubzilla_er/diagrams/groups.1degree.png
new file mode 100644
index 000000000..cb7b5d51c
--- /dev/null
+++ b/hubzilla_er/diagrams/groups.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/groups.implied2degrees.dot b/hubzilla_er/diagrams/groups.implied2degrees.dot
new file mode 100644
index 000000000..315e0d02c
--- /dev/null
+++ b/hubzilla_er/diagrams/groups.implied2degrees.dot
@@ -0,0 +1,262 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="visible" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">visible</TD><TD PORT="visible.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">deleted</TD><TD PORT="deleted.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/groups.implied2degrees.png b/hubzilla_er/diagrams/groups.implied2degrees.png
new file mode 100644
index 000000000..03df1cc72
--- /dev/null
+++ b/hubzilla_er/diagrams/groups.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/hook.1degree.dot b/hubzilla_er/diagrams/hook.1degree.dot
new file mode 100644
index 000000000..bd89b278c
--- /dev/null
+++ b/hubzilla_er/diagrams/hook.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="hook" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hook</TD><TD PORT="hook.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="file" COLSPAN="2" ALIGN="LEFT">file</TD><TD PORT="file.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="function" COLSPAN="2" ALIGN="LEFT">function</TD><TD PORT="function.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="2" ALIGN="LEFT">priority</TD><TD PORT="priority.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+}
diff --git a/hubzilla_er/diagrams/hook.1degree.png b/hubzilla_er/diagrams/hook.1degree.png
new file mode 100644
index 000000000..47885c040
--- /dev/null
+++ b/hubzilla_er/diagrams/hook.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/hook.implied2degrees.dot b/hubzilla_er/diagrams/hook.implied2degrees.dot
new file mode 100644
index 000000000..baae61221
--- /dev/null
+++ b/hubzilla_er/diagrams/hook.implied2degrees.dot
@@ -0,0 +1,160 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="hook" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hook</TD><TD PORT="hook.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="file" COLSPAN="2" ALIGN="LEFT">file</TD><TD PORT="file.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="function" COLSPAN="2" ALIGN="LEFT">function</TD><TD PORT="function.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="2" ALIGN="LEFT">priority</TD><TD PORT="priority.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/hook.implied2degrees.png b/hubzilla_er/diagrams/hook.implied2degrees.png
new file mode 100644
index 000000000..5b450e481
--- /dev/null
+++ b/hubzilla_er/diagrams/hook.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/item.1degree.dot b/hubzilla_er/diagrams/item.1degree.dot
new file mode 100644
index 000000000..5084997f5
--- /dev/null
+++ b/hubzilla_er/diagrams/item.1degree.dot
@@ -0,0 +1,104 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD><TD PORT="mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD><TD PORT="parent.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD><TD PORT="parent_mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="thr_parent" COLSPAN="2" ALIGN="LEFT">thr_parent</TD><TD PORT="thr_parent.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="commented" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">commented</TD><TD PORT="commented.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="received" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">received</TD><TD PORT="received.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="changed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">changed</TD><TD PORT="changed.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="comments_closed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">comments_closed</TD><TD PORT="comments_closed.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="owner_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">owner_xchan</TD><TD PORT="owner_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="author_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">author_xchan</TD><TD PORT="author_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="source_xchan" COLSPAN="2" ALIGN="LEFT">source_xchan</TD><TD PORT="source_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="mimetype" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mimetype</TD><TD PORT="mimetype.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="title" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">title</TD><TD PORT="title.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="body" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">body</TD><TD PORT="body.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="html" COLSPAN="2" ALIGN="LEFT">html</TD><TD PORT="html.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="app" COLSPAN="2" ALIGN="LEFT">app</TD><TD PORT="app.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="lang" COLSPAN="2" ALIGN="LEFT">lang</TD><TD PORT="lang.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD><TD PORT="revision.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD><TD PORT="verb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="obj_type" COLSPAN="2" ALIGN="LEFT">obj_type</TD><TD PORT="obj_type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="object" COLSPAN="2" ALIGN="LEFT">object</TD><TD PORT="object.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="tgt_type" COLSPAN="2" ALIGN="LEFT">tgt_type</TD><TD PORT="tgt_type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="target" COLSPAN="2" ALIGN="LEFT">target</TD><TD PORT="target.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="layout_mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">layout_mid</TD><TD PORT="layout_mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="postopts" COLSPAN="2" ALIGN="LEFT">postopts</TD><TD PORT="postopts.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="route" COLSPAN="2" ALIGN="LEFT">route</TD><TD PORT="route.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="llink" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">llink</TD><TD PORT="llink.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="plink" COLSPAN="2" ALIGN="LEFT">plink</TD><TD PORT="plink.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="2" ALIGN="LEFT">resource_id</TD><TD PORT="resource_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="resource_type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_type</TD><TD PORT="resource_type.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="2" ALIGN="LEFT">attach</TD><TD PORT="attach.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="2" ALIGN="LEFT">sig</TD><TD PORT="sig.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="diaspora_meta" COLSPAN="2" ALIGN="LEFT">diaspora_meta</TD><TD PORT="diaspora_meta.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="location" COLSPAN="2" ALIGN="LEFT">location</TD><TD PORT="location.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="coord" COLSPAN="2" ALIGN="LEFT">coord</TD><TD PORT="coord.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="public_policy" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">public_policy</TD><TD PORT="public_policy.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="comment_policy" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">comment_policy</TD><TD PORT="comment_policy.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="item_restrict" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_restrict</TD><TD PORT="item_restrict.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="item_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_flags</TD><TD PORT="item_flags.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="item_private" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_private</TD><TD PORT="item_private.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_origin" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_origin</TD><TD PORT="item_origin.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_unseen" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unseen</TD><TD PORT="item_unseen.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_starred" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_starred</TD><TD PORT="item_starred.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_uplink" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_uplink</TD><TD PORT="item_uplink.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_consensus" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_consensus</TD><TD PORT="item_consensus.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_wall" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_wall</TD><TD PORT="item_wall.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_thread_top" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_thread_top</TD><TD PORT="item_thread_top.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_notshown" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_notshown</TD><TD PORT="item_notshown.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_nsfw" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nsfw</TD><TD PORT="item_nsfw.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_relay" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_relay</TD><TD PORT="item_relay.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_mentionsme" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_mentionsme</TD><TD PORT="item_mentionsme.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_nocomment" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nocomment</TD><TD PORT="item_nocomment.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_obscured" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_obscured</TD><TD PORT="item_obscured.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_verified" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_verified</TD><TD PORT="item_verified.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_retained" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_retained</TD><TD PORT="item_retained.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_rss" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_rss</TD><TD PORT="item_rss.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_deleted</TD><TD PORT="item_deleted.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_type</TD><TD PORT="item_type.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="item_hidden" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_hidden</TD><TD PORT="item_hidden.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_unpublished" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unpublished</TD><TD PORT="item_unpublished.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_delayed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_delayed</TD><TD PORT="item_delayed.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_pending_remove" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_pending_remove</TD><TD PORT="item_pending_remove.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_blocked" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_blocked</TD><TD PORT="item_blocked.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+}
diff --git a/hubzilla_er/diagrams/item.1degree.png b/hubzilla_er/diagrams/item.1degree.png
new file mode 100644
index 000000000..9bffc4236
--- /dev/null
+++ b/hubzilla_er/diagrams/item.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/item.implied2degrees.dot b/hubzilla_er/diagrams/item.implied2degrees.dot
new file mode 100644
index 000000000..d16148576
--- /dev/null
+++ b/hubzilla_er/diagrams/item.implied2degrees.dot
@@ -0,0 +1,329 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD><TD PORT="mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD><TD PORT="parent.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD><TD PORT="parent_mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="thr_parent" COLSPAN="2" ALIGN="LEFT">thr_parent</TD><TD PORT="thr_parent.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="commented" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">commented</TD><TD PORT="commented.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="received" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">received</TD><TD PORT="received.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="changed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">changed</TD><TD PORT="changed.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="comments_closed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">comments_closed</TD><TD PORT="comments_closed.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="owner_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">owner_xchan</TD><TD PORT="owner_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="author_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">author_xchan</TD><TD PORT="author_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="source_xchan" COLSPAN="2" ALIGN="LEFT">source_xchan</TD><TD PORT="source_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="mimetype" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mimetype</TD><TD PORT="mimetype.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="title" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">title</TD><TD PORT="title.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="body" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">body</TD><TD PORT="body.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="html" COLSPAN="2" ALIGN="LEFT">html</TD><TD PORT="html.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="app" COLSPAN="2" ALIGN="LEFT">app</TD><TD PORT="app.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="lang" COLSPAN="2" ALIGN="LEFT">lang</TD><TD PORT="lang.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD><TD PORT="revision.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD><TD PORT="verb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="obj_type" COLSPAN="2" ALIGN="LEFT">obj_type</TD><TD PORT="obj_type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="object" COLSPAN="2" ALIGN="LEFT">object</TD><TD PORT="object.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="tgt_type" COLSPAN="2" ALIGN="LEFT">tgt_type</TD><TD PORT="tgt_type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="target" COLSPAN="2" ALIGN="LEFT">target</TD><TD PORT="target.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="layout_mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">layout_mid</TD><TD PORT="layout_mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="postopts" COLSPAN="2" ALIGN="LEFT">postopts</TD><TD PORT="postopts.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="route" COLSPAN="2" ALIGN="LEFT">route</TD><TD PORT="route.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="llink" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">llink</TD><TD PORT="llink.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="plink" COLSPAN="2" ALIGN="LEFT">plink</TD><TD PORT="plink.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="2" ALIGN="LEFT">resource_id</TD><TD PORT="resource_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="resource_type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_type</TD><TD PORT="resource_type.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="2" ALIGN="LEFT">attach</TD><TD PORT="attach.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="2" ALIGN="LEFT">sig</TD><TD PORT="sig.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="diaspora_meta" COLSPAN="2" ALIGN="LEFT">diaspora_meta</TD><TD PORT="diaspora_meta.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="location" COLSPAN="2" ALIGN="LEFT">location</TD><TD PORT="location.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="coord" COLSPAN="2" ALIGN="LEFT">coord</TD><TD PORT="coord.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="public_policy" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">public_policy</TD><TD PORT="public_policy.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="comment_policy" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">comment_policy</TD><TD PORT="comment_policy.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="item_restrict" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_restrict</TD><TD PORT="item_restrict.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="item_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_flags</TD><TD PORT="item_flags.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="item_private" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_private</TD><TD PORT="item_private.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_origin" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_origin</TD><TD PORT="item_origin.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_unseen" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unseen</TD><TD PORT="item_unseen.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_starred" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_starred</TD><TD PORT="item_starred.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_uplink" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_uplink</TD><TD PORT="item_uplink.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_consensus" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_consensus</TD><TD PORT="item_consensus.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_wall" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_wall</TD><TD PORT="item_wall.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_thread_top" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_thread_top</TD><TD PORT="item_thread_top.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_notshown" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_notshown</TD><TD PORT="item_notshown.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_nsfw" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nsfw</TD><TD PORT="item_nsfw.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_relay" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_relay</TD><TD PORT="item_relay.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_mentionsme" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_mentionsme</TD><TD PORT="item_mentionsme.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_nocomment" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nocomment</TD><TD PORT="item_nocomment.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_obscured" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_obscured</TD><TD PORT="item_obscured.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_verified" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_verified</TD><TD PORT="item_verified.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_retained" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_retained</TD><TD PORT="item_retained.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_rss" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_rss</TD><TD PORT="item_rss.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_deleted</TD><TD PORT="item_deleted.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_type</TD><TD PORT="item_type.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="item_hidden" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_hidden</TD><TD PORT="item_hidden.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_unpublished" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unpublished</TD><TD PORT="item_unpublished.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_delayed" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_delayed</TD><TD PORT="item_delayed.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_pending_remove" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_pending_remove</TD><TD PORT="item_pending_remove.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="item_blocked" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">item_blocked</TD><TD PORT="item_blocked.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/item.implied2degrees.png b/hubzilla_er/diagrams/item.implied2degrees.png
new file mode 100644
index 000000000..d909c2e71
--- /dev/null
+++ b/hubzilla_er/diagrams/item.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/item_id.1degree.dot b/hubzilla_er/diagrams/item_id.1degree.dot
new file mode 100644
index 000000000..f92bfbd20
--- /dev/null
+++ b/hubzilla_er/diagrams/item_id.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD><TD PORT="iid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="sid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">sid</TD><TD PORT="sid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="service" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">service</TD><TD PORT="service.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+}
diff --git a/hubzilla_er/diagrams/item_id.1degree.png b/hubzilla_er/diagrams/item_id.1degree.png
new file mode 100644
index 000000000..cf3c4a22d
--- /dev/null
+++ b/hubzilla_er/diagrams/item_id.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/item_id.implied2degrees.dot b/hubzilla_er/diagrams/item_id.implied2degrees.dot
new file mode 100644
index 000000000..7cdbd3403
--- /dev/null
+++ b/hubzilla_er/diagrams/item_id.implied2degrees.dot
@@ -0,0 +1,261 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD><TD PORT="iid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="sid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">sid</TD><TD PORT="sid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="service" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">service</TD><TD PORT="service.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/item_id.implied2degrees.png b/hubzilla_er/diagrams/item_id.implied2degrees.png
new file mode 100644
index 000000000..3537e624f
--- /dev/null
+++ b/hubzilla_er/diagrams/item_id.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/likes.1degree.dot b/hubzilla_er/diagrams/likes.1degree.dot
new file mode 100644
index 000000000..45edc60c1
--- /dev/null
+++ b/hubzilla_er/diagrams/likes.1degree.dot
@@ -0,0 +1,40 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="liker" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">liker</TD><TD PORT="liker.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="likee" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">likee</TD><TD PORT="likee.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD><TD PORT="iid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD><TD PORT="verb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="target_type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">target_type</TD><TD PORT="target_type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="target_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">target_id</TD><TD PORT="target_id.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="target" COLSPAN="2" ALIGN="LEFT">target</TD><TD PORT="target.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+}
diff --git a/hubzilla_er/diagrams/likes.1degree.png b/hubzilla_er/diagrams/likes.1degree.png
new file mode 100644
index 000000000..65e60b69c
--- /dev/null
+++ b/hubzilla_er/diagrams/likes.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/likes.implied2degrees.dot b/hubzilla_er/diagrams/likes.implied2degrees.dot
new file mode 100644
index 000000000..1eb95efd7
--- /dev/null
+++ b/hubzilla_er/diagrams/likes.implied2degrees.dot
@@ -0,0 +1,325 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "likes":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD></TR>
+ <TR><TD PORT="channel_guid_sig" COLSPAN="3" ALIGN="LEFT">channel_guid_sig</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD></TR>
+ <TR><TD PORT="channel_startpage" COLSPAN="3" ALIGN="LEFT">channel_startpage</TD></TR>
+ <TR><TD PORT="channel_pubkey" COLSPAN="3" ALIGN="LEFT">channel_pubkey</TD></TR>
+ <TR><TD PORT="channel_prvkey" COLSPAN="3" ALIGN="LEFT">channel_prvkey</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD></TR>
+ <TR><TD PORT="channel_passwd_reset" COLSPAN="3" ALIGN="LEFT">channel_passwd_reset</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD></TR>
+ <TR><TD PORT="channel_allow_cid" COLSPAN="3" ALIGN="LEFT">channel_allow_cid</TD></TR>
+ <TR><TD PORT="channel_allow_gid" COLSPAN="3" ALIGN="LEFT">channel_allow_gid</TD></TR>
+ <TR><TD PORT="channel_deny_cid" COLSPAN="3" ALIGN="LEFT">channel_deny_cid</TD></TR>
+ <TR><TD PORT="channel_deny_gid" COLSPAN="3" ALIGN="LEFT">channel_deny_gid</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="liker" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">liker</TD><TD PORT="liker.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="likee" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">likee</TD><TD PORT="likee.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD><TD PORT="iid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD><TD PORT="verb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="target_type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">target_type</TD><TD PORT="target_type.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="target_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">target_id</TD><TD PORT="target_id.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="target" COLSPAN="2" ALIGN="LEFT">target</TD><TD PORT="target.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/likes.implied2degrees.png b/hubzilla_er/diagrams/likes.implied2degrees.png
new file mode 100644
index 000000000..cbf3ed658
--- /dev/null
+++ b/hubzilla_er/diagrams/likes.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/mail.1degree.dot b/hubzilla_er/diagrams/mail.1degree.dot
new file mode 100644
index 000000000..9665d4251
--- /dev/null
+++ b/hubzilla_er/diagrams/mail.1degree.dot
@@ -0,0 +1,52 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD><TD PORT="convid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD><TD PORT="mail_flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD><TD PORT="from_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD><TD PORT="to_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD><TD PORT="account_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="title" COLSPAN="2" ALIGN="LEFT">title</TD><TD PORT="title.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="body" COLSPAN="2" ALIGN="LEFT">body</TD><TD PORT="body.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="2" ALIGN="LEFT">sig</TD><TD PORT="sig.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="2" ALIGN="LEFT">attach</TD><TD PORT="attach.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD><TD PORT="mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD><TD PORT="parent_mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD><TD PORT="mail_deleted.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD><TD PORT="mail_replied.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD><TD PORT="mail_isreply.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD><TD PORT="mail_seen.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD><TD PORT="mail_recalled.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD><TD PORT="mail_obscured.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+}
diff --git a/hubzilla_er/diagrams/mail.1degree.png b/hubzilla_er/diagrams/mail.1degree.png
new file mode 100644
index 000000000..2250e2540
--- /dev/null
+++ b/hubzilla_er/diagrams/mail.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/mail.implied2degrees.dot b/hubzilla_er/diagrams/mail.implied2degrees.dot
new file mode 100644
index 000000000..2142d5d54
--- /dev/null
+++ b/hubzilla_er/diagrams/mail.implied2degrees.dot
@@ -0,0 +1,365 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"account_id":w -> "account":"account_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "account" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="account_parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_parent</TD></TR>
+ <TR><TD PORT="account_default_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_default_channel</TD></TR>
+ <TR><TD PORT="account_salt" COLSPAN="3" ALIGN="LEFT">account_salt</TD></TR>
+ <TR><TD PORT="account_password" COLSPAN="3" ALIGN="LEFT">account_password</TD></TR>
+ <TR><TD PORT="account_email" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_email</TD></TR>
+ <TR><TD PORT="account_external" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_external</TD></TR>
+ <TR><TD PORT="account_language" COLSPAN="3" ALIGN="LEFT">account_language</TD></TR>
+ <TR><TD PORT="account_created" COLSPAN="3" ALIGN="LEFT">account_created</TD></TR>
+ <TR><TD PORT="account_lastlog" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_lastlog</TD></TR>
+ <TR><TD PORT="account_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_flags</TD></TR>
+ <TR><TD PORT="account_roles" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_roles</TD></TR>
+ <TR><TD PORT="account_reset" COLSPAN="3" ALIGN="LEFT">account_reset</TD></TR>
+ <TR><TD PORT="account_expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_expires</TD></TR>
+ <TR><TD PORT="account_expire_notified" COLSPAN="3" ALIGN="LEFT">account_expire_notified</TD></TR>
+ <TR><TD PORT="account_service_class" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_service_class</TD></TR>
+ <TR><TD PORT="account_level" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_level</TD></TR>
+ <TR><TD PORT="account_password_changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_password_changed</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 &gt;</TD></TR>
+ </TABLE>>
+ URL="account.html"
+ tooltip="account"
+ ];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD></TR>
+ <TR><TD PORT="channel_guid_sig" COLSPAN="3" ALIGN="LEFT">channel_guid_sig</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD></TR>
+ <TR><TD PORT="channel_startpage" COLSPAN="3" ALIGN="LEFT">channel_startpage</TD></TR>
+ <TR><TD PORT="channel_pubkey" COLSPAN="3" ALIGN="LEFT">channel_pubkey</TD></TR>
+ <TR><TD PORT="channel_prvkey" COLSPAN="3" ALIGN="LEFT">channel_prvkey</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD></TR>
+ <TR><TD PORT="channel_passwd_reset" COLSPAN="3" ALIGN="LEFT">channel_passwd_reset</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD></TR>
+ <TR><TD PORT="channel_allow_cid" COLSPAN="3" ALIGN="LEFT">channel_allow_cid</TD></TR>
+ <TR><TD PORT="channel_allow_gid" COLSPAN="3" ALIGN="LEFT">channel_allow_gid</TD></TR>
+ <TR><TD PORT="channel_deny_cid" COLSPAN="3" ALIGN="LEFT">channel_deny_cid</TD></TR>
+ <TR><TD PORT="channel_deny_gid" COLSPAN="3" ALIGN="LEFT">channel_deny_gid</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD><TD PORT="convid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD><TD PORT="mail_flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD><TD PORT="from_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD><TD PORT="to_xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD><TD PORT="account_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="title" COLSPAN="2" ALIGN="LEFT">title</TD><TD PORT="title.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="body" COLSPAN="2" ALIGN="LEFT">body</TD><TD PORT="body.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="2" ALIGN="LEFT">sig</TD><TD PORT="sig.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="2" ALIGN="LEFT">attach</TD><TD PORT="attach.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD><TD PORT="mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD><TD PORT="parent_mid.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD><TD PORT="mail_deleted.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD><TD PORT="mail_replied.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD><TD PORT="mail_isreply.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD><TD PORT="mail_seen.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD><TD PORT="mail_recalled.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD><TD PORT="mail_obscured.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/mail.implied2degrees.png b/hubzilla_er/diagrams/mail.implied2degrees.png
new file mode 100644
index 000000000..6f16faf16
--- /dev/null
+++ b/hubzilla_er/diagrams/mail.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/manage.1degree.dot b/hubzilla_er/diagrams/manage.1degree.dot
new file mode 100644
index 000000000..477448c84
--- /dev/null
+++ b/hubzilla_er/diagrams/manage.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+}
diff --git a/hubzilla_er/diagrams/manage.1degree.png b/hubzilla_er/diagrams/manage.1degree.png
new file mode 100644
index 000000000..cd1703abb
--- /dev/null
+++ b/hubzilla_er/diagrams/manage.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/manage.implied2degrees.dot b/hubzilla_er/diagrams/manage.implied2degrees.dot
new file mode 100644
index 000000000..73ee44cc6
--- /dev/null
+++ b/hubzilla_er/diagrams/manage.implied2degrees.dot
@@ -0,0 +1,158 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/manage.implied2degrees.png b/hubzilla_er/diagrams/manage.implied2degrees.png
new file mode 100644
index 000000000..04027b5d8
--- /dev/null
+++ b/hubzilla_er/diagrams/manage.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/notify.1degree.dot b/hubzilla_er/diagrams/notify.1degree.dot
new file mode 100644
index 000000000..aedb0a968
--- /dev/null
+++ b/hubzilla_er/diagrams/notify.1degree.dot
@@ -0,0 +1,46 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="url" COLSPAN="2" ALIGN="LEFT">url</TD><TD PORT="url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="date" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD><TD PORT="date.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="2" ALIGN="LEFT">msg</TD><TD PORT="msg.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="link" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD><TD PORT="link.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD><TD PORT="parent.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD><TD PORT="seen.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="2" ALIGN="LEFT">verb</TD><TD PORT="verb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD><TD PORT="otype.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+}
diff --git a/hubzilla_er/diagrams/notify.1degree.png b/hubzilla_er/diagrams/notify.1degree.png
new file mode 100644
index 000000000..c0ed622d5
--- /dev/null
+++ b/hubzilla_er/diagrams/notify.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/notify.implied2degrees.dot b/hubzilla_er/diagrams/notify.implied2degrees.dot
new file mode 100644
index 000000000..9c4626bdb
--- /dev/null
+++ b/hubzilla_er/diagrams/notify.implied2degrees.dot
@@ -0,0 +1,279 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"k":w -> "cache":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"id":w -> "notify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="version" COLSPAN="3" ALIGN="LEFT">version</TD></TR>
+ <TR><TD PORT="installed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">installed</TD></TR>
+ <TR><TD PORT="hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hidden</TD></TR>
+ <TR><TD PORT="timestamp" COLSPAN="3" ALIGN="LEFT">timestamp</TD></TR>
+ <TR><TD PORT="plugin_admin" COLSPAN="3" ALIGN="LEFT">plugin_admin</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="app_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_id</TD></TR>
+ <TR><TD PORT="app_sig" COLSPAN="3" ALIGN="LEFT">app_sig</TD></TR>
+ <TR><TD PORT="app_author" COLSPAN="3" ALIGN="LEFT">app_author</TD></TR>
+ <TR><TD PORT="app_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_name</TD></TR>
+ <TR><TD PORT="app_desc" COLSPAN="3" ALIGN="LEFT">app_desc</TD></TR>
+ <TR><TD PORT="app_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_url</TD></TR>
+ <TR><TD PORT="app_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_photo</TD></TR>
+ <TR><TD PORT="app_version" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_version</TD></TR>
+ <TR><TD PORT="app_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_channel</TD></TR>
+ <TR><TD PORT="app_addr" COLSPAN="3" ALIGN="LEFT">app_addr</TD></TR>
+ <TR><TD PORT="app_price" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_price</TD></TR>
+ <TR><TD PORT="app_page" COLSPAN="3" ALIGN="LEFT">app_page</TD></TR>
+ <TR><TD PORT="app_requires" COLSPAN="3" ALIGN="LEFT">app_requires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="event_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_xchan</TD></TR>
+ <TR><TD PORT="event_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_hash</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="start" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">start</TD></TR>
+ <TR><TD PORT="finish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">finish</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="3" ALIGN="LEFT">summary</TD></TR>
+ <TR><TD PORT="description" COLSPAN="3" ALIGN="LEFT">description</TD></TR>
+ <TR><TD PORT="location" COLSPAN="3" ALIGN="LEFT">location</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="nofinish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">nofinish</TD></TR>
+ <TR><TD PORT="adjust" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">adjust</TD></TR>
+ <TR><TD PORT="ignore" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ignore</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="event_status" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_status</TD></TR>
+ <TR><TD PORT="event_status_date" COLSPAN="3" ALIGN="LEFT">event_status_date</TD></TR>
+ <TR><TD PORT="event_percent" COLSPAN="3" ALIGN="LEFT">event_percent</TD></TR>
+ <TR><TD PORT="event_repeat" COLSPAN="3" ALIGN="LEFT">event_repeat</TD></TR>
+ <TR><TD PORT="event_sequence" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_sequence</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="server" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">server</TD></TR>
+ <TR><TD PORT="posturl" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">posturl</TD></TR>
+ <TR><TD PORT="key" COLSPAN="3" ALIGN="LEFT">key</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="request" COLSPAN="3" ALIGN="LEFT">request</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="note" COLSPAN="3" ALIGN="LEFT">note</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hook</TD></TR>
+ <TR><TD PORT="file" COLSPAN="3" ALIGN="LEFT">file</TD></TR>
+ <TR><TD PORT="function" COLSPAN="3" ALIGN="LEFT">function</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="3" ALIGN="LEFT">priority</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="url" COLSPAN="2" ALIGN="LEFT">url</TD><TD PORT="url.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="date" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD><TD PORT="date.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="2" ALIGN="LEFT">msg</TD><TD PORT="msg.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="link" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD><TD PORT="link.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD><TD PORT="parent.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD><TD PORT="seen.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="2" ALIGN="LEFT">verb</TD><TD PORT="verb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD><TD PORT="otype.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="profile_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile_guid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="profile_name" COLSPAN="3" ALIGN="LEFT">profile_name</TD></TR>
+ <TR><TD PORT="is_default" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_default</TD></TR>
+ <TR><TD PORT="hide_friends" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hide_friends</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="pdesc" COLSPAN="3" ALIGN="LEFT">pdesc</TD></TR>
+ <TR><TD PORT="chandesc" COLSPAN="3" ALIGN="LEFT">chandesc</TD></TR>
+ <TR><TD PORT="dob" COLSPAN="3" ALIGN="LEFT">dob</TD></TR>
+ <TR><TD PORT="dob_tz" COLSPAN="3" ALIGN="LEFT">dob_tz</TD></TR>
+ <TR><TD PORT="address" COLSPAN="3" ALIGN="LEFT">address</TD></TR>
+ <TR><TD PORT="locality" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">locality</TD></TR>
+ <TR><TD PORT="region" COLSPAN="3" ALIGN="LEFT">region</TD></TR>
+ <TR><TD PORT="postal_code" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">postal_code</TD></TR>
+ <TR><TD PORT="country_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">country_name</TD></TR>
+ <TR><TD PORT="hometown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hometown</TD></TR>
+ <TR><TD PORT="gender" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gender</TD></TR>
+ <TR><TD PORT="marital" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">marital</TD></TR>
+ <TR><TD PORT="with" COLSPAN="3" ALIGN="LEFT">with</TD></TR>
+ <TR><TD PORT="howlong" COLSPAN="3" ALIGN="LEFT">howlong</TD></TR>
+ <TR><TD PORT="sexual" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sexual</TD></TR>
+ <TR><TD PORT="politic" COLSPAN="3" ALIGN="LEFT">politic</TD></TR>
+ <TR><TD PORT="religion" COLSPAN="3" ALIGN="LEFT">religion</TD></TR>
+ <TR><TD PORT="keywords" COLSPAN="3" ALIGN="LEFT">keywords</TD></TR>
+ <TR><TD PORT="likes" COLSPAN="3" ALIGN="LEFT">likes</TD></TR>
+ <TR><TD PORT="dislikes" COLSPAN="3" ALIGN="LEFT">dislikes</TD></TR>
+ <TR><TD PORT="about" COLSPAN="3" ALIGN="LEFT">about</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="3" ALIGN="LEFT">summary</TD></TR>
+ <TR><TD PORT="music" COLSPAN="3" ALIGN="LEFT">music</TD></TR>
+ <TR><TD PORT="book" COLSPAN="3" ALIGN="LEFT">book</TD></TR>
+ <TR><TD PORT="tv" COLSPAN="3" ALIGN="LEFT">tv</TD></TR>
+ <TR><TD PORT="film" COLSPAN="3" ALIGN="LEFT">film</TD></TR>
+ <TR><TD PORT="interest" COLSPAN="3" ALIGN="LEFT">interest</TD></TR>
+ <TR><TD PORT="romance" COLSPAN="3" ALIGN="LEFT">romance</TD></TR>
+ <TR><TD PORT="work" COLSPAN="3" ALIGN="LEFT">work</TD></TR>
+ <TR><TD PORT="education" COLSPAN="3" ALIGN="LEFT">education</TD></TR>
+ <TR><TD PORT="contact" COLSPAN="3" ALIGN="LEFT">contact</TD></TR>
+ <TR><TD PORT="channels" COLSPAN="3" ALIGN="LEFT">channels</TD></TR>
+ <TR><TD PORT="homepage" COLSPAN="3" ALIGN="LEFT">homepage</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="thumb" COLSPAN="3" ALIGN="LEFT">thumb</TD></TR>
+ <TR><TD PORT="publish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">publish</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="spam" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">spam</TD></TR>
+ <TR><TD PORT="ham" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ham</TD></TR>
+ <TR><TD PORT="term" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">term</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" ALIGN="LEFT">date</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/notify.implied2degrees.png b/hubzilla_er/diagrams/notify.implied2degrees.png
new file mode 100644
index 000000000..a511439f3
--- /dev/null
+++ b/hubzilla_er/diagrams/notify.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/pconfig.1degree.dot b/hubzilla_er/diagrams/pconfig.1degree.dot
new file mode 100644
index 000000000..298a46ff6
--- /dev/null
+++ b/hubzilla_er/diagrams/pconfig.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+}
diff --git a/hubzilla_er/diagrams/pconfig.1degree.png b/hubzilla_er/diagrams/pconfig.1degree.png
new file mode 100644
index 000000000..bdd28696e
--- /dev/null
+++ b/hubzilla_er/diagrams/pconfig.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/pconfig.implied2degrees.dot b/hubzilla_er/diagrams/pconfig.implied2degrees.dot
new file mode 100644
index 000000000..ceef2e2c3
--- /dev/null
+++ b/hubzilla_er/diagrams/pconfig.implied2degrees.dot
@@ -0,0 +1,217 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+}
diff --git a/hubzilla_er/diagrams/pconfig.implied2degrees.png b/hubzilla_er/diagrams/pconfig.implied2degrees.png
new file mode 100644
index 000000000..2ca04a341
--- /dev/null
+++ b/hubzilla_er/diagrams/pconfig.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/photo.1degree.dot b/hubzilla_er/diagrams/photo.1degree.dot
new file mode 100644
index 000000000..b648a58e6
--- /dev/null
+++ b/hubzilla_er/diagrams/photo.1degree.dot
@@ -0,0 +1,59 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_id</TD><TD PORT="resource_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="title" COLSPAN="2" ALIGN="LEFT">title</TD><TD PORT="title.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="description" COLSPAN="2" ALIGN="LEFT">description</TD><TD PORT="description.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="album" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">album</TD><TD PORT="album.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="2" ALIGN="LEFT">filename</TD><TD PORT="filename.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="height" COLSPAN="2" ALIGN="LEFT">height</TD><TD PORT="height.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="width" COLSPAN="2" ALIGN="LEFT">width</TD><TD PORT="width.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="size" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">size</TD><TD PORT="size.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="data" COLSPAN="2" ALIGN="LEFT">data</TD><TD PORT="data.type" ALIGN="LEFT">mediumblob[16777215]</TD></TR>
+ <TR><TD PORT="scale" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">scale</TD><TD PORT="scale.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="photo_usage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_usage</TD><TD PORT="photo_usage.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="profile" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">profile</TD><TD PORT="profile.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="is_nsfw" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_nsfw</TD><TD PORT="is_nsfw.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD><TD PORT="os_storage.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="2" ALIGN="LEFT">os_path</TD><TD PORT="os_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="2" ALIGN="LEFT">display_path</TD><TD PORT="display_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="photo_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_flags</TD><TD PORT="photo_flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+}
diff --git a/hubzilla_er/diagrams/photo.1degree.png b/hubzilla_er/diagrams/photo.1degree.png
new file mode 100644
index 000000000..34bb4f9ba
--- /dev/null
+++ b/hubzilla_er/diagrams/photo.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/photo.implied2degrees.dot b/hubzilla_er/diagrams/photo.implied2degrees.dot
new file mode 100644
index 000000000..728150afd
--- /dev/null
+++ b/hubzilla_er/diagrams/photo.implied2degrees.dot
@@ -0,0 +1,284 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_id</TD><TD PORT="resource_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="2" ALIGN="LEFT">edited</TD><TD PORT="edited.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="title" COLSPAN="2" ALIGN="LEFT">title</TD><TD PORT="title.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="description" COLSPAN="2" ALIGN="LEFT">description</TD><TD PORT="description.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="album" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">album</TD><TD PORT="album.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="2" ALIGN="LEFT">filename</TD><TD PORT="filename.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">char[128]</TD></TR>
+ <TR><TD PORT="height" COLSPAN="2" ALIGN="LEFT">height</TD><TD PORT="height.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="width" COLSPAN="2" ALIGN="LEFT">width</TD><TD PORT="width.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="size" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">size</TD><TD PORT="size.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="data" COLSPAN="2" ALIGN="LEFT">data</TD><TD PORT="data.type" ALIGN="LEFT">mediumblob[16777215]</TD></TR>
+ <TR><TD PORT="scale" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">scale</TD><TD PORT="scale.type" ALIGN="LEFT">tinyint[3]</TD></TR>
+ <TR><TD PORT="photo_usage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_usage</TD><TD PORT="photo_usage.type" ALIGN="LEFT">smallint[5]</TD></TR>
+ <TR><TD PORT="profile" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">profile</TD><TD PORT="profile.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="is_nsfw" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_nsfw</TD><TD PORT="is_nsfw.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD><TD PORT="os_storage.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="2" ALIGN="LEFT">os_path</TD><TD PORT="os_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="2" ALIGN="LEFT">display_path</TD><TD PORT="display_path.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="photo_flags" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_flags</TD><TD PORT="photo_flags.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="2" ALIGN="LEFT">allow_cid</TD><TD PORT="allow_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="2" ALIGN="LEFT">allow_gid</TD><TD PORT="allow_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="2" ALIGN="LEFT">deny_cid</TD><TD PORT="deny_cid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="2" ALIGN="LEFT">deny_gid</TD><TD PORT="deny_gid.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/photo.implied2degrees.png b/hubzilla_er/diagrams/photo.implied2degrees.png
new file mode 100644
index 000000000..cfa6d0d2e
--- /dev/null
+++ b/hubzilla_er/diagrams/photo.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profdef.1degree.dot b/hubzilla_er/diagrams/profdef.1degree.dot
new file mode 100644
index 000000000..d01868b36
--- /dev/null
+++ b/hubzilla_er/diagrams/profdef.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="field_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">field_name</TD><TD PORT="field_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="field_type" COLSPAN="2" ALIGN="LEFT">field_type</TD><TD PORT="field_type.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD PORT="field_desc" COLSPAN="2" ALIGN="LEFT">field_desc</TD><TD PORT="field_desc.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="field_help" COLSPAN="2" ALIGN="LEFT">field_help</TD><TD PORT="field_help.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="field_inputs" COLSPAN="2" ALIGN="LEFT">field_inputs</TD><TD PORT="field_inputs.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profdef.1degree.png b/hubzilla_er/diagrams/profdef.1degree.png
new file mode 100644
index 000000000..5fd0a8cc3
--- /dev/null
+++ b/hubzilla_er/diagrams/profdef.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profdef.implied2degrees.dot b/hubzilla_er/diagrams/profdef.implied2degrees.dot
new file mode 100644
index 000000000..6d908944e
--- /dev/null
+++ b/hubzilla_er/diagrams/profdef.implied2degrees.dot
@@ -0,0 +1,262 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="field_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">field_name</TD><TD PORT="field_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="field_type" COLSPAN="2" ALIGN="LEFT">field_type</TD><TD PORT="field_type.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD PORT="field_desc" COLSPAN="2" ALIGN="LEFT">field_desc</TD><TD PORT="field_desc.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="field_help" COLSPAN="2" ALIGN="LEFT">field_help</TD><TD PORT="field_help.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="field_inputs" COLSPAN="2" ALIGN="LEFT">field_inputs</TD><TD PORT="field_inputs.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profdef.implied2degrees.png b/hubzilla_er/diagrams/profdef.implied2degrees.png
new file mode 100644
index 000000000..1083c2515
--- /dev/null
+++ b/hubzilla_er/diagrams/profdef.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profext.1degree.dot b/hubzilla_er/diagrams/profext.1degree.dot
new file mode 100644
index 000000000..5384100bd
--- /dev/null
+++ b/hubzilla_er/diagrams/profext.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profext.1degree.png b/hubzilla_er/diagrams/profext.1degree.png
new file mode 100644
index 000000000..b7da3b97c
--- /dev/null
+++ b/hubzilla_er/diagrams/profext.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profext.implied2degrees.dot b/hubzilla_er/diagrams/profext.implied2degrees.dot
new file mode 100644
index 000000000..01b382c52
--- /dev/null
+++ b/hubzilla_er/diagrams/profext.implied2degrees.dot
@@ -0,0 +1,348 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD></TR>
+ <TR><TD PORT="channel_guid_sig" COLSPAN="3" ALIGN="LEFT">channel_guid_sig</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD></TR>
+ <TR><TD PORT="channel_startpage" COLSPAN="3" ALIGN="LEFT">channel_startpage</TD></TR>
+ <TR><TD PORT="channel_pubkey" COLSPAN="3" ALIGN="LEFT">channel_pubkey</TD></TR>
+ <TR><TD PORT="channel_prvkey" COLSPAN="3" ALIGN="LEFT">channel_prvkey</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD></TR>
+ <TR><TD PORT="channel_passwd_reset" COLSPAN="3" ALIGN="LEFT">channel_passwd_reset</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD></TR>
+ <TR><TD PORT="channel_allow_cid" COLSPAN="3" ALIGN="LEFT">channel_allow_cid</TD></TR>
+ <TR><TD PORT="channel_allow_gid" COLSPAN="3" ALIGN="LEFT">channel_allow_gid</TD></TR>
+ <TR><TD PORT="channel_deny_cid" COLSPAN="3" ALIGN="LEFT">channel_deny_cid</TD></TR>
+ <TR><TD PORT="channel_deny_gid" COLSPAN="3" ALIGN="LEFT">channel_deny_gid</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD><TD PORT="channel_id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profext.implied2degrees.png b/hubzilla_er/diagrams/profext.implied2degrees.png
new file mode 100644
index 000000000..718c54b76
--- /dev/null
+++ b/hubzilla_er/diagrams/profext.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profile.1degree.dot b/hubzilla_er/diagrams/profile.1degree.dot
new file mode 100644
index 000000000..c66c50b52
--- /dev/null
+++ b/hubzilla_er/diagrams/profile.1degree.dot
@@ -0,0 +1,75 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="profile_guid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">profile_guid</TD><TD PORT="profile_guid.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="profile_name" COLSPAN="2" ALIGN="LEFT">profile_name</TD><TD PORT="profile_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="is_default" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_default</TD><TD PORT="is_default.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="hide_friends" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hide_friends</TD><TD PORT="hide_friends.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="pdesc" COLSPAN="2" ALIGN="LEFT">pdesc</TD><TD PORT="pdesc.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="chandesc" COLSPAN="2" ALIGN="LEFT">chandesc</TD><TD PORT="chandesc.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="dob" COLSPAN="2" ALIGN="LEFT">dob</TD><TD PORT="dob.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="dob_tz" COLSPAN="2" ALIGN="LEFT">dob_tz</TD><TD PORT="dob_tz.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="address" COLSPAN="2" ALIGN="LEFT">address</TD><TD PORT="address.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="locality" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">locality</TD><TD PORT="locality.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="region" COLSPAN="2" ALIGN="LEFT">region</TD><TD PORT="region.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="postal_code" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">postal_code</TD><TD PORT="postal_code.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="country_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">country_name</TD><TD PORT="country_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="hometown" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hometown</TD><TD PORT="hometown.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="gender" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">gender</TD><TD PORT="gender.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="marital" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">marital</TD><TD PORT="marital.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="with" COLSPAN="2" ALIGN="LEFT">with</TD><TD PORT="with.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="howlong" COLSPAN="2" ALIGN="LEFT">howlong</TD><TD PORT="howlong.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="sexual" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">sexual</TD><TD PORT="sexual.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="politic" COLSPAN="2" ALIGN="LEFT">politic</TD><TD PORT="politic.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="religion" COLSPAN="2" ALIGN="LEFT">religion</TD><TD PORT="religion.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="keywords" COLSPAN="2" ALIGN="LEFT">keywords</TD><TD PORT="keywords.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="likes" COLSPAN="2" ALIGN="LEFT">likes</TD><TD PORT="likes.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="dislikes" COLSPAN="2" ALIGN="LEFT">dislikes</TD><TD PORT="dislikes.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="about" COLSPAN="2" ALIGN="LEFT">about</TD><TD PORT="about.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="2" ALIGN="LEFT">summary</TD><TD PORT="summary.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="music" COLSPAN="2" ALIGN="LEFT">music</TD><TD PORT="music.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="book" COLSPAN="2" ALIGN="LEFT">book</TD><TD PORT="book.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="tv" COLSPAN="2" ALIGN="LEFT">tv</TD><TD PORT="tv.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="film" COLSPAN="2" ALIGN="LEFT">film</TD><TD PORT="film.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="interest" COLSPAN="2" ALIGN="LEFT">interest</TD><TD PORT="interest.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="romance" COLSPAN="2" ALIGN="LEFT">romance</TD><TD PORT="romance.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="work" COLSPAN="2" ALIGN="LEFT">work</TD><TD PORT="work.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="education" COLSPAN="2" ALIGN="LEFT">education</TD><TD PORT="education.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="contact" COLSPAN="2" ALIGN="LEFT">contact</TD><TD PORT="contact.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channels" COLSPAN="2" ALIGN="LEFT">channels</TD><TD PORT="channels.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="homepage" COLSPAN="2" ALIGN="LEFT">homepage</TD><TD PORT="homepage.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="thumb" COLSPAN="2" ALIGN="LEFT">thumb</TD><TD PORT="thumb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="publish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">publish</TD><TD PORT="publish.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profile.1degree.png b/hubzilla_er/diagrams/profile.1degree.png
new file mode 100644
index 000000000..00b7ce7c8
--- /dev/null
+++ b/hubzilla_er/diagrams/profile.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profile.implied2degrees.dot b/hubzilla_er/diagrams/profile.implied2degrees.dot
new file mode 100644
index 000000000..6dd37a33a
--- /dev/null
+++ b/hubzilla_er/diagrams/profile.implied2degrees.dot
@@ -0,0 +1,199 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="profile_guid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">profile_guid</TD><TD PORT="profile_guid.type" ALIGN="LEFT">char[64]</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD><TD PORT="aid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="profile_name" COLSPAN="2" ALIGN="LEFT">profile_name</TD><TD PORT="profile_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="is_default" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">is_default</TD><TD PORT="is_default.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="hide_friends" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hide_friends</TD><TD PORT="hide_friends.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD PORT="name" COLSPAN="2" ALIGN="LEFT">name</TD><TD PORT="name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="pdesc" COLSPAN="2" ALIGN="LEFT">pdesc</TD><TD PORT="pdesc.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="chandesc" COLSPAN="2" ALIGN="LEFT">chandesc</TD><TD PORT="chandesc.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="dob" COLSPAN="2" ALIGN="LEFT">dob</TD><TD PORT="dob.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="dob_tz" COLSPAN="2" ALIGN="LEFT">dob_tz</TD><TD PORT="dob_tz.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="address" COLSPAN="2" ALIGN="LEFT">address</TD><TD PORT="address.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="locality" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">locality</TD><TD PORT="locality.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="region" COLSPAN="2" ALIGN="LEFT">region</TD><TD PORT="region.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="postal_code" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">postal_code</TD><TD PORT="postal_code.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="country_name" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">country_name</TD><TD PORT="country_name.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="hometown" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hometown</TD><TD PORT="hometown.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="gender" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">gender</TD><TD PORT="gender.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="marital" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">marital</TD><TD PORT="marital.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="with" COLSPAN="2" ALIGN="LEFT">with</TD><TD PORT="with.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="howlong" COLSPAN="2" ALIGN="LEFT">howlong</TD><TD PORT="howlong.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="sexual" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">sexual</TD><TD PORT="sexual.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="politic" COLSPAN="2" ALIGN="LEFT">politic</TD><TD PORT="politic.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="religion" COLSPAN="2" ALIGN="LEFT">religion</TD><TD PORT="religion.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="keywords" COLSPAN="2" ALIGN="LEFT">keywords</TD><TD PORT="keywords.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="likes" COLSPAN="2" ALIGN="LEFT">likes</TD><TD PORT="likes.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="dislikes" COLSPAN="2" ALIGN="LEFT">dislikes</TD><TD PORT="dislikes.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="about" COLSPAN="2" ALIGN="LEFT">about</TD><TD PORT="about.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="2" ALIGN="LEFT">summary</TD><TD PORT="summary.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="music" COLSPAN="2" ALIGN="LEFT">music</TD><TD PORT="music.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="book" COLSPAN="2" ALIGN="LEFT">book</TD><TD PORT="book.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="tv" COLSPAN="2" ALIGN="LEFT">tv</TD><TD PORT="tv.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="film" COLSPAN="2" ALIGN="LEFT">film</TD><TD PORT="film.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="interest" COLSPAN="2" ALIGN="LEFT">interest</TD><TD PORT="interest.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="romance" COLSPAN="2" ALIGN="LEFT">romance</TD><TD PORT="romance.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="work" COLSPAN="2" ALIGN="LEFT">work</TD><TD PORT="work.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="education" COLSPAN="2" ALIGN="LEFT">education</TD><TD PORT="education.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="contact" COLSPAN="2" ALIGN="LEFT">contact</TD><TD PORT="contact.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="channels" COLSPAN="2" ALIGN="LEFT">channels</TD><TD PORT="channels.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="homepage" COLSPAN="2" ALIGN="LEFT">homepage</TD><TD PORT="homepage.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="2" ALIGN="LEFT">photo</TD><TD PORT="photo.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="thumb" COLSPAN="2" ALIGN="LEFT">thumb</TD><TD PORT="thumb.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="publish" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">publish</TD><TD PORT="publish.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profile.implied2degrees.png b/hubzilla_er/diagrams/profile.implied2degrees.png
new file mode 100644
index 000000000..ceace167d
--- /dev/null
+++ b/hubzilla_er/diagrams/profile.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profile_check.1degree.dot b/hubzilla_er/diagrams/profile_check.1degree.dot
new file mode 100644
index 000000000..37bf28c85
--- /dev/null
+++ b/hubzilla_er/diagrams/profile_check.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD><TD PORT="cid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="dfrn_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">dfrn_id</TD><TD PORT="dfrn_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="sec" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">sec</TD><TD PORT="sec.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="expire" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expire</TD><TD PORT="expire.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profile_check.1degree.png b/hubzilla_er/diagrams/profile_check.1degree.png
new file mode 100644
index 000000000..4b6b9df8f
--- /dev/null
+++ b/hubzilla_er/diagrams/profile_check.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/profile_check.implied2degrees.dot b/hubzilla_er/diagrams/profile_check.implied2degrees.dot
new file mode 100644
index 000000000..2c5d1d1c2
--- /dev/null
+++ b/hubzilla_er/diagrams/profile_check.implied2degrees.dot
@@ -0,0 +1,262 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD><TD PORT="cid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="dfrn_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">dfrn_id</TD><TD PORT="dfrn_id.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="sec" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">sec</TD><TD PORT="sec.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="expire" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expire</TD><TD PORT="expire.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/profile_check.implied2degrees.png b/hubzilla_er/diagrams/profile_check.implied2degrees.png
new file mode 100644
index 000000000..c035d7c69
--- /dev/null
+++ b/hubzilla_er/diagrams/profile_check.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/register.1degree.dot b/hubzilla_er/diagrams/register.1degree.dot
new file mode 100644
index 000000000..658d82448
--- /dev/null
+++ b/hubzilla_er/diagrams/register.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="password" COLSPAN="2" ALIGN="LEFT">password</TD><TD PORT="password.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="language" COLSPAN="2" ALIGN="LEFT">language</TD><TD PORT="language.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+}
diff --git a/hubzilla_er/diagrams/register.1degree.png b/hubzilla_er/diagrams/register.1degree.png
new file mode 100644
index 000000000..6cdb8bc86
--- /dev/null
+++ b/hubzilla_er/diagrams/register.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/register.implied2degrees.dot b/hubzilla_er/diagrams/register.implied2degrees.dot
new file mode 100644
index 000000000..efa6e5b65
--- /dev/null
+++ b/hubzilla_er/diagrams/register.implied2degrees.dot
@@ -0,0 +1,262 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD><TD PORT="hash.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="password" COLSPAN="2" ALIGN="LEFT">password</TD><TD PORT="password.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="language" COLSPAN="2" ALIGN="LEFT">language</TD><TD PORT="language.type" ALIGN="LEFT">char[16]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/register.implied2degrees.png b/hubzilla_er/diagrams/register.implied2degrees.png
new file mode 100644
index 000000000..0bb580784
--- /dev/null
+++ b/hubzilla_er/diagrams/register.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/sign.1degree.dot b/hubzilla_er/diagrams/sign.1degree.dot
new file mode 100644
index 000000000..954731b37
--- /dev/null
+++ b/hubzilla_er/diagrams/sign.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD><TD PORT="iid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="retract_iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">retract_iid</TD><TD PORT="retract_iid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="signed_text" COLSPAN="2" ALIGN="LEFT">signed_text</TD><TD PORT="signed_text.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="signature" COLSPAN="2" ALIGN="LEFT">signature</TD><TD PORT="signature.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="signer" COLSPAN="2" ALIGN="LEFT">signer</TD><TD PORT="signer.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/sign.1degree.png b/hubzilla_er/diagrams/sign.1degree.png
new file mode 100644
index 000000000..6175d4e3a
--- /dev/null
+++ b/hubzilla_er/diagrams/sign.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/sign.implied2degrees.dot b/hubzilla_er/diagrams/sign.implied2degrees.dot
new file mode 100644
index 000000000..44bd2e2f8
--- /dev/null
+++ b/hubzilla_er/diagrams/sign.implied2degrees.dot
@@ -0,0 +1,262 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD><TD PORT="iid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="retract_iid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">retract_iid</TD><TD PORT="retract_iid.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="signed_text" COLSPAN="2" ALIGN="LEFT">signed_text</TD><TD PORT="signed_text.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="signature" COLSPAN="2" ALIGN="LEFT">signature</TD><TD PORT="signature.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="signer" COLSPAN="2" ALIGN="LEFT">signer</TD><TD PORT="signer.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/sign.implied2degrees.png b/hubzilla_er/diagrams/sign.implied2degrees.png
new file mode 100644
index 000000000..268e2d472
--- /dev/null
+++ b/hubzilla_er/diagrams/sign.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/spam.1degree.dot b/hubzilla_er/diagrams/spam.1degree.dot
new file mode 100644
index 000000000..da56f67e1
--- /dev/null
+++ b/hubzilla_er/diagrams/spam.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="spam" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">spam</TD><TD PORT="spam.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="ham" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">ham</TD><TD PORT="ham.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="term" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">term</TD><TD PORT="term.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="date" COLSPAN="2" ALIGN="LEFT">date</TD><TD PORT="date.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/spam.1degree.png b/hubzilla_er/diagrams/spam.1degree.png
new file mode 100644
index 000000000..3141bc57e
--- /dev/null
+++ b/hubzilla_er/diagrams/spam.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/spam.implied2degrees.dot b/hubzilla_er/diagrams/spam.implied2degrees.dot
new file mode 100644
index 000000000..6a235ceae
--- /dev/null
+++ b/hubzilla_er/diagrams/spam.implied2degrees.dot
@@ -0,0 +1,161 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile":"elipses":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="app.html"
+ tooltip="app"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="event.html"
+ tooltip="event"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="hook.html"
+ tooltip="hook"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">10 &gt;</TD></TR>
+ </TABLE>>
+ URL="notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile.html"
+ tooltip="profile"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="spam" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">spam</TD><TD PORT="spam.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="ham" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">ham</TD><TD PORT="ham.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="term" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">term</TD><TD PORT="term.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="date" COLSPAN="2" ALIGN="LEFT">date</TD><TD PORT="date.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/spam.implied2degrees.png b/hubzilla_er/diagrams/spam.implied2degrees.png
new file mode 100644
index 000000000..8b61a8888
--- /dev/null
+++ b/hubzilla_er/diagrams/spam.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/abook.1degree.dot b/hubzilla_er/diagrams/summary/abook.1degree.dot
new file mode 100644
index 000000000..662cb811f
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/abook.1degree.dot
@@ -0,0 +1,52 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "abook" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "abook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">abook</TD></TR>
+ <TR><TD PORT="abook_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">abook_id</TD></TR>
+ <TR><TD PORT="abook_account" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_account</TD></TR>
+ <TR><TD PORT="abook_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_channel</TD></TR>
+ <TR><TD PORT="abook_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_xchan</TD></TR>
+ <TR><TD PORT="abook_my_perms" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_my_perms</TD></TR>
+ <TR><TD PORT="abook_their_perms" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_their_perms</TD></TR>
+ <TR><TD PORT="abook_closeness" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_closeness</TD></TR>
+ <TR><TD PORT="abook_created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_created</TD></TR>
+ <TR><TD PORT="abook_updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_updated</TD></TR>
+ <TR><TD PORT="abook_connected" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_connected</TD></TR>
+ <TR><TD PORT="abook_dob" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_dob</TD></TR>
+ <TR><TD PORT="abook_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_flags</TD></TR>
+ <TR><TD PORT="abook_blocked" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_blocked</TD></TR>
+ <TR><TD PORT="abook_ignored" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_ignored</TD></TR>
+ <TR><TD PORT="abook_hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_hidden</TD></TR>
+ <TR><TD PORT="abook_archived" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_archived</TD></TR>
+ <TR><TD PORT="abook_pending" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_pending</TD></TR>
+ <TR><TD PORT="abook_unconnected" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_unconnected</TD></TR>
+ <TR><TD PORT="abook_self" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_self</TD></TR>
+ <TR><TD PORT="abook_feed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_feed</TD></TR>
+ <TR><TD PORT="abook_profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">abook_profile</TD></TR>
+ <TR><TD PORT="abook_incl" COLSPAN="3" ALIGN="LEFT">abook_incl</TD></TR>
+ <TR><TD PORT="abook_excl" COLSPAN="3" ALIGN="LEFT">abook_excl</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">12 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/abook.html"
+ tooltip="abook"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/abook.1degree.png b/hubzilla_er/diagrams/summary/abook.1degree.png
new file mode 100644
index 000000000..8626b50e8
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/abook.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/account.1degree.dot b/hubzilla_er/diagrams/summary/account.1degree.dot
new file mode 100644
index 000000000..399777f74
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/account.1degree.dot
@@ -0,0 +1,47 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "account" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "account" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="account_parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_parent</TD></TR>
+ <TR><TD PORT="account_default_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_default_channel</TD></TR>
+ <TR><TD PORT="account_salt" COLSPAN="3" ALIGN="LEFT">account_salt</TD></TR>
+ <TR><TD PORT="account_password" COLSPAN="3" ALIGN="LEFT">account_password</TD></TR>
+ <TR><TD PORT="account_email" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_email</TD></TR>
+ <TR><TD PORT="account_external" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_external</TD></TR>
+ <TR><TD PORT="account_language" COLSPAN="3" ALIGN="LEFT">account_language</TD></TR>
+ <TR><TD PORT="account_created" COLSPAN="3" ALIGN="LEFT">account_created</TD></TR>
+ <TR><TD PORT="account_lastlog" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_lastlog</TD></TR>
+ <TR><TD PORT="account_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_flags</TD></TR>
+ <TR><TD PORT="account_roles" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_roles</TD></TR>
+ <TR><TD PORT="account_reset" COLSPAN="3" ALIGN="LEFT">account_reset</TD></TR>
+ <TR><TD PORT="account_expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_expires</TD></TR>
+ <TR><TD PORT="account_expire_notified" COLSPAN="3" ALIGN="LEFT">account_expire_notified</TD></TR>
+ <TR><TD PORT="account_service_class" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_service_class</TD></TR>
+ <TR><TD PORT="account_level" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_level</TD></TR>
+ <TR><TD PORT="account_password_changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_password_changed</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/account.html"
+ tooltip="account"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/account.1degree.png b/hubzilla_er/diagrams/summary/account.1degree.png
new file mode 100644
index 000000000..7bed11ef1
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/account.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/addon.1degree.dot b/hubzilla_er/diagrams/summary/addon.1degree.dot
new file mode 100644
index 000000000..fce4097d2
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/addon.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "addon" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="version" COLSPAN="3" ALIGN="LEFT">version</TD></TR>
+ <TR><TD PORT="installed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">installed</TD></TR>
+ <TR><TD PORT="hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hidden</TD></TR>
+ <TR><TD PORT="timestamp" COLSPAN="3" ALIGN="LEFT">timestamp</TD></TR>
+ <TR><TD PORT="plugin_admin" COLSPAN="3" ALIGN="LEFT">plugin_admin</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/addon.html"
+ tooltip="addon"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/addon.1degree.png b/hubzilla_er/diagrams/summary/addon.1degree.png
new file mode 100644
index 000000000..06b0a66e1
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/addon.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/app.1degree.dot b/hubzilla_er/diagrams/summary/app.1degree.dot
new file mode 100644
index 000000000..7a6f245e8
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/app.1degree.dot
@@ -0,0 +1,43 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "app" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="app_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_id</TD></TR>
+ <TR><TD PORT="app_sig" COLSPAN="3" ALIGN="LEFT">app_sig</TD></TR>
+ <TR><TD PORT="app_author" COLSPAN="3" ALIGN="LEFT">app_author</TD></TR>
+ <TR><TD PORT="app_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_name</TD></TR>
+ <TR><TD PORT="app_desc" COLSPAN="3" ALIGN="LEFT">app_desc</TD></TR>
+ <TR><TD PORT="app_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_url</TD></TR>
+ <TR><TD PORT="app_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_photo</TD></TR>
+ <TR><TD PORT="app_version" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_version</TD></TR>
+ <TR><TD PORT="app_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_channel</TD></TR>
+ <TR><TD PORT="app_addr" COLSPAN="3" ALIGN="LEFT">app_addr</TD></TR>
+ <TR><TD PORT="app_price" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_price</TD></TR>
+ <TR><TD PORT="app_page" COLSPAN="3" ALIGN="LEFT">app_page</TD></TR>
+ <TR><TD PORT="app_requires" COLSPAN="3" ALIGN="LEFT">app_requires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/app.html"
+ tooltip="app"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/app.1degree.png b/hubzilla_er/diagrams/summary/app.1degree.png
new file mode 100644
index 000000000..1850c4b6f
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/app.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/attach.1degree.dot b/hubzilla_er/diagrams/summary/attach.1degree.dot
new file mode 100644
index 000000000..8fc2e8360
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/attach.1degree.dot
@@ -0,0 +1,52 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "attach" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">creator</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filename</TD></TR>
+ <TR><TD PORT="filetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filetype</TD></TR>
+ <TR><TD PORT="filesize" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filesize</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="folder" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">folder</TD></TR>
+ <TR><TD PORT="flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">flags</TD></TR>
+ <TR><TD PORT="is_dir" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_dir</TD></TR>
+ <TR><TD PORT="is_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_photo</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="3" ALIGN="LEFT">os_path</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="3" ALIGN="LEFT">display_path</TD></TR>
+ <TR><TD PORT="data" COLSPAN="3" ALIGN="LEFT">data</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/attach.html"
+ tooltip="attach"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/attach.1degree.png b/hubzilla_er/diagrams/summary/attach.1degree.png
new file mode 100644
index 000000000..508f509cf
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/attach.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/auth_codes.1degree.dot b/hubzilla_er/diagrams/summary/auth_codes.1degree.dot
new file mode 100644
index 000000000..40001241f
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/auth_codes.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "auth_codes" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "auth_codes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">auth_codes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/auth_codes.html"
+ tooltip="auth_codes"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/auth_codes.1degree.png b/hubzilla_er/diagrams/summary/auth_codes.1degree.png
new file mode 100644
index 000000000..4df2878b4
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/auth_codes.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/cache.1degree.dot b/hubzilla_er/diagrams/summary/cache.1degree.dot
new file mode 100644
index 000000000..c081187ce
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/cache.1degree.dot
@@ -0,0 +1,32 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "cache" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/cache.html"
+ tooltip="cache"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/cache.1degree.png b/hubzilla_er/diagrams/summary/cache.1degree.png
new file mode 100644
index 000000000..d20fc1ed8
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/cache.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/channel.1degree.dot b/hubzilla_er/diagrams/summary/channel.1degree.dot
new file mode 100644
index 000000000..4056732d7
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/channel.1degree.dot
@@ -0,0 +1,77 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "channel" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD></TR>
+ <TR><TD PORT="channel_guid_sig" COLSPAN="3" ALIGN="LEFT">channel_guid_sig</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD></TR>
+ <TR><TD PORT="channel_startpage" COLSPAN="3" ALIGN="LEFT">channel_startpage</TD></TR>
+ <TR><TD PORT="channel_pubkey" COLSPAN="3" ALIGN="LEFT">channel_pubkey</TD></TR>
+ <TR><TD PORT="channel_prvkey" COLSPAN="3" ALIGN="LEFT">channel_prvkey</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD></TR>
+ <TR><TD PORT="channel_passwd_reset" COLSPAN="3" ALIGN="LEFT">channel_passwd_reset</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD></TR>
+ <TR><TD PORT="channel_allow_cid" COLSPAN="3" ALIGN="LEFT">channel_allow_cid</TD></TR>
+ <TR><TD PORT="channel_allow_gid" COLSPAN="3" ALIGN="LEFT">channel_allow_gid</TD></TR>
+ <TR><TD PORT="channel_deny_cid" COLSPAN="3" ALIGN="LEFT">channel_deny_cid</TD></TR>
+ <TR><TD PORT="channel_deny_gid" COLSPAN="3" ALIGN="LEFT">channel_deny_gid</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/channel.html"
+ tooltip="channel"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/channel.1degree.png b/hubzilla_er/diagrams/summary/channel.1degree.png
new file mode 100644
index 000000000..466310783
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/channel.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/chat.1degree.dot b/hubzilla_er/diagrams/summary/chat.1degree.dot
new file mode 100644
index 000000000..2a62819d3
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/chat.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "chat" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "chat" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">chat</TD></TR>
+ <TR><TD PORT="chat_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">chat_id</TD></TR>
+ <TR><TD PORT="chat_room" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">chat_room</TD></TR>
+ <TR><TD PORT="chat_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">chat_xchan</TD></TR>
+ <TR><TD PORT="chat_text" COLSPAN="3" ALIGN="LEFT">chat_text</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/chat.html"
+ tooltip="chat"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/chat.1degree.png b/hubzilla_er/diagrams/summary/chat.1degree.png
new file mode 100644
index 000000000..177ea5e5a
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/chat.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/chatpresence.1degree.dot b/hubzilla_er/diagrams/summary/chatpresence.1degree.dot
new file mode 100644
index 000000000..52b841626
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/chatpresence.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "chatpresence" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "chatpresence" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">chatpresence</TD></TR>
+ <TR><TD PORT="cp_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">cp_id</TD></TR>
+ <TR><TD PORT="cp_room" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cp_room</TD></TR>
+ <TR><TD PORT="cp_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cp_xchan</TD></TR>
+ <TR><TD PORT="cp_last" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cp_last</TD></TR>
+ <TR><TD PORT="cp_status" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cp_status</TD></TR>
+ <TR><TD PORT="cp_client" COLSPAN="3" ALIGN="LEFT">cp_client</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/chatpresence.html"
+ tooltip="chatpresence"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/chatpresence.1degree.png b/hubzilla_er/diagrams/summary/chatpresence.1degree.png
new file mode 100644
index 000000000..68e491e00
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/chatpresence.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/chatroom.1degree.dot b/hubzilla_er/diagrams/summary/chatroom.1degree.dot
new file mode 100644
index 000000000..80024a5bf
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/chatroom.1degree.dot
@@ -0,0 +1,40 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "chatroom" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "chatroom" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">chatroom</TD></TR>
+ <TR><TD PORT="cr_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">cr_id</TD></TR>
+ <TR><TD PORT="cr_aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cr_aid</TD></TR>
+ <TR><TD PORT="cr_uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cr_uid</TD></TR>
+ <TR><TD PORT="cr_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cr_name</TD></TR>
+ <TR><TD PORT="cr_created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cr_created</TD></TR>
+ <TR><TD PORT="cr_edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cr_edited</TD></TR>
+ <TR><TD PORT="cr_expire" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cr_expire</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/chatroom.html"
+ tooltip="chatroom"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/chatroom.1degree.png b/hubzilla_er/diagrams/summary/chatroom.1degree.png
new file mode 100644
index 000000000..21dd031e2
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/chatroom.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/clients.1degree.dot b/hubzilla_er/diagrams/summary/clients.1degree.dot
new file mode 100644
index 000000000..6a0dc8452
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/clients.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "clients" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "clients" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">clients</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="pw" COLSPAN="3" ALIGN="LEFT">pw</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="icon" COLSPAN="3" ALIGN="LEFT">icon</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/clients.html"
+ tooltip="clients"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/clients.1degree.png b/hubzilla_er/diagrams/summary/clients.1degree.png
new file mode 100644
index 000000000..31dedaf3b
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/clients.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/config.1degree.dot b/hubzilla_er/diagrams/summary/config.1degree.dot
new file mode 100644
index 000000000..671abddcc
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/config.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "config" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/config.html"
+ tooltip="config"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/config.1degree.png b/hubzilla_er/diagrams/summary/config.1degree.png
new file mode 100644
index 000000000..032b7d541
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/config.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/conv.1degree.dot b/hubzilla_er/diagrams/summary/conv.1degree.dot
new file mode 100644
index 000000000..67e972217
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/conv.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "conv" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="guid" COLSPAN="3" ALIGN="LEFT">guid</TD></TR>
+ <TR><TD PORT="recips" COLSPAN="3" ALIGN="LEFT">recips</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="3" ALIGN="LEFT">creator</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD PORT="subject" COLSPAN="3" ALIGN="LEFT">subject</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/conv.html"
+ tooltip="conv"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/conv.1degree.png b/hubzilla_er/diagrams/summary/conv.1degree.png
new file mode 100644
index 000000000..20358a938
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/conv.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/event.1degree.dot b/hubzilla_er/diagrams/summary/event.1degree.dot
new file mode 100644
index 000000000..3a16771dd
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/event.1degree.dot
@@ -0,0 +1,54 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "event" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="event_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_xchan</TD></TR>
+ <TR><TD PORT="event_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_hash</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="start" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">start</TD></TR>
+ <TR><TD PORT="finish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">finish</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="3" ALIGN="LEFT">summary</TD></TR>
+ <TR><TD PORT="description" COLSPAN="3" ALIGN="LEFT">description</TD></TR>
+ <TR><TD PORT="location" COLSPAN="3" ALIGN="LEFT">location</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="nofinish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">nofinish</TD></TR>
+ <TR><TD PORT="adjust" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">adjust</TD></TR>
+ <TR><TD PORT="ignore" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ignore</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="event_status" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_status</TD></TR>
+ <TR><TD PORT="event_status_date" COLSPAN="3" ALIGN="LEFT">event_status_date</TD></TR>
+ <TR><TD PORT="event_percent" COLSPAN="3" ALIGN="LEFT">event_percent</TD></TR>
+ <TR><TD PORT="event_repeat" COLSPAN="3" ALIGN="LEFT">event_repeat</TD></TR>
+ <TR><TD PORT="event_sequence" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_sequence</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/event.html"
+ tooltip="event"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/event.1degree.png b/hubzilla_er/diagrams/summary/event.1degree.png
new file mode 100644
index 000000000..c365ee3bd
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/event.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/fcontact.1degree.dot b/hubzilla_er/diagrams/summary/fcontact.1degree.dot
new file mode 100644
index 000000000..be19692ad
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/fcontact.1degree.dot
@@ -0,0 +1,45 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "fcontact" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="request" COLSPAN="3" ALIGN="LEFT">request</TD></TR>
+ <TR><TD PORT="nick" COLSPAN="3" ALIGN="LEFT">nick</TD></TR>
+ <TR><TD PORT="addr" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">addr</TD></TR>
+ <TR><TD PORT="batch" COLSPAN="3" ALIGN="LEFT">batch</TD></TR>
+ <TR><TD PORT="notify" COLSPAN="3" ALIGN="LEFT">notify</TD></TR>
+ <TR><TD PORT="poll" COLSPAN="3" ALIGN="LEFT">poll</TD></TR>
+ <TR><TD PORT="confirm" COLSPAN="3" ALIGN="LEFT">confirm</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="3" ALIGN="LEFT">priority</TD></TR>
+ <TR><TD PORT="network" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">network</TD></TR>
+ <TR><TD PORT="alias" COLSPAN="3" ALIGN="LEFT">alias</TD></TR>
+ <TR><TD PORT="pubkey" COLSPAN="3" ALIGN="LEFT">pubkey</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fcontact.html"
+ tooltip="fcontact"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/fcontact.1degree.png b/hubzilla_er/diagrams/summary/fcontact.1degree.png
new file mode 100644
index 000000000..9515a9e08
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/fcontact.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/ffinder.1degree.dot b/hubzilla_er/diagrams/summary/ffinder.1degree.dot
new file mode 100644
index 000000000..59dd33748
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/ffinder.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "ffinder" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="fid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">fid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/ffinder.html"
+ tooltip="ffinder"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/ffinder.1degree.png b/hubzilla_er/diagrams/summary/ffinder.1degree.png
new file mode 100644
index 000000000..9a11d3e0c
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/ffinder.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/fserver.1degree.dot b/hubzilla_er/diagrams/summary/fserver.1degree.dot
new file mode 100644
index 000000000..95dd14248
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/fserver.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "fserver" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="server" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">server</TD></TR>
+ <TR><TD PORT="posturl" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">posturl</TD></TR>
+ <TR><TD PORT="key" COLSPAN="3" ALIGN="LEFT">key</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fserver.html"
+ tooltip="fserver"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/fserver.1degree.png b/hubzilla_er/diagrams/summary/fserver.1degree.png
new file mode 100644
index 000000000..8be8c4dfa
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/fserver.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/fsuggest.1degree.dot b/hubzilla_er/diagrams/summary/fsuggest.1degree.dot
new file mode 100644
index 000000000..047c8d8cf
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/fsuggest.1degree.dot
@@ -0,0 +1,38 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "fsuggest" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="request" COLSPAN="3" ALIGN="LEFT">request</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="note" COLSPAN="3" ALIGN="LEFT">note</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fsuggest.html"
+ tooltip="fsuggest"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/fsuggest.1degree.png b/hubzilla_er/diagrams/summary/fsuggest.1degree.png
new file mode 100644
index 000000000..3575cc7ce
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/fsuggest.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/group_member.1degree.dot b/hubzilla_er/diagrams/summary/group_member.1degree.dot
new file mode 100644
index 000000000..dbbb9f855
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/group_member.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "group_member" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/group_member.html"
+ tooltip="group_member"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/group_member.1degree.png b/hubzilla_er/diagrams/summary/group_member.1degree.png
new file mode 100644
index 000000000..f15d36668
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/group_member.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/groups.1degree.dot b/hubzilla_er/diagrams/summary/groups.1degree.dot
new file mode 100644
index 000000000..efcd7b388
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/groups.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "groups" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="visible" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">visible</TD></TR>
+ <TR><TD PORT="deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deleted</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/groups.html"
+ tooltip="groups"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/groups.1degree.png b/hubzilla_er/diagrams/summary/groups.1degree.png
new file mode 100644
index 000000000..143d6b2aa
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/groups.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/hook.1degree.dot b/hubzilla_er/diagrams/summary/hook.1degree.dot
new file mode 100644
index 000000000..95a8d9566
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/hook.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "hook" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hook</TD></TR>
+ <TR><TD PORT="file" COLSPAN="3" ALIGN="LEFT">file</TD></TR>
+ <TR><TD PORT="function" COLSPAN="3" ALIGN="LEFT">function</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="3" ALIGN="LEFT">priority</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/hook.html"
+ tooltip="hook"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/hook.1degree.png b/hubzilla_er/diagrams/summary/hook.1degree.png
new file mode 100644
index 000000000..80de3991a
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/hook.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/hubloc.1degree.dot b/hubzilla_er/diagrams/summary/hubloc.1degree.dot
new file mode 100644
index 000000000..a19857c0b
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/hubloc.1degree.dot
@@ -0,0 +1,49 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "hubloc" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "hubloc" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hubloc</TD></TR>
+ <TR><TD PORT="hubloc_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">hubloc_id</TD></TR>
+ <TR><TD PORT="hubloc_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_guid</TD></TR>
+ <TR><TD PORT="hubloc_guid_sig" COLSPAN="3" ALIGN="LEFT">hubloc_guid_sig</TD></TR>
+ <TR><TD PORT="hubloc_hash" COLSPAN="3" ALIGN="LEFT">hubloc_hash</TD></TR>
+ <TR><TD PORT="hubloc_addr" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_addr</TD></TR>
+ <TR><TD PORT="hubloc_network" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_network</TD></TR>
+ <TR><TD PORT="hubloc_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_flags</TD></TR>
+ <TR><TD PORT="hubloc_status" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_status</TD></TR>
+ <TR><TD PORT="hubloc_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_url</TD></TR>
+ <TR><TD PORT="hubloc_url_sig" COLSPAN="3" ALIGN="LEFT">hubloc_url_sig</TD></TR>
+ <TR><TD PORT="hubloc_host" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_host</TD></TR>
+ <TR><TD PORT="hubloc_callback" COLSPAN="3" ALIGN="LEFT">hubloc_callback</TD></TR>
+ <TR><TD PORT="hubloc_connect" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_connect</TD></TR>
+ <TR><TD PORT="hubloc_sitekey" COLSPAN="3" ALIGN="LEFT">hubloc_sitekey</TD></TR>
+ <TR><TD PORT="hubloc_updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_updated</TD></TR>
+ <TR><TD PORT="hubloc_connected" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_connected</TD></TR>
+ <TR><TD PORT="hubloc_primary" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_primary</TD></TR>
+ <TR><TD PORT="hubloc_orphancheck" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_orphancheck</TD></TR>
+ <TR><TD PORT="hubloc_error" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_error</TD></TR>
+ <TR><TD PORT="hubloc_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hubloc_deleted</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 513 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/hubloc.html"
+ tooltip="hubloc"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/hubloc.1degree.png b/hubzilla_er/diagrams/summary/hubloc.1degree.png
new file mode 100644
index 000000000..a61dadc51
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/hubloc.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/issue.1degree.dot b/hubzilla_er/diagrams/summary/issue.1degree.dot
new file mode 100644
index 000000000..8ae8dc0c2
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/issue.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "issue" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "issue" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">issue</TD></TR>
+ <TR><TD PORT="issue_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">issue_id</TD></TR>
+ <TR><TD PORT="issue_created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">issue_created</TD></TR>
+ <TR><TD PORT="issue_updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">issue_updated</TD></TR>
+ <TR><TD PORT="issue_assigned" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">issue_assigned</TD></TR>
+ <TR><TD PORT="issue_priority" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">issue_priority</TD></TR>
+ <TR><TD PORT="issue_status" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">issue_status</TD></TR>
+ <TR><TD PORT="issue_component" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">issue_component</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/issue.html"
+ tooltip="issue"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/issue.1degree.png b/hubzilla_er/diagrams/summary/issue.1degree.png
new file mode 100644
index 000000000..5be927192
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/issue.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/item.1degree.dot b/hubzilla_er/diagrams/summary/item.1degree.dot
new file mode 100644
index 000000000..e902a9724
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/item.1degree.dot
@@ -0,0 +1,102 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "item" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="thr_parent" COLSPAN="3" ALIGN="LEFT">thr_parent</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="commented" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">commented</TD></TR>
+ <TR><TD PORT="received" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">received</TD></TR>
+ <TR><TD PORT="changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">changed</TD></TR>
+ <TR><TD PORT="comments_closed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comments_closed</TD></TR>
+ <TR><TD PORT="owner_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">owner_xchan</TD></TR>
+ <TR><TD PORT="author_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">author_xchan</TD></TR>
+ <TR><TD PORT="source_xchan" COLSPAN="3" ALIGN="LEFT">source_xchan</TD></TR>
+ <TR><TD PORT="mimetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mimetype</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="html" COLSPAN="3" ALIGN="LEFT">html</TD></TR>
+ <TR><TD PORT="app" COLSPAN="3" ALIGN="LEFT">app</TD></TR>
+ <TR><TD PORT="lang" COLSPAN="3" ALIGN="LEFT">lang</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="obj_type" COLSPAN="3" ALIGN="LEFT">obj_type</TD></TR>
+ <TR><TD PORT="object" COLSPAN="3" ALIGN="LEFT">object</TD></TR>
+ <TR><TD PORT="tgt_type" COLSPAN="3" ALIGN="LEFT">tgt_type</TD></TR>
+ <TR><TD PORT="target" COLSPAN="3" ALIGN="LEFT">target</TD></TR>
+ <TR><TD PORT="layout_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">layout_mid</TD></TR>
+ <TR><TD PORT="postopts" COLSPAN="3" ALIGN="LEFT">postopts</TD></TR>
+ <TR><TD PORT="route" COLSPAN="3" ALIGN="LEFT">route</TD></TR>
+ <TR><TD PORT="llink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">llink</TD></TR>
+ <TR><TD PORT="plink" COLSPAN="3" ALIGN="LEFT">plink</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="3" ALIGN="LEFT">resource_id</TD></TR>
+ <TR><TD PORT="resource_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_type</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="diaspora_meta" COLSPAN="3" ALIGN="LEFT">diaspora_meta</TD></TR>
+ <TR><TD PORT="location" COLSPAN="3" ALIGN="LEFT">location</TD></TR>
+ <TR><TD PORT="coord" COLSPAN="3" ALIGN="LEFT">coord</TD></TR>
+ <TR><TD PORT="public_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">public_policy</TD></TR>
+ <TR><TD PORT="comment_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comment_policy</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="item_restrict" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_restrict</TD></TR>
+ <TR><TD PORT="item_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_flags</TD></TR>
+ <TR><TD PORT="item_private" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_private</TD></TR>
+ <TR><TD PORT="item_origin" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_origin</TD></TR>
+ <TR><TD PORT="item_unseen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unseen</TD></TR>
+ <TR><TD PORT="item_starred" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_starred</TD></TR>
+ <TR><TD PORT="item_uplink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_uplink</TD></TR>
+ <TR><TD PORT="item_consensus" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_consensus</TD></TR>
+ <TR><TD PORT="item_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_wall</TD></TR>
+ <TR><TD PORT="item_thread_top" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_thread_top</TD></TR>
+ <TR><TD PORT="item_notshown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_notshown</TD></TR>
+ <TR><TD PORT="item_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nsfw</TD></TR>
+ <TR><TD PORT="item_relay" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_relay</TD></TR>
+ <TR><TD PORT="item_mentionsme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_mentionsme</TD></TR>
+ <TR><TD PORT="item_nocomment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nocomment</TD></TR>
+ <TR><TD PORT="item_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_obscured</TD></TR>
+ <TR><TD PORT="item_verified" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_verified</TD></TR>
+ <TR><TD PORT="item_retained" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_retained</TD></TR>
+ <TR><TD PORT="item_rss" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_rss</TD></TR>
+ <TR><TD PORT="item_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_deleted</TD></TR>
+ <TR><TD PORT="item_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_type</TD></TR>
+ <TR><TD PORT="item_hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_hidden</TD></TR>
+ <TR><TD PORT="item_unpublished" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unpublished</TD></TR>
+ <TR><TD PORT="item_delayed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_delayed</TD></TR>
+ <TR><TD PORT="item_pending_remove" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_pending_remove</TD></TR>
+ <TR><TD PORT="item_blocked" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_blocked</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/item.html"
+ tooltip="item"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/item.1degree.png b/hubzilla_er/diagrams/summary/item.1degree.png
new file mode 100644
index 000000000..dd6b8c220
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/item.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/item_id.1degree.dot b/hubzilla_er/diagrams/summary/item_id.1degree.dot
new file mode 100644
index 000000000..7bc27c28c
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/item_id.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "item_id" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="sid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sid</TD></TR>
+ <TR><TD PORT="service" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">service</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/item_id.html"
+ tooltip="item_id"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/item_id.1degree.png b/hubzilla_er/diagrams/summary/item_id.1degree.png
new file mode 100644
index 000000000..e20303410
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/item_id.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/likes.1degree.dot b/hubzilla_er/diagrams/summary/likes.1degree.dot
new file mode 100644
index 000000000..9f9f99fb3
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/likes.1degree.dot
@@ -0,0 +1,38 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "likes" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="liker" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">liker</TD></TR>
+ <TR><TD PORT="likee" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">likee</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="target_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_type</TD></TR>
+ <TR><TD PORT="target_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_id</TD></TR>
+ <TR><TD PORT="target" COLSPAN="3" ALIGN="LEFT">target</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/likes.html"
+ tooltip="likes"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/likes.1degree.png b/hubzilla_er/diagrams/summary/likes.1degree.png
new file mode 100644
index 000000000..f1f61f285
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/likes.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/mail.1degree.dot b/hubzilla_er/diagrams/summary/mail.1degree.dot
new file mode 100644
index 000000000..fd88f30c9
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/mail.1degree.dot
@@ -0,0 +1,50 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "mail" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/mail.html"
+ tooltip="mail"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/mail.1degree.png b/hubzilla_er/diagrams/summary/mail.1degree.png
new file mode 100644
index 000000000..9d6eb0de6
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/mail.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/manage.1degree.dot b/hubzilla_er/diagrams/summary/manage.1degree.dot
new file mode 100644
index 000000000..767aecc1a
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/manage.1degree.dot
@@ -0,0 +1,32 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "manage" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/manage.html"
+ tooltip="manage"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/manage.1degree.png b/hubzilla_er/diagrams/summary/manage.1degree.png
new file mode 100644
index 000000000..1d7d82e34
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/manage.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/menu.1degree.dot b/hubzilla_er/diagrams/summary/menu.1degree.dot
new file mode 100644
index 000000000..ec8d5fe7f
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/menu.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "menu" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "menu" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">menu</TD></TR>
+ <TR><TD PORT="menu_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">menu_id</TD></TR>
+ <TR><TD PORT="menu_channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">menu_channel_id</TD></TR>
+ <TR><TD PORT="menu_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">menu_name</TD></TR>
+ <TR><TD PORT="menu_desc" COLSPAN="3" ALIGN="LEFT">menu_desc</TD></TR>
+ <TR><TD PORT="menu_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">menu_flags</TD></TR>
+ <TR><TD PORT="menu_created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">menu_created</TD></TR>
+ <TR><TD PORT="menu_edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">menu_edited</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/menu.html"
+ tooltip="menu"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/menu.1degree.png b/hubzilla_er/diagrams/summary/menu.1degree.png
new file mode 100644
index 000000000..c9a694cf2
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/menu.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/menu_item.1degree.dot b/hubzilla_er/diagrams/summary/menu_item.1degree.dot
new file mode 100644
index 000000000..c0f198f59
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/menu_item.1degree.dot
@@ -0,0 +1,40 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "menu_item" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "menu_item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">menu_item</TD></TR>
+ <TR><TD PORT="mitem_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">mitem_id</TD></TR>
+ <TR><TD PORT="mitem_link" COLSPAN="3" ALIGN="LEFT">mitem_link</TD></TR>
+ <TR><TD PORT="mitem_desc" COLSPAN="3" ALIGN="LEFT">mitem_desc</TD></TR>
+ <TR><TD PORT="mitem_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mitem_flags</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="mitem_channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mitem_channel_id</TD></TR>
+ <TR><TD PORT="mitem_menu_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mitem_menu_id</TD></TR>
+ <TR><TD PORT="mitem_order" COLSPAN="3" ALIGN="LEFT">mitem_order</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/menu_item.html"
+ tooltip="menu_item"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/menu_item.1degree.png b/hubzilla_er/diagrams/summary/menu_item.1degree.png
new file mode 100644
index 000000000..599a7abda
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/menu_item.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/notify.1degree.dot b/hubzilla_er/diagrams/summary/notify.1degree.dot
new file mode 100644
index 000000000..6f3703225
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/notify.1degree.dot
@@ -0,0 +1,44 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "notify" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/notify.html"
+ tooltip="notify"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/notify.1degree.png b/hubzilla_er/diagrams/summary/notify.1degree.png
new file mode 100644
index 000000000..9cb8e29ab
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/notify.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/obj.1degree.dot b/hubzilla_er/diagrams/summary/obj.1degree.dot
new file mode 100644
index 000000000..3dd5ba647
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/obj.1degree.dot
@@ -0,0 +1,39 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "obj" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "obj" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">obj</TD></TR>
+ <TR><TD PORT="obj_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">obj_id</TD></TR>
+ <TR><TD PORT="obj_page" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">obj_page</TD></TR>
+ <TR><TD PORT="obj_verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">obj_verb</TD></TR>
+ <TR><TD PORT="obj_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">obj_type</TD></TR>
+ <TR><TD PORT="obj_obj" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">obj_obj</TD></TR>
+ <TR><TD PORT="obj_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">obj_channel</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/obj.html"
+ tooltip="obj"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/obj.1degree.png b/hubzilla_er/diagrams/summary/obj.1degree.png
new file mode 100644
index 000000000..e458c4334
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/obj.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/outq.1degree.dot b/hubzilla_er/diagrams/summary/outq.1degree.dot
new file mode 100644
index 000000000..114717b01
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/outq.1degree.dot
@@ -0,0 +1,41 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "outq" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "outq" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">outq</TD></TR>
+ <TR><TD PORT="outq_hash" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">outq_hash</TD></TR>
+ <TR><TD PORT="outq_account" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_account</TD></TR>
+ <TR><TD PORT="outq_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_channel</TD></TR>
+ <TR><TD PORT="outq_driver" COLSPAN="3" ALIGN="LEFT">outq_driver</TD></TR>
+ <TR><TD PORT="outq_posturl" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_posturl</TD></TR>
+ <TR><TD PORT="outq_async" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_async</TD></TR>
+ <TR><TD PORT="outq_delivered" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_delivered</TD></TR>
+ <TR><TD PORT="outq_created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_created</TD></TR>
+ <TR><TD PORT="outq_updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_updated</TD></TR>
+ <TR><TD PORT="outq_notify" COLSPAN="3" ALIGN="LEFT">outq_notify</TD></TR>
+ <TR><TD PORT="outq_msg" COLSPAN="3" ALIGN="LEFT">outq_msg</TD></TR>
+ <TR><TD PORT="outq_priority" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">outq_priority</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/outq.html"
+ tooltip="outq"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/outq.1degree.png b/hubzilla_er/diagrams/summary/outq.1degree.png
new file mode 100644
index 000000000..2cb2b78db
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/outq.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/pconfig.1degree.dot b/hubzilla_er/diagrams/summary/pconfig.1degree.dot
new file mode 100644
index 000000000..2c521333e
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/pconfig.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "pconfig" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/pconfig.html"
+ tooltip="pconfig"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/pconfig.1degree.png b/hubzilla_er/diagrams/summary/pconfig.1degree.png
new file mode 100644
index 000000000..f50965fda
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/pconfig.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/photo.1degree.dot b/hubzilla_er/diagrams/summary/photo.1degree.dot
new file mode 100644
index 000000000..c0d5d2a32
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/photo.1degree.dot
@@ -0,0 +1,57 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "photo" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_id</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="description" COLSPAN="3" ALIGN="LEFT">description</TD></TR>
+ <TR><TD PORT="album" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">album</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="3" ALIGN="LEFT">filename</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="height" COLSPAN="3" ALIGN="LEFT">height</TD></TR>
+ <TR><TD PORT="width" COLSPAN="3" ALIGN="LEFT">width</TD></TR>
+ <TR><TD PORT="size" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">size</TD></TR>
+ <TR><TD PORT="data" COLSPAN="3" ALIGN="LEFT">data</TD></TR>
+ <TR><TD PORT="scale" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">scale</TD></TR>
+ <TR><TD PORT="photo_usage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_usage</TD></TR>
+ <TR><TD PORT="profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile</TD></TR>
+ <TR><TD PORT="is_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_nsfw</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="3" ALIGN="LEFT">os_path</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="3" ALIGN="LEFT">display_path</TD></TR>
+ <TR><TD PORT="photo_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_flags</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/photo.html"
+ tooltip="photo"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/photo.1degree.png b/hubzilla_er/diagrams/summary/photo.1degree.png
new file mode 100644
index 000000000..52e8b3eb8
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/photo.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/poll.1degree.dot b/hubzilla_er/diagrams/summary/poll.1degree.dot
new file mode 100644
index 000000000..9c6334d6b
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/poll.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "poll" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "poll" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">poll</TD></TR>
+ <TR><TD PORT="poll_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">poll_id</TD></TR>
+ <TR><TD PORT="poll_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">poll_channel</TD></TR>
+ <TR><TD PORT="poll_desc" COLSPAN="3" ALIGN="LEFT">poll_desc</TD></TR>
+ <TR><TD PORT="poll_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">poll_flags</TD></TR>
+ <TR><TD PORT="poll_votes" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">poll_votes</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/poll.html"
+ tooltip="poll"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/poll.1degree.png b/hubzilla_er/diagrams/summary/poll.1degree.png
new file mode 100644
index 000000000..1d917cf23
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/poll.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/poll_elm.1degree.dot b/hubzilla_er/diagrams/summary/poll_elm.1degree.dot
new file mode 100644
index 000000000..f93572da9
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/poll_elm.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "poll_elm" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "poll_elm" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">poll_elm</TD></TR>
+ <TR><TD PORT="pelm_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">pelm_id</TD></TR>
+ <TR><TD PORT="pelm_poll" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">pelm_poll</TD></TR>
+ <TR><TD PORT="pelm_desc" COLSPAN="3" ALIGN="LEFT">pelm_desc</TD></TR>
+ <TR><TD PORT="pelm_flags" COLSPAN="3" ALIGN="LEFT">pelm_flags</TD></TR>
+ <TR><TD PORT="pelm_result" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">pelm_result</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/poll_elm.html"
+ tooltip="poll_elm"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/poll_elm.1degree.png b/hubzilla_er/diagrams/summary/poll_elm.1degree.png
new file mode 100644
index 000000000..167e14828
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/poll_elm.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/profdef.1degree.dot b/hubzilla_er/diagrams/summary/profdef.1degree.dot
new file mode 100644
index 000000000..56d3b113a
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profdef.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "profdef" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="field_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">field_name</TD></TR>
+ <TR><TD PORT="field_type" COLSPAN="3" ALIGN="LEFT">field_type</TD></TR>
+ <TR><TD PORT="field_desc" COLSPAN="3" ALIGN="LEFT">field_desc</TD></TR>
+ <TR><TD PORT="field_help" COLSPAN="3" ALIGN="LEFT">field_help</TD></TR>
+ <TR><TD PORT="field_inputs" COLSPAN="3" ALIGN="LEFT">field_inputs</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profdef.html"
+ tooltip="profdef"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/profdef.1degree.png b/hubzilla_er/diagrams/summary/profdef.1degree.png
new file mode 100644
index 000000000..b0818ff0b
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profdef.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/profext.1degree.dot b/hubzilla_er/diagrams/summary/profext.1degree.dot
new file mode 100644
index 000000000..4906df600
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profext.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "profext" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profext.html"
+ tooltip="profext"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/profext.1degree.png b/hubzilla_er/diagrams/summary/profext.1degree.png
new file mode 100644
index 000000000..0c4a78f19
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profext.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/profile.1degree.dot b/hubzilla_er/diagrams/summary/profile.1degree.dot
new file mode 100644
index 000000000..09c1fbfc9
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profile.1degree.dot
@@ -0,0 +1,73 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "profile" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="profile_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile_guid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="profile_name" COLSPAN="3" ALIGN="LEFT">profile_name</TD></TR>
+ <TR><TD PORT="is_default" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_default</TD></TR>
+ <TR><TD PORT="hide_friends" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hide_friends</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="pdesc" COLSPAN="3" ALIGN="LEFT">pdesc</TD></TR>
+ <TR><TD PORT="chandesc" COLSPAN="3" ALIGN="LEFT">chandesc</TD></TR>
+ <TR><TD PORT="dob" COLSPAN="3" ALIGN="LEFT">dob</TD></TR>
+ <TR><TD PORT="dob_tz" COLSPAN="3" ALIGN="LEFT">dob_tz</TD></TR>
+ <TR><TD PORT="address" COLSPAN="3" ALIGN="LEFT">address</TD></TR>
+ <TR><TD PORT="locality" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">locality</TD></TR>
+ <TR><TD PORT="region" COLSPAN="3" ALIGN="LEFT">region</TD></TR>
+ <TR><TD PORT="postal_code" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">postal_code</TD></TR>
+ <TR><TD PORT="country_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">country_name</TD></TR>
+ <TR><TD PORT="hometown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hometown</TD></TR>
+ <TR><TD PORT="gender" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gender</TD></TR>
+ <TR><TD PORT="marital" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">marital</TD></TR>
+ <TR><TD PORT="with" COLSPAN="3" ALIGN="LEFT">with</TD></TR>
+ <TR><TD PORT="howlong" COLSPAN="3" ALIGN="LEFT">howlong</TD></TR>
+ <TR><TD PORT="sexual" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sexual</TD></TR>
+ <TR><TD PORT="politic" COLSPAN="3" ALIGN="LEFT">politic</TD></TR>
+ <TR><TD PORT="religion" COLSPAN="3" ALIGN="LEFT">religion</TD></TR>
+ <TR><TD PORT="keywords" COLSPAN="3" ALIGN="LEFT">keywords</TD></TR>
+ <TR><TD PORT="likes" COLSPAN="3" ALIGN="LEFT">likes</TD></TR>
+ <TR><TD PORT="dislikes" COLSPAN="3" ALIGN="LEFT">dislikes</TD></TR>
+ <TR><TD PORT="about" COLSPAN="3" ALIGN="LEFT">about</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="3" ALIGN="LEFT">summary</TD></TR>
+ <TR><TD PORT="music" COLSPAN="3" ALIGN="LEFT">music</TD></TR>
+ <TR><TD PORT="book" COLSPAN="3" ALIGN="LEFT">book</TD></TR>
+ <TR><TD PORT="tv" COLSPAN="3" ALIGN="LEFT">tv</TD></TR>
+ <TR><TD PORT="film" COLSPAN="3" ALIGN="LEFT">film</TD></TR>
+ <TR><TD PORT="interest" COLSPAN="3" ALIGN="LEFT">interest</TD></TR>
+ <TR><TD PORT="romance" COLSPAN="3" ALIGN="LEFT">romance</TD></TR>
+ <TR><TD PORT="work" COLSPAN="3" ALIGN="LEFT">work</TD></TR>
+ <TR><TD PORT="education" COLSPAN="3" ALIGN="LEFT">education</TD></TR>
+ <TR><TD PORT="contact" COLSPAN="3" ALIGN="LEFT">contact</TD></TR>
+ <TR><TD PORT="channels" COLSPAN="3" ALIGN="LEFT">channels</TD></TR>
+ <TR><TD PORT="homepage" COLSPAN="3" ALIGN="LEFT">homepage</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="thumb" COLSPAN="3" ALIGN="LEFT">thumb</TD></TR>
+ <TR><TD PORT="publish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">publish</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profile.html"
+ tooltip="profile"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/profile.1degree.png b/hubzilla_er/diagrams/summary/profile.1degree.png
new file mode 100644
index 000000000..e738b627f
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profile.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/profile_check.1degree.dot b/hubzilla_er/diagrams/summary/profile_check.1degree.dot
new file mode 100644
index 000000000..762580419
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profile_check.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "profile_check" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="dfrn_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">dfrn_id</TD></TR>
+ <TR><TD PORT="sec" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sec</TD></TR>
+ <TR><TD PORT="expire" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expire</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profile_check.html"
+ tooltip="profile_check"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/profile_check.1degree.png b/hubzilla_er/diagrams/summary/profile_check.1degree.png
new file mode 100644
index 000000000..7f074e851
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/profile_check.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/register.1degree.dot b/hubzilla_er/diagrams/summary/register.1degree.dot
new file mode 100644
index 000000000..6d3259a33
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/register.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "register" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="password" COLSPAN="3" ALIGN="LEFT">password</TD></TR>
+ <TR><TD PORT="language" COLSPAN="3" ALIGN="LEFT">language</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/register.html"
+ tooltip="register"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/register.1degree.png b/hubzilla_er/diagrams/summary/register.1degree.png
new file mode 100644
index 000000000..099684117
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/register.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/relationships.implied.compact.dot b/hubzilla_er/diagrams/summary/relationships.implied.compact.dot
new file mode 100644
index 000000000..dade9cf5b
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/relationships.implied.compact.dot
@@ -0,0 +1,734 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "compactImpliedRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "account" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="account_parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_parent</TD></TR>
+ <TR><TD PORT="account_default_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_default_channel</TD></TR>
+ <TR><TD PORT="account_email" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_email</TD></TR>
+ <TR><TD PORT="account_external" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_external</TD></TR>
+ <TR><TD PORT="account_lastlog" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_lastlog</TD></TR>
+ <TR><TD PORT="account_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_flags</TD></TR>
+ <TR><TD PORT="account_roles" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_roles</TD></TR>
+ <TR><TD PORT="account_expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_expires</TD></TR>
+ <TR><TD PORT="account_service_class" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_service_class</TD></TR>
+ <TR><TD PORT="account_level" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_level</TD></TR>
+ <TR><TD PORT="account_password_changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_password_changed</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/account.html"
+ tooltip="account"
+ ];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="installed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">installed</TD></TR>
+ <TR><TD PORT="hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hidden</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="app_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_id</TD></TR>
+ <TR><TD PORT="app_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_name</TD></TR>
+ <TR><TD PORT="app_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_url</TD></TR>
+ <TR><TD PORT="app_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_photo</TD></TR>
+ <TR><TD PORT="app_version" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_version</TD></TR>
+ <TR><TD PORT="app_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_channel</TD></TR>
+ <TR><TD PORT="app_price" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_price</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/app.html"
+ tooltip="app"
+ ];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">creator</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filename</TD></TR>
+ <TR><TD PORT="filetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filetype</TD></TR>
+ <TR><TD PORT="filesize" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filesize</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="folder" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">folder</TD></TR>
+ <TR><TD PORT="flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">flags</TD></TR>
+ <TR><TD PORT="is_dir" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_dir</TD></TR>
+ <TR><TD PORT="is_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_photo</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/attach.html"
+ tooltip="attach"
+ ];
+ "auth_codes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">auth_codes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/auth_codes.html"
+ tooltip="auth_codes"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/cache.html"
+ tooltip="cache"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/channel.html"
+ tooltip="channel"
+ ];
+ "clients" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">clients</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/clients.html"
+ tooltip="clients"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/conv.html"
+ tooltip="conv"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="event_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_xchan</TD></TR>
+ <TR><TD PORT="event_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_hash</TD></TR>
+ <TR><TD PORT="start" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">start</TD></TR>
+ <TR><TD PORT="finish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">finish</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="nofinish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">nofinish</TD></TR>
+ <TR><TD PORT="adjust" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">adjust</TD></TR>
+ <TR><TD PORT="ignore" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ignore</TD></TR>
+ <TR><TD PORT="event_status" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_status</TD></TR>
+ <TR><TD PORT="event_sequence" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_sequence</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/event.html"
+ tooltip="event"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="addr" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">addr</TD></TR>
+ <TR><TD PORT="network" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">network</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="fid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">fid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/ffinder.html"
+ tooltip="ffinder"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="server" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">server</TD></TR>
+ <TR><TD PORT="posturl" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">posturl</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="visible" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">visible</TD></TR>
+ <TR><TD PORT="deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deleted</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/groups.html"
+ tooltip="groups"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hook</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/hook.html"
+ tooltip="hook"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="commented" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">commented</TD></TR>
+ <TR><TD PORT="received" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">received</TD></TR>
+ <TR><TD PORT="changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">changed</TD></TR>
+ <TR><TD PORT="comments_closed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comments_closed</TD></TR>
+ <TR><TD PORT="owner_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">owner_xchan</TD></TR>
+ <TR><TD PORT="author_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">author_xchan</TD></TR>
+ <TR><TD PORT="mimetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mimetype</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="layout_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">layout_mid</TD></TR>
+ <TR><TD PORT="llink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">llink</TD></TR>
+ <TR><TD PORT="resource_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_type</TD></TR>
+ <TR><TD PORT="public_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">public_policy</TD></TR>
+ <TR><TD PORT="comment_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comment_policy</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="item_restrict" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_restrict</TD></TR>
+ <TR><TD PORT="item_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_flags</TD></TR>
+ <TR><TD PORT="item_private" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_private</TD></TR>
+ <TR><TD PORT="item_origin" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_origin</TD></TR>
+ <TR><TD PORT="item_unseen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unseen</TD></TR>
+ <TR><TD PORT="item_starred" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_starred</TD></TR>
+ <TR><TD PORT="item_uplink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_uplink</TD></TR>
+ <TR><TD PORT="item_consensus" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_consensus</TD></TR>
+ <TR><TD PORT="item_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_wall</TD></TR>
+ <TR><TD PORT="item_thread_top" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_thread_top</TD></TR>
+ <TR><TD PORT="item_notshown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_notshown</TD></TR>
+ <TR><TD PORT="item_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nsfw</TD></TR>
+ <TR><TD PORT="item_relay" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_relay</TD></TR>
+ <TR><TD PORT="item_mentionsme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_mentionsme</TD></TR>
+ <TR><TD PORT="item_nocomment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nocomment</TD></TR>
+ <TR><TD PORT="item_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_obscured</TD></TR>
+ <TR><TD PORT="item_verified" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_verified</TD></TR>
+ <TR><TD PORT="item_retained" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_retained</TD></TR>
+ <TR><TD PORT="item_rss" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_rss</TD></TR>
+ <TR><TD PORT="item_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_deleted</TD></TR>
+ <TR><TD PORT="item_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_type</TD></TR>
+ <TR><TD PORT="item_hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_hidden</TD></TR>
+ <TR><TD PORT="item_unpublished" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unpublished</TD></TR>
+ <TR><TD PORT="item_delayed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_delayed</TD></TR>
+ <TR><TD PORT="item_pending_remove" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_pending_remove</TD></TR>
+ <TR><TD PORT="item_blocked" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_blocked</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="sid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sid</TD></TR>
+ <TR><TD PORT="service" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">service</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="liker" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">liker</TD></TR>
+ <TR><TD PORT="likee" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">likee</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="target_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_type</TD></TR>
+ <TR><TD PORT="target_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/mail.html"
+ tooltip="mail"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/pconfig.html"
+ tooltip="pconfig"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_id</TD></TR>
+ <TR><TD PORT="album" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">album</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="size" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">size</TD></TR>
+ <TR><TD PORT="scale" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">scale</TD></TR>
+ <TR><TD PORT="photo_usage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_usage</TD></TR>
+ <TR><TD PORT="profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile</TD></TR>
+ <TR><TD PORT="is_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_nsfw</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="photo_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_flags</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="field_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">field_name</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profext.html"
+ tooltip="profext"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="profile_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile_guid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="is_default" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_default</TD></TR>
+ <TR><TD PORT="hide_friends" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hide_friends</TD></TR>
+ <TR><TD PORT="locality" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">locality</TD></TR>
+ <TR><TD PORT="postal_code" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">postal_code</TD></TR>
+ <TR><TD PORT="country_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">country_name</TD></TR>
+ <TR><TD PORT="hometown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hometown</TD></TR>
+ <TR><TD PORT="gender" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gender</TD></TR>
+ <TR><TD PORT="marital" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">marital</TD></TR>
+ <TR><TD PORT="sexual" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sexual</TD></TR>
+ <TR><TD PORT="publish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">publish</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profile.html"
+ tooltip="profile"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="dfrn_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">dfrn_id</TD></TR>
+ <TR><TD PORT="sec" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sec</TD></TR>
+ <TR><TD PORT="expire" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expire</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="retract_iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">retract_iid</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/sign.html"
+ tooltip="sign"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="spam" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">spam</TD></TR>
+ <TR><TD PORT="ham" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ham</TD></TR>
+ <TR><TD PORT="term" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">term</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/spam.html"
+ tooltip="spam"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "tokens" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">tokens</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/tokens.html"
+ tooltip="tokens"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xign.html"
+ tooltip="xign"
+ ];
+ "addon":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "auth_codes":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes":"id":w -> "tokens":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "conv":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "likes":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"account_id":w -> "account":"account_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "photo":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "tokens":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xign":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+}
diff --git a/hubzilla_er/diagrams/summary/relationships.implied.compact.png b/hubzilla_er/diagrams/summary/relationships.implied.compact.png
new file mode 100644
index 000000000..dd2a635e9
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/relationships.implied.compact.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/relationships.implied.large.dot b/hubzilla_er/diagrams/summary/relationships.implied.large.dot
new file mode 100644
index 000000000..502fc8ad5
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/relationships.implied.large.dot
@@ -0,0 +1,878 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "largeImpliedRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "account" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="account_parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_parent</TD></TR>
+ <TR><TD PORT="account_default_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_default_channel</TD></TR>
+ <TR><TD PORT="account_salt" COLSPAN="3" ALIGN="LEFT">account_salt</TD></TR>
+ <TR><TD PORT="account_password" COLSPAN="3" ALIGN="LEFT">account_password</TD></TR>
+ <TR><TD PORT="account_email" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_email</TD></TR>
+ <TR><TD PORT="account_external" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_external</TD></TR>
+ <TR><TD PORT="account_language" COLSPAN="3" ALIGN="LEFT">account_language</TD></TR>
+ <TR><TD PORT="account_created" COLSPAN="3" ALIGN="LEFT">account_created</TD></TR>
+ <TR><TD PORT="account_lastlog" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_lastlog</TD></TR>
+ <TR><TD PORT="account_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_flags</TD></TR>
+ <TR><TD PORT="account_roles" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_roles</TD></TR>
+ <TR><TD PORT="account_reset" COLSPAN="3" ALIGN="LEFT">account_reset</TD></TR>
+ <TR><TD PORT="account_expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_expires</TD></TR>
+ <TR><TD PORT="account_expire_notified" COLSPAN="3" ALIGN="LEFT">account_expire_notified</TD></TR>
+ <TR><TD PORT="account_service_class" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_service_class</TD></TR>
+ <TR><TD PORT="account_level" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_level</TD></TR>
+ <TR><TD PORT="account_password_changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_password_changed</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/account.html"
+ tooltip="account"
+ ];
+ "addon" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">addon</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="version" COLSPAN="3" ALIGN="LEFT">version</TD></TR>
+ <TR><TD PORT="installed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">installed</TD></TR>
+ <TR><TD PORT="hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hidden</TD></TR>
+ <TR><TD PORT="timestamp" COLSPAN="3" ALIGN="LEFT">timestamp</TD></TR>
+ <TR><TD PORT="plugin_admin" COLSPAN="3" ALIGN="LEFT">plugin_admin</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/addon.html"
+ tooltip="addon"
+ ];
+ "app" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">app</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="app_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_id</TD></TR>
+ <TR><TD PORT="app_sig" COLSPAN="3" ALIGN="LEFT">app_sig</TD></TR>
+ <TR><TD PORT="app_author" COLSPAN="3" ALIGN="LEFT">app_author</TD></TR>
+ <TR><TD PORT="app_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_name</TD></TR>
+ <TR><TD PORT="app_desc" COLSPAN="3" ALIGN="LEFT">app_desc</TD></TR>
+ <TR><TD PORT="app_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_url</TD></TR>
+ <TR><TD PORT="app_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_photo</TD></TR>
+ <TR><TD PORT="app_version" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_version</TD></TR>
+ <TR><TD PORT="app_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_channel</TD></TR>
+ <TR><TD PORT="app_addr" COLSPAN="3" ALIGN="LEFT">app_addr</TD></TR>
+ <TR><TD PORT="app_price" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">app_price</TD></TR>
+ <TR><TD PORT="app_page" COLSPAN="3" ALIGN="LEFT">app_page</TD></TR>
+ <TR><TD PORT="app_requires" COLSPAN="3" ALIGN="LEFT">app_requires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/app.html"
+ tooltip="app"
+ ];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">creator</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filename</TD></TR>
+ <TR><TD PORT="filetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filetype</TD></TR>
+ <TR><TD PORT="filesize" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filesize</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="folder" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">folder</TD></TR>
+ <TR><TD PORT="flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">flags</TD></TR>
+ <TR><TD PORT="is_dir" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_dir</TD></TR>
+ <TR><TD PORT="is_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_photo</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="3" ALIGN="LEFT">os_path</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="3" ALIGN="LEFT">display_path</TD></TR>
+ <TR><TD PORT="data" COLSPAN="3" ALIGN="LEFT">data</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/attach.html"
+ tooltip="attach"
+ ];
+ "auth_codes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">auth_codes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/auth_codes.html"
+ tooltip="auth_codes"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/cache.html"
+ tooltip="cache"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="channel_account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_account_id</TD></TR>
+ <TR><TD PORT="channel_primary" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_primary</TD></TR>
+ <TR><TD PORT="channel_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_name</TD></TR>
+ <TR><TD PORT="channel_address" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_address</TD></TR>
+ <TR><TD PORT="channel_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_guid</TD></TR>
+ <TR><TD PORT="channel_guid_sig" COLSPAN="3" ALIGN="LEFT">channel_guid_sig</TD></TR>
+ <TR><TD PORT="channel_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_hash</TD></TR>
+ <TR><TD PORT="channel_timezone" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_timezone</TD></TR>
+ <TR><TD PORT="channel_location" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_location</TD></TR>
+ <TR><TD PORT="channel_theme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_theme</TD></TR>
+ <TR><TD PORT="channel_startpage" COLSPAN="3" ALIGN="LEFT">channel_startpage</TD></TR>
+ <TR><TD PORT="channel_pubkey" COLSPAN="3" ALIGN="LEFT">channel_pubkey</TD></TR>
+ <TR><TD PORT="channel_prvkey" COLSPAN="3" ALIGN="LEFT">channel_prvkey</TD></TR>
+ <TR><TD PORT="channel_notifyflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_notifyflags</TD></TR>
+ <TR><TD PORT="channel_pageflags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_pageflags</TD></TR>
+ <TR><TD PORT="channel_dirdate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_dirdate</TD></TR>
+ <TR><TD PORT="channel_lastpost" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_lastpost</TD></TR>
+ <TR><TD PORT="channel_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_deleted</TD></TR>
+ <TR><TD PORT="channel_max_anon_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_anon_mail</TD></TR>
+ <TR><TD PORT="channel_max_friend_req" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_max_friend_req</TD></TR>
+ <TR><TD PORT="channel_expire_days" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_expire_days</TD></TR>
+ <TR><TD PORT="channel_passwd_reset" COLSPAN="3" ALIGN="LEFT">channel_passwd_reset</TD></TR>
+ <TR><TD PORT="channel_default_group" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_default_group</TD></TR>
+ <TR><TD PORT="channel_allow_cid" COLSPAN="3" ALIGN="LEFT">channel_allow_cid</TD></TR>
+ <TR><TD PORT="channel_allow_gid" COLSPAN="3" ALIGN="LEFT">channel_allow_gid</TD></TR>
+ <TR><TD PORT="channel_deny_cid" COLSPAN="3" ALIGN="LEFT">channel_deny_cid</TD></TR>
+ <TR><TD PORT="channel_deny_gid" COLSPAN="3" ALIGN="LEFT">channel_deny_gid</TD></TR>
+ <TR><TD PORT="channel_r_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_stream</TD></TR>
+ <TR><TD PORT="channel_r_profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_profile</TD></TR>
+ <TR><TD PORT="channel_r_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_photos</TD></TR>
+ <TR><TD PORT="channel_r_abook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_abook</TD></TR>
+ <TR><TD PORT="channel_w_stream" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_stream</TD></TR>
+ <TR><TD PORT="channel_w_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_wall</TD></TR>
+ <TR><TD PORT="channel_w_tagwall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_tagwall</TD></TR>
+ <TR><TD PORT="channel_w_comment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_comment</TD></TR>
+ <TR><TD PORT="channel_w_mail" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_mail</TD></TR>
+ <TR><TD PORT="channel_w_photos" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_photos</TD></TR>
+ <TR><TD PORT="channel_w_chat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_chat</TD></TR>
+ <TR><TD PORT="channel_a_delegate" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_delegate</TD></TR>
+ <TR><TD PORT="channel_r_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_storage</TD></TR>
+ <TR><TD PORT="channel_w_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_storage</TD></TR>
+ <TR><TD PORT="channel_r_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_r_pages</TD></TR>
+ <TR><TD PORT="channel_w_pages" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_pages</TD></TR>
+ <TR><TD PORT="channel_a_republish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_a_republish</TD></TR>
+ <TR><TD PORT="channel_w_like" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_w_like</TD></TR>
+ <TR><TD PORT="channel_removed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_removed</TD></TR>
+ <TR><TD PORT="channel_system" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_system</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/channel.html"
+ tooltip="channel"
+ ];
+ "clients" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">clients</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="pw" COLSPAN="3" ALIGN="LEFT">pw</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="icon" COLSPAN="3" ALIGN="LEFT">icon</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/clients.html"
+ tooltip="clients"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="guid" COLSPAN="3" ALIGN="LEFT">guid</TD></TR>
+ <TR><TD PORT="recips" COLSPAN="3" ALIGN="LEFT">recips</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="3" ALIGN="LEFT">creator</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD PORT="subject" COLSPAN="3" ALIGN="LEFT">subject</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/conv.html"
+ tooltip="conv"
+ ];
+ "event" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">event</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="event_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_xchan</TD></TR>
+ <TR><TD PORT="event_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_hash</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="start" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">start</TD></TR>
+ <TR><TD PORT="finish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">finish</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="3" ALIGN="LEFT">summary</TD></TR>
+ <TR><TD PORT="description" COLSPAN="3" ALIGN="LEFT">description</TD></TR>
+ <TR><TD PORT="location" COLSPAN="3" ALIGN="LEFT">location</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="nofinish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">nofinish</TD></TR>
+ <TR><TD PORT="adjust" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">adjust</TD></TR>
+ <TR><TD PORT="ignore" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ignore</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="event_status" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_status</TD></TR>
+ <TR><TD PORT="event_status_date" COLSPAN="3" ALIGN="LEFT">event_status_date</TD></TR>
+ <TR><TD PORT="event_percent" COLSPAN="3" ALIGN="LEFT">event_percent</TD></TR>
+ <TR><TD PORT="event_repeat" COLSPAN="3" ALIGN="LEFT">event_repeat</TD></TR>
+ <TR><TD PORT="event_sequence" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">event_sequence</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/event.html"
+ tooltip="event"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="request" COLSPAN="3" ALIGN="LEFT">request</TD></TR>
+ <TR><TD PORT="nick" COLSPAN="3" ALIGN="LEFT">nick</TD></TR>
+ <TR><TD PORT="addr" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">addr</TD></TR>
+ <TR><TD PORT="batch" COLSPAN="3" ALIGN="LEFT">batch</TD></TR>
+ <TR><TD PORT="notify" COLSPAN="3" ALIGN="LEFT">notify</TD></TR>
+ <TR><TD PORT="poll" COLSPAN="3" ALIGN="LEFT">poll</TD></TR>
+ <TR><TD PORT="confirm" COLSPAN="3" ALIGN="LEFT">confirm</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="3" ALIGN="LEFT">priority</TD></TR>
+ <TR><TD PORT="network" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">network</TD></TR>
+ <TR><TD PORT="alias" COLSPAN="3" ALIGN="LEFT">alias</TD></TR>
+ <TR><TD PORT="pubkey" COLSPAN="3" ALIGN="LEFT">pubkey</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="fid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">fid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/ffinder.html"
+ tooltip="ffinder"
+ ];
+ "fserver" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fserver</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="server" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">server</TD></TR>
+ <TR><TD PORT="posturl" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">posturl</TD></TR>
+ <TR><TD PORT="key" COLSPAN="3" ALIGN="LEFT">key</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fserver.html"
+ tooltip="fserver"
+ ];
+ "fsuggest" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fsuggest</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="request" COLSPAN="3" ALIGN="LEFT">request</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="note" COLSPAN="3" ALIGN="LEFT">note</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/fsuggest.html"
+ tooltip="fsuggest"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="visible" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">visible</TD></TR>
+ <TR><TD PORT="deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deleted</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/groups.html"
+ tooltip="groups"
+ ];
+ "hook" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">hook</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hook" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hook</TD></TR>
+ <TR><TD PORT="file" COLSPAN="3" ALIGN="LEFT">file</TD></TR>
+ <TR><TD PORT="function" COLSPAN="3" ALIGN="LEFT">function</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="3" ALIGN="LEFT">priority</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/hook.html"
+ tooltip="hook"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="thr_parent" COLSPAN="3" ALIGN="LEFT">thr_parent</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="commented" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">commented</TD></TR>
+ <TR><TD PORT="received" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">received</TD></TR>
+ <TR><TD PORT="changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">changed</TD></TR>
+ <TR><TD PORT="comments_closed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comments_closed</TD></TR>
+ <TR><TD PORT="owner_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">owner_xchan</TD></TR>
+ <TR><TD PORT="author_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">author_xchan</TD></TR>
+ <TR><TD PORT="source_xchan" COLSPAN="3" ALIGN="LEFT">source_xchan</TD></TR>
+ <TR><TD PORT="mimetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mimetype</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="html" COLSPAN="3" ALIGN="LEFT">html</TD></TR>
+ <TR><TD PORT="app" COLSPAN="3" ALIGN="LEFT">app</TD></TR>
+ <TR><TD PORT="lang" COLSPAN="3" ALIGN="LEFT">lang</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="obj_type" COLSPAN="3" ALIGN="LEFT">obj_type</TD></TR>
+ <TR><TD PORT="object" COLSPAN="3" ALIGN="LEFT">object</TD></TR>
+ <TR><TD PORT="tgt_type" COLSPAN="3" ALIGN="LEFT">tgt_type</TD></TR>
+ <TR><TD PORT="target" COLSPAN="3" ALIGN="LEFT">target</TD></TR>
+ <TR><TD PORT="layout_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">layout_mid</TD></TR>
+ <TR><TD PORT="postopts" COLSPAN="3" ALIGN="LEFT">postopts</TD></TR>
+ <TR><TD PORT="route" COLSPAN="3" ALIGN="LEFT">route</TD></TR>
+ <TR><TD PORT="llink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">llink</TD></TR>
+ <TR><TD PORT="plink" COLSPAN="3" ALIGN="LEFT">plink</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="3" ALIGN="LEFT">resource_id</TD></TR>
+ <TR><TD PORT="resource_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_type</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="diaspora_meta" COLSPAN="3" ALIGN="LEFT">diaspora_meta</TD></TR>
+ <TR><TD PORT="location" COLSPAN="3" ALIGN="LEFT">location</TD></TR>
+ <TR><TD PORT="coord" COLSPAN="3" ALIGN="LEFT">coord</TD></TR>
+ <TR><TD PORT="public_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">public_policy</TD></TR>
+ <TR><TD PORT="comment_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comment_policy</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="item_restrict" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_restrict</TD></TR>
+ <TR><TD PORT="item_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_flags</TD></TR>
+ <TR><TD PORT="item_private" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_private</TD></TR>
+ <TR><TD PORT="item_origin" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_origin</TD></TR>
+ <TR><TD PORT="item_unseen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unseen</TD></TR>
+ <TR><TD PORT="item_starred" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_starred</TD></TR>
+ <TR><TD PORT="item_uplink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_uplink</TD></TR>
+ <TR><TD PORT="item_consensus" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_consensus</TD></TR>
+ <TR><TD PORT="item_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_wall</TD></TR>
+ <TR><TD PORT="item_thread_top" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_thread_top</TD></TR>
+ <TR><TD PORT="item_notshown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_notshown</TD></TR>
+ <TR><TD PORT="item_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nsfw</TD></TR>
+ <TR><TD PORT="item_relay" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_relay</TD></TR>
+ <TR><TD PORT="item_mentionsme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_mentionsme</TD></TR>
+ <TR><TD PORT="item_nocomment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nocomment</TD></TR>
+ <TR><TD PORT="item_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_obscured</TD></TR>
+ <TR><TD PORT="item_verified" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_verified</TD></TR>
+ <TR><TD PORT="item_retained" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_retained</TD></TR>
+ <TR><TD PORT="item_rss" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_rss</TD></TR>
+ <TR><TD PORT="item_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_deleted</TD></TR>
+ <TR><TD PORT="item_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_type</TD></TR>
+ <TR><TD PORT="item_hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_hidden</TD></TR>
+ <TR><TD PORT="item_unpublished" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unpublished</TD></TR>
+ <TR><TD PORT="item_delayed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_delayed</TD></TR>
+ <TR><TD PORT="item_pending_remove" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_pending_remove</TD></TR>
+ <TR><TD PORT="item_blocked" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_blocked</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="sid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sid</TD></TR>
+ <TR><TD PORT="service" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">service</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="liker" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">liker</TD></TR>
+ <TR><TD PORT="likee" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">likee</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="target_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_type</TD></TR>
+ <TR><TD PORT="target_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_id</TD></TR>
+ <TR><TD PORT="target" COLSPAN="3" ALIGN="LEFT">target</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/mail.html"
+ tooltip="mail"
+ ];
+ "manage" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">manage</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/manage.html"
+ tooltip="manage"
+ ];
+ "notify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">notify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">date</TD></TR>
+ <TR><TD PORT="msg" COLSPAN="3" ALIGN="LEFT">msg</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">link</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">seen</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">59 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/notify.html"
+ tooltip="notify"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/pconfig.html"
+ tooltip="pconfig"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_id</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="description" COLSPAN="3" ALIGN="LEFT">description</TD></TR>
+ <TR><TD PORT="album" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">album</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="3" ALIGN="LEFT">filename</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="height" COLSPAN="3" ALIGN="LEFT">height</TD></TR>
+ <TR><TD PORT="width" COLSPAN="3" ALIGN="LEFT">width</TD></TR>
+ <TR><TD PORT="size" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">size</TD></TR>
+ <TR><TD PORT="data" COLSPAN="3" ALIGN="LEFT">data</TD></TR>
+ <TR><TD PORT="scale" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">scale</TD></TR>
+ <TR><TD PORT="photo_usage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_usage</TD></TR>
+ <TR><TD PORT="profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile</TD></TR>
+ <TR><TD PORT="is_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_nsfw</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="3" ALIGN="LEFT">os_path</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="3" ALIGN="LEFT">display_path</TD></TR>
+ <TR><TD PORT="photo_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_flags</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="field_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">field_name</TD></TR>
+ <TR><TD PORT="field_type" COLSPAN="3" ALIGN="LEFT">field_type</TD></TR>
+ <TR><TD PORT="field_desc" COLSPAN="3" ALIGN="LEFT">field_desc</TD></TR>
+ <TR><TD PORT="field_help" COLSPAN="3" ALIGN="LEFT">field_help</TD></TR>
+ <TR><TD PORT="field_inputs" COLSPAN="3" ALIGN="LEFT">field_inputs</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profext.html"
+ tooltip="profext"
+ ];
+ "profile" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="profile_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile_guid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="profile_name" COLSPAN="3" ALIGN="LEFT">profile_name</TD></TR>
+ <TR><TD PORT="is_default" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_default</TD></TR>
+ <TR><TD PORT="hide_friends" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hide_friends</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="pdesc" COLSPAN="3" ALIGN="LEFT">pdesc</TD></TR>
+ <TR><TD PORT="chandesc" COLSPAN="3" ALIGN="LEFT">chandesc</TD></TR>
+ <TR><TD PORT="dob" COLSPAN="3" ALIGN="LEFT">dob</TD></TR>
+ <TR><TD PORT="dob_tz" COLSPAN="3" ALIGN="LEFT">dob_tz</TD></TR>
+ <TR><TD PORT="address" COLSPAN="3" ALIGN="LEFT">address</TD></TR>
+ <TR><TD PORT="locality" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">locality</TD></TR>
+ <TR><TD PORT="region" COLSPAN="3" ALIGN="LEFT">region</TD></TR>
+ <TR><TD PORT="postal_code" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">postal_code</TD></TR>
+ <TR><TD PORT="country_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">country_name</TD></TR>
+ <TR><TD PORT="hometown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hometown</TD></TR>
+ <TR><TD PORT="gender" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gender</TD></TR>
+ <TR><TD PORT="marital" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">marital</TD></TR>
+ <TR><TD PORT="with" COLSPAN="3" ALIGN="LEFT">with</TD></TR>
+ <TR><TD PORT="howlong" COLSPAN="3" ALIGN="LEFT">howlong</TD></TR>
+ <TR><TD PORT="sexual" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sexual</TD></TR>
+ <TR><TD PORT="politic" COLSPAN="3" ALIGN="LEFT">politic</TD></TR>
+ <TR><TD PORT="religion" COLSPAN="3" ALIGN="LEFT">religion</TD></TR>
+ <TR><TD PORT="keywords" COLSPAN="3" ALIGN="LEFT">keywords</TD></TR>
+ <TR><TD PORT="likes" COLSPAN="3" ALIGN="LEFT">likes</TD></TR>
+ <TR><TD PORT="dislikes" COLSPAN="3" ALIGN="LEFT">dislikes</TD></TR>
+ <TR><TD PORT="about" COLSPAN="3" ALIGN="LEFT">about</TD></TR>
+ <TR><TD PORT="summary" COLSPAN="3" ALIGN="LEFT">summary</TD></TR>
+ <TR><TD PORT="music" COLSPAN="3" ALIGN="LEFT">music</TD></TR>
+ <TR><TD PORT="book" COLSPAN="3" ALIGN="LEFT">book</TD></TR>
+ <TR><TD PORT="tv" COLSPAN="3" ALIGN="LEFT">tv</TD></TR>
+ <TR><TD PORT="film" COLSPAN="3" ALIGN="LEFT">film</TD></TR>
+ <TR><TD PORT="interest" COLSPAN="3" ALIGN="LEFT">interest</TD></TR>
+ <TR><TD PORT="romance" COLSPAN="3" ALIGN="LEFT">romance</TD></TR>
+ <TR><TD PORT="work" COLSPAN="3" ALIGN="LEFT">work</TD></TR>
+ <TR><TD PORT="education" COLSPAN="3" ALIGN="LEFT">education</TD></TR>
+ <TR><TD PORT="contact" COLSPAN="3" ALIGN="LEFT">contact</TD></TR>
+ <TR><TD PORT="channels" COLSPAN="3" ALIGN="LEFT">channels</TD></TR>
+ <TR><TD PORT="homepage" COLSPAN="3" ALIGN="LEFT">homepage</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="thumb" COLSPAN="3" ALIGN="LEFT">thumb</TD></TR>
+ <TR><TD PORT="publish" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">publish</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profile.html"
+ tooltip="profile"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="dfrn_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">dfrn_id</TD></TR>
+ <TR><TD PORT="sec" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sec</TD></TR>
+ <TR><TD PORT="expire" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expire</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="password" COLSPAN="3" ALIGN="LEFT">password</TD></TR>
+ <TR><TD PORT="language" COLSPAN="3" ALIGN="LEFT">language</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="retract_iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">retract_iid</TD></TR>
+ <TR><TD PORT="signed_text" COLSPAN="3" ALIGN="LEFT">signed_text</TD></TR>
+ <TR><TD PORT="signature" COLSPAN="3" ALIGN="LEFT">signature</TD></TR>
+ <TR><TD PORT="signer" COLSPAN="3" ALIGN="LEFT">signer</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/sign.html"
+ tooltip="sign"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="spam" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">spam</TD></TR>
+ <TR><TD PORT="ham" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ham</TD></TR>
+ <TR><TD PORT="term" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">term</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" ALIGN="LEFT">date</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/spam.html"
+ tooltip="spam"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="public_perm" COLSPAN="3" ALIGN="LEFT">public_perm</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "tokens" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">tokens</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="secret" COLSPAN="3" ALIGN="LEFT">secret</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/tokens.html"
+ tooltip="tokens"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xign.html"
+ tooltip="xign"
+ ];
+ "addon":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "app":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "auth_codes":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes":"id":w -> "tokens":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "conv":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "event":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fserver":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fsuggest":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "hook":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "likes":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"account_id":w -> "account":"account_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "manage":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "photo":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"channel_id":w -> "channel":"channel_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "spam":"id":w -> "notify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "tokens":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xign":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+}
diff --git a/hubzilla_er/diagrams/summary/relationships.implied.large.png b/hubzilla_er/diagrams/summary/relationships.implied.large.png
new file mode 100644
index 000000000..cfe93b293
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/relationships.implied.large.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/relationships.real.compact.dot b/hubzilla_er/diagrams/summary/relationships.real.compact.dot
new file mode 100644
index 000000000..d04941e90
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/relationships.real.compact.dot
@@ -0,0 +1,22 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "compactRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/session.1degree.dot b/hubzilla_er/diagrams/summary/session.1degree.dot
new file mode 100644
index 000000000..9d4db1b13
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/session.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "session" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "session" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">session</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="sid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sid</TD></TR>
+ <TR><TD PORT="data" COLSPAN="3" ALIGN="LEFT">data</TD></TR>
+ <TR><TD PORT="expire" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expire</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">23 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/session.html"
+ tooltip="session"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/session.1degree.png b/hubzilla_er/diagrams/summary/session.1degree.png
new file mode 100644
index 000000000..cdb8b2c6b
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/session.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/shares.1degree.dot b/hubzilla_er/diagrams/summary/shares.1degree.dot
new file mode 100644
index 000000000..903d6bf1c
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/shares.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "shares" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "shares" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">shares</TD></TR>
+ <TR><TD PORT="share_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">share_id</TD></TR>
+ <TR><TD PORT="share_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">share_type</TD></TR>
+ <TR><TD PORT="share_target" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">share_target</TD></TR>
+ <TR><TD PORT="share_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">share_xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/shares.html"
+ tooltip="shares"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/shares.1degree.png b/hubzilla_er/diagrams/summary/shares.1degree.png
new file mode 100644
index 000000000..b74cbe601
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/shares.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/sign.1degree.dot b/hubzilla_er/diagrams/summary/sign.1degree.dot
new file mode 100644
index 000000000..f3eac7028
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/sign.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "sign" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="retract_iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">retract_iid</TD></TR>
+ <TR><TD PORT="signed_text" COLSPAN="3" ALIGN="LEFT">signed_text</TD></TR>
+ <TR><TD PORT="signature" COLSPAN="3" ALIGN="LEFT">signature</TD></TR>
+ <TR><TD PORT="signer" COLSPAN="3" ALIGN="LEFT">signer</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/sign.html"
+ tooltip="sign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/sign.1degree.png b/hubzilla_er/diagrams/summary/sign.1degree.png
new file mode 100644
index 000000000..5b23d795c
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/sign.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/site.1degree.dot b/hubzilla_er/diagrams/summary/site.1degree.dot
new file mode 100644
index 000000000..0720837c7
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/site.1degree.dot
@@ -0,0 +1,42 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "site" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "site" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">site</TD></TR>
+ <TR><TD PORT="site_url" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">site_url</TD></TR>
+ <TR><TD PORT="site_access" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_access</TD></TR>
+ <TR><TD PORT="site_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_flags</TD></TR>
+ <TR><TD PORT="site_update" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_update</TD></TR>
+ <TR><TD PORT="site_pull" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_pull</TD></TR>
+ <TR><TD PORT="site_sync" COLSPAN="3" ALIGN="LEFT">site_sync</TD></TR>
+ <TR><TD PORT="site_directory" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_directory</TD></TR>
+ <TR><TD PORT="site_register" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_register</TD></TR>
+ <TR><TD PORT="site_sellpage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_sellpage</TD></TR>
+ <TR><TD PORT="site_location" COLSPAN="3" ALIGN="LEFT">site_location</TD></TR>
+ <TR><TD PORT="site_realm" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_realm</TD></TR>
+ <TR><TD PORT="site_valid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_valid</TD></TR>
+ <TR><TD PORT="site_dead" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">site_dead</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">117 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/site.html"
+ tooltip="site"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/site.1degree.png b/hubzilla_er/diagrams/summary/site.1degree.png
new file mode 100644
index 000000000..ce32c84b9
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/site.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/source.1degree.dot b/hubzilla_er/diagrams/summary/source.1degree.dot
new file mode 100644
index 000000000..fa656d7df
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/source.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "source" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "source" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">source</TD></TR>
+ <TR><TD PORT="src_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">src_id</TD></TR>
+ <TR><TD PORT="src_channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">src_channel_id</TD></TR>
+ <TR><TD PORT="src_channel_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">src_channel_xchan</TD></TR>
+ <TR><TD PORT="src_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">src_xchan</TD></TR>
+ <TR><TD PORT="src_patt" COLSPAN="3" ALIGN="LEFT">src_patt</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/source.html"
+ tooltip="source"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/source.1degree.png b/hubzilla_er/diagrams/summary/source.1degree.png
new file mode 100644
index 000000000..fda7de5b6
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/source.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/spam.1degree.dot b/hubzilla_er/diagrams/summary/spam.1degree.dot
new file mode 100644
index 000000000..d8a7e8b67
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/spam.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "spam" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "spam" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">spam</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="spam" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">spam</TD></TR>
+ <TR><TD PORT="ham" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ham</TD></TR>
+ <TR><TD PORT="term" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">term</TD></TR>
+ <TR><TD PORT="date" COLSPAN="3" ALIGN="LEFT">date</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/spam.html"
+ tooltip="spam"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/spam.1degree.png b/hubzilla_er/diagrams/summary/spam.1degree.png
new file mode 100644
index 000000000..705472eea
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/spam.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/sys_perms.1degree.dot b/hubzilla_er/diagrams/summary/sys_perms.1degree.dot
new file mode 100644
index 000000000..caea5abe8
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/sys_perms.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "sys_perms" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="public_perm" COLSPAN="3" ALIGN="LEFT">public_perm</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/sys_perms.html"
+ tooltip="sys_perms"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/sys_perms.1degree.png b/hubzilla_er/diagrams/summary/sys_perms.1degree.png
new file mode 100644
index 000000000..c3c9fd415
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/sys_perms.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/term.1degree.dot b/hubzilla_er/diagrams/summary/term.1degree.dot
new file mode 100644
index 000000000..99f75cb2e
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/term.1degree.dot
@@ -0,0 +1,40 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "term" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "term" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">term</TD></TR>
+ <TR><TD PORT="tid" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">tid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="oid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">oid</TD></TR>
+ <TR><TD PORT="otype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">otype</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="term" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">term</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="imgurl" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">imgurl</TD></TR>
+ <TR><TD PORT="term_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">term_hash</TD></TR>
+ <TR><TD PORT="parent_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_hash</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 585 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/term.html"
+ tooltip="term"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/term.1degree.png b/hubzilla_er/diagrams/summary/term.1degree.png
new file mode 100644
index 000000000..1ed65fee6
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/term.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/tokens.1degree.dot b/hubzilla_er/diagrams/summary/tokens.1degree.dot
new file mode 100644
index 000000000..5efc34ca1
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/tokens.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "tokens" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "tokens" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">tokens</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="secret" COLSPAN="3" ALIGN="LEFT">secret</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/tokens.html"
+ tooltip="tokens"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/tokens.1degree.png b/hubzilla_er/diagrams/summary/tokens.1degree.png
new file mode 100644
index 000000000..c2bd336dc
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/tokens.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/updates.1degree.dot b/hubzilla_er/diagrams/summary/updates.1degree.dot
new file mode 100644
index 000000000..e779f8247
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/updates.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "updates" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "updates" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">updates</TD></TR>
+ <TR><TD PORT="ud_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">ud_id</TD></TR>
+ <TR><TD PORT="ud_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ud_hash</TD></TR>
+ <TR><TD PORT="ud_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ud_guid</TD></TR>
+ <TR><TD PORT="ud_date" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ud_date</TD></TR>
+ <TR><TD PORT="ud_last" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ud_last</TD></TR>
+ <TR><TD PORT="ud_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ud_flags</TD></TR>
+ <TR><TD PORT="ud_addr" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">ud_addr</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/updates.html"
+ tooltip="updates"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/updates.1degree.png b/hubzilla_er/diagrams/summary/updates.1degree.png
new file mode 100644
index 000000000..7d5990ca1
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/updates.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/verify.1degree.dot b/hubzilla_er/diagrams/summary/verify.1degree.dot
new file mode 100644
index 000000000..f991cf6c5
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/verify.1degree.dot
@@ -0,0 +1,35 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "verify" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/verify.html"
+ tooltip="verify"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/verify.1degree.png b/hubzilla_er/diagrams/summary/verify.1degree.png
new file mode 100644
index 000000000..9813ddaaf
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/verify.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/vote.1degree.dot b/hubzilla_er/diagrams/summary/vote.1degree.dot
new file mode 100644
index 000000000..b0a0a3aac
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/vote.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "vote" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "vote" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">vote</TD></TR>
+ <TR><TD PORT="vote_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">vote_id</TD></TR>
+ <TR><TD PORT="vote_poll" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">vote_poll</TD></TR>
+ <TR><TD PORT="vote_element" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">vote_element</TD></TR>
+ <TR><TD PORT="vote_result" COLSPAN="3" ALIGN="LEFT">vote_result</TD></TR>
+ <TR><TD PORT="vote_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">vote_xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/vote.html"
+ tooltip="vote"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/vote.1degree.png b/hubzilla_er/diagrams/summary/vote.1degree.png
new file mode 100644
index 000000000..ae4a552bc
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/vote.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xchan.1degree.dot b/hubzilla_er/diagrams/summary/xchan.1degree.dot
new file mode 100644
index 000000000..6fcaf34fa
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xchan.1degree.dot
@@ -0,0 +1,55 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xchan" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xchan" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xchan</TD></TR>
+ <TR><TD PORT="xchan_hash" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">xchan_hash</TD></TR>
+ <TR><TD PORT="xchan_guid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_guid</TD></TR>
+ <TR><TD PORT="xchan_guid_sig" COLSPAN="3" ALIGN="LEFT">xchan_guid_sig</TD></TR>
+ <TR><TD PORT="xchan_pubkey" COLSPAN="3" ALIGN="LEFT">xchan_pubkey</TD></TR>
+ <TR><TD PORT="xchan_photo_mimetype" COLSPAN="3" ALIGN="LEFT">xchan_photo_mimetype</TD></TR>
+ <TR><TD PORT="xchan_photo_l" COLSPAN="3" ALIGN="LEFT">xchan_photo_l</TD></TR>
+ <TR><TD PORT="xchan_photo_m" COLSPAN="3" ALIGN="LEFT">xchan_photo_m</TD></TR>
+ <TR><TD PORT="xchan_photo_s" COLSPAN="3" ALIGN="LEFT">xchan_photo_s</TD></TR>
+ <TR><TD PORT="xchan_addr" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_addr</TD></TR>
+ <TR><TD PORT="xchan_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_url</TD></TR>
+ <TR><TD PORT="xchan_connurl" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_connurl</TD></TR>
+ <TR><TD PORT="xchan_follow" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_follow</TD></TR>
+ <TR><TD PORT="xchan_connpage" COLSPAN="3" ALIGN="LEFT">xchan_connpage</TD></TR>
+ <TR><TD PORT="xchan_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_name</TD></TR>
+ <TR><TD PORT="xchan_network" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_network</TD></TR>
+ <TR><TD PORT="xchan_instance_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_instance_url</TD></TR>
+ <TR><TD PORT="xchan_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_flags</TD></TR>
+ <TR><TD PORT="xchan_photo_date" COLSPAN="3" ALIGN="LEFT">xchan_photo_date</TD></TR>
+ <TR><TD PORT="xchan_name_date" COLSPAN="3" ALIGN="LEFT">xchan_name_date</TD></TR>
+ <TR><TD PORT="xchan_hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_hidden</TD></TR>
+ <TR><TD PORT="xchan_orphan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_orphan</TD></TR>
+ <TR><TD PORT="xchan_censored" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_censored</TD></TR>
+ <TR><TD PORT="xchan_selfcensored" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_selfcensored</TD></TR>
+ <TR><TD PORT="xchan_system" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_system</TD></TR>
+ <TR><TD PORT="xchan_pubforum" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_pubforum</TD></TR>
+ <TR><TD PORT="xchan_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan_deleted</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 168 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xchan.html"
+ tooltip="xchan"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xchan.1degree.png b/hubzilla_er/diagrams/summary/xchan.1degree.png
new file mode 100644
index 000000000..1fa074f88
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xchan.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xchat.1degree.dot b/hubzilla_er/diagrams/summary/xchat.1degree.dot
new file mode 100644
index 000000000..515ac658d
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xchat.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xchat" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xchat" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xchat</TD></TR>
+ <TR><TD PORT="xchat_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">xchat_id</TD></TR>
+ <TR><TD PORT="xchat_url" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchat_url</TD></TR>
+ <TR><TD PORT="xchat_desc" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchat_desc</TD></TR>
+ <TR><TD PORT="xchat_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchat_xchan</TD></TR>
+ <TR><TD PORT="xchat_edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchat_edited</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xchat.html"
+ tooltip="xchat"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xchat.1degree.png b/hubzilla_er/diagrams/summary/xchat.1degree.png
new file mode 100644
index 000000000..0de11e872
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xchat.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xconfig.1degree.dot b/hubzilla_er/diagrams/summary/xconfig.1degree.dot
new file mode 100644
index 000000000..2c9ce236e
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xconfig.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xconfig" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xconfig.html"
+ tooltip="xconfig"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xconfig.1degree.png b/hubzilla_er/diagrams/summary/xconfig.1degree.png
new file mode 100644
index 000000000..0233ce01e
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xconfig.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xign.1degree.dot b/hubzilla_er/diagrams/summary/xign.1degree.dot
new file mode 100644
index 000000000..2642999ab
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xign.1degree.dot
@@ -0,0 +1,32 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xign" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xign.1degree.png b/hubzilla_er/diagrams/summary/xign.1degree.png
new file mode 100644
index 000000000..a0990cb2e
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xign.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xlink.1degree.dot b/hubzilla_er/diagrams/summary/xlink.1degree.dot
new file mode 100644
index 000000000..de98407c2
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xlink.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xlink" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xlink" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xlink</TD></TR>
+ <TR><TD PORT="xlink_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">xlink_id</TD></TR>
+ <TR><TD PORT="xlink_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xlink_xchan</TD></TR>
+ <TR><TD PORT="xlink_link" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xlink_link</TD></TR>
+ <TR><TD PORT="xlink_rating" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xlink_rating</TD></TR>
+ <TR><TD PORT="xlink_rating_text" COLSPAN="3" ALIGN="LEFT">xlink_rating_text</TD></TR>
+ <TR><TD PORT="xlink_updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xlink_updated</TD></TR>
+ <TR><TD PORT="xlink_static" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xlink_static</TD></TR>
+ <TR><TD PORT="xlink_sig" COLSPAN="3" ALIGN="LEFT">xlink_sig</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">244 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xlink.html"
+ tooltip="xlink"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xlink.1degree.png b/hubzilla_er/diagrams/summary/xlink.1degree.png
new file mode 100644
index 000000000..81eb1b6ce
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xlink.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xperm.1degree.dot b/hubzilla_er/diagrams/summary/xperm.1degree.dot
new file mode 100644
index 000000000..bc73e1def
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xperm.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xperm" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xperm" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xperm</TD></TR>
+ <TR><TD PORT="xp_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">xp_id</TD></TR>
+ <TR><TD PORT="xp_client" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xp_client</TD></TR>
+ <TR><TD PORT="xp_channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xp_channel</TD></TR>
+ <TR><TD PORT="xp_perm" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xp_perm</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xperm.html"
+ tooltip="xperm"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xperm.1degree.png b/hubzilla_er/diagrams/summary/xperm.1degree.png
new file mode 100644
index 000000000..43e0429c3
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xperm.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xprof.1degree.dot b/hubzilla_er/diagrams/summary/xprof.1degree.dot
new file mode 100644
index 000000000..21a9a95d4
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xprof.1degree.dot
@@ -0,0 +1,44 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xprof" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xprof" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xprof</TD></TR>
+ <TR><TD PORT="xprof_hash" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">xprof_hash</TD></TR>
+ <TR><TD PORT="xprof_age" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_age</TD></TR>
+ <TR><TD PORT="xprof_desc" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_desc</TD></TR>
+ <TR><TD PORT="xprof_dob" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_dob</TD></TR>
+ <TR><TD PORT="xprof_gender" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_gender</TD></TR>
+ <TR><TD PORT="xprof_marital" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_marital</TD></TR>
+ <TR><TD PORT="xprof_sexual" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_sexual</TD></TR>
+ <TR><TD PORT="xprof_locale" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_locale</TD></TR>
+ <TR><TD PORT="xprof_region" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_region</TD></TR>
+ <TR><TD PORT="xprof_postcode" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_postcode</TD></TR>
+ <TR><TD PORT="xprof_country" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_country</TD></TR>
+ <TR><TD PORT="xprof_keywords" COLSPAN="3" ALIGN="LEFT">xprof_keywords</TD></TR>
+ <TR><TD PORT="xprof_about" COLSPAN="3" ALIGN="LEFT">xprof_about</TD></TR>
+ <TR><TD PORT="xprof_homepage" COLSPAN="3" ALIGN="LEFT">xprof_homepage</TD></TR>
+ <TR><TD PORT="xprof_hometown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xprof_hometown</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xprof.html"
+ tooltip="xprof"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xprof.1degree.png b/hubzilla_er/diagrams/summary/xprof.1degree.png
new file mode 100644
index 000000000..deba49a1f
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xprof.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/summary/xtag.1degree.dot b/hubzilla_er/diagrams/summary/xtag.1degree.dot
new file mode 100644
index 000000000..d258c8875
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xtag.1degree.dot
@@ -0,0 +1,33 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "xtag" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xtag" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xtag</TD></TR>
+ <TR><TD PORT="xtag_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">xtag_id</TD></TR>
+ <TR><TD PORT="xtag_hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xtag_hash</TD></TR>
+ <TR><TD PORT="xtag_term" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xtag_term</TD></TR>
+ <TR><TD PORT="xtag_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xtag_flags</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="tables/xtag.html"
+ tooltip="xtag"
+ ];
+}
diff --git a/hubzilla_er/diagrams/summary/xtag.1degree.png b/hubzilla_er/diagrams/summary/xtag.1degree.png
new file mode 100644
index 000000000..def67569d
--- /dev/null
+++ b/hubzilla_er/diagrams/summary/xtag.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/sys_perms.1degree.dot b/hubzilla_er/diagrams/sys_perms.1degree.dot
new file mode 100644
index 000000000..5d1b68501
--- /dev/null
+++ b/hubzilla_er/diagrams/sys_perms.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="public_perm" COLSPAN="2" ALIGN="LEFT">public_perm</TD><TD PORT="public_perm.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+}
diff --git a/hubzilla_er/diagrams/sys_perms.1degree.png b/hubzilla_er/diagrams/sys_perms.1degree.png
new file mode 100644
index 000000000..8d0d335c7
--- /dev/null
+++ b/hubzilla_er/diagrams/sys_perms.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/sys_perms.implied2degrees.dot b/hubzilla_er/diagrams/sys_perms.implied2degrees.dot
new file mode 100644
index 000000000..7e8a6b6ad
--- /dev/null
+++ b/hubzilla_er/diagrams/sys_perms.implied2degrees.dot
@@ -0,0 +1,288 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD PORT="public_perm" COLSPAN="2" ALIGN="LEFT">public_perm</TD><TD PORT="public_perm.type" ALIGN="LEFT">bit[0]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/sys_perms.implied2degrees.png b/hubzilla_er/diagrams/sys_perms.implied2degrees.png
new file mode 100644
index 000000000..e2ffc02f2
--- /dev/null
+++ b/hubzilla_er/diagrams/sys_perms.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/tokens.1degree.dot b/hubzilla_er/diagrams/tokens.1degree.dot
new file mode 100644
index 000000000..736431cb1
--- /dev/null
+++ b/hubzilla_er/diagrams/tokens.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "tokens" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">tokens</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">varchar[40]</TD></TR>
+ <TR><TD PORT="secret" COLSPAN="2" ALIGN="LEFT">secret</TD><TD PORT="secret.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">client_id</TD><TD PORT="client_id.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">bigint unsigned[20]</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="2" ALIGN="LEFT">scope</TD><TD PORT="scope.type" ALIGN="LEFT">varchar[200]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="tokens.html"
+ tooltip="tokens"
+ ];
+}
diff --git a/hubzilla_er/diagrams/tokens.1degree.png b/hubzilla_er/diagrams/tokens.1degree.png
new file mode 100644
index 000000000..e394a4531
--- /dev/null
+++ b/hubzilla_er/diagrams/tokens.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/tokens.implied2degrees.dot b/hubzilla_er/diagrams/tokens.implied2degrees.dot
new file mode 100644
index 000000000..e5fa204dc
--- /dev/null
+++ b/hubzilla_er/diagrams/tokens.implied2degrees.dot
@@ -0,0 +1,69 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "auth_codes":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes":"id":w -> "tokens":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "tokens":"client_id":w -> "clients":"client_id":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "auth_codes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">auth_codes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="3" ALIGN="LEFT">scope</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="auth_codes.html"
+ tooltip="auth_codes"
+ ];
+ "clients" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">clients</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">client_id</TD></TR>
+ <TR><TD PORT="pw" COLSPAN="3" ALIGN="LEFT">pw</TD></TR>
+ <TR><TD PORT="redirect_uri" COLSPAN="3" ALIGN="LEFT">redirect_uri</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="icon" COLSPAN="3" ALIGN="LEFT">icon</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 &gt;</TD></TR>
+ </TABLE>>
+ URL="clients.html"
+ tooltip="clients"
+ ];
+ "tokens" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">tokens</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">varchar[40]</TD></TR>
+ <TR><TD PORT="secret" COLSPAN="2" ALIGN="LEFT">secret</TD><TD PORT="secret.type" ALIGN="LEFT">text[65535]</TD></TR>
+ <TR><TD PORT="client_id" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">client_id</TD><TD PORT="client_id.type" ALIGN="LEFT">varchar[20]</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD><TD PORT="expires.type" ALIGN="LEFT">bigint unsigned[20]</TD></TR>
+ <TR><TD PORT="scope" COLSPAN="2" ALIGN="LEFT">scope</TD><TD PORT="scope.type" ALIGN="LEFT">varchar[200]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 &gt;</TD></TR>
+ </TABLE>>
+ URL="tokens.html"
+ tooltip="tokens"
+ ];
+}
diff --git a/hubzilla_er/diagrams/tokens.implied2degrees.png b/hubzilla_er/diagrams/tokens.implied2degrees.png
new file mode 100644
index 000000000..587686310
--- /dev/null
+++ b/hubzilla_er/diagrams/tokens.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/verify.1degree.dot b/hubzilla_er/diagrams/verify.1degree.dot
new file mode 100644
index 000000000..a9e1d1415
--- /dev/null
+++ b/hubzilla_er/diagrams/verify.1degree.dot
@@ -0,0 +1,37 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD><TD PORT="channel.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="token" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD><TD PORT="token.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD><TD PORT="meta.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+}
diff --git a/hubzilla_er/diagrams/verify.1degree.png b/hubzilla_er/diagrams/verify.1degree.png
new file mode 100644
index 000000000..de8104c2a
--- /dev/null
+++ b/hubzilla_er/diagrams/verify.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/verify.implied2degrees.dot b/hubzilla_er/diagrams/verify.implied2degrees.dot
new file mode 100644
index 000000000..d6af10dde
--- /dev/null
+++ b/hubzilla_er/diagrams/verify.implied2degrees.dot
@@ -0,0 +1,518 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"k":w -> "cache":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "conv":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"channel_id":w -> "channel":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "likes":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"account_id":w -> "account":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"channel_id":w -> "channel":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "mail":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"channel_id":w -> "channel":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profext":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"k":w -> "cache":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile_check":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"k":w -> "cache":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"k":w -> "cache":"elipses":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xign":"id":w -> "verify":"id.type":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "account" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">account</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 &gt;</TD></TR>
+ </TABLE>>
+ URL="account.html"
+ tooltip="account"
+ ];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">creator</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filename</TD></TR>
+ <TR><TD PORT="filetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filetype</TD></TR>
+ <TR><TD PORT="filesize" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">filesize</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="folder" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">folder</TD></TR>
+ <TR><TD PORT="flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">flags</TD></TR>
+ <TR><TD PORT="is_dir" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_dir</TD></TR>
+ <TR><TD PORT="is_photo" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_photo</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="3" ALIGN="LEFT">os_path</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="3" ALIGN="LEFT">display_path</TD></TR>
+ <TR><TD PORT="data" COLSPAN="3" ALIGN="LEFT">data</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "channel" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">channel</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 &gt;</TD></TR>
+ </TABLE>>
+ URL="channel.html"
+ tooltip="channel"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="guid" COLSPAN="3" ALIGN="LEFT">guid</TD></TR>
+ <TR><TD PORT="recips" COLSPAN="3" ALIGN="LEFT">recips</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="creator" COLSPAN="3" ALIGN="LEFT">creator</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD PORT="subject" COLSPAN="3" ALIGN="LEFT">subject</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="url" COLSPAN="3" ALIGN="LEFT">url</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD PORT="photo" COLSPAN="3" ALIGN="LEFT">photo</TD></TR>
+ <TR><TD PORT="request" COLSPAN="3" ALIGN="LEFT">request</TD></TR>
+ <TR><TD PORT="nick" COLSPAN="3" ALIGN="LEFT">nick</TD></TR>
+ <TR><TD PORT="addr" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">addr</TD></TR>
+ <TR><TD PORT="batch" COLSPAN="3" ALIGN="LEFT">batch</TD></TR>
+ <TR><TD PORT="notify" COLSPAN="3" ALIGN="LEFT">notify</TD></TR>
+ <TR><TD PORT="poll" COLSPAN="3" ALIGN="LEFT">poll</TD></TR>
+ <TR><TD PORT="confirm" COLSPAN="3" ALIGN="LEFT">confirm</TD></TR>
+ <TR><TD PORT="priority" COLSPAN="3" ALIGN="LEFT">priority</TD></TR>
+ <TR><TD PORT="network" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">network</TD></TR>
+ <TR><TD PORT="alias" COLSPAN="3" ALIGN="LEFT">alias</TD></TR>
+ <TR><TD PORT="pubkey" COLSPAN="3" ALIGN="LEFT">pubkey</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="fid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">fid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">gid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="visible" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">visible</TD></TR>
+ <TR><TD PORT="deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deleted</TD></TR>
+ <TR><TD PORT="name" COLSPAN="3" ALIGN="LEFT">name</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="parent" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="thr_parent" COLSPAN="3" ALIGN="LEFT">thr_parent</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD PORT="commented" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">commented</TD></TR>
+ <TR><TD PORT="received" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">received</TD></TR>
+ <TR><TD PORT="changed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">changed</TD></TR>
+ <TR><TD PORT="comments_closed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comments_closed</TD></TR>
+ <TR><TD PORT="owner_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">owner_xchan</TD></TR>
+ <TR><TD PORT="author_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">author_xchan</TD></TR>
+ <TR><TD PORT="source_xchan" COLSPAN="3" ALIGN="LEFT">source_xchan</TD></TR>
+ <TR><TD PORT="mimetype" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mimetype</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="html" COLSPAN="3" ALIGN="LEFT">html</TD></TR>
+ <TR><TD PORT="app" COLSPAN="3" ALIGN="LEFT">app</TD></TR>
+ <TR><TD PORT="lang" COLSPAN="3" ALIGN="LEFT">lang</TD></TR>
+ <TR><TD PORT="revision" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">revision</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="obj_type" COLSPAN="3" ALIGN="LEFT">obj_type</TD></TR>
+ <TR><TD PORT="object" COLSPAN="3" ALIGN="LEFT">object</TD></TR>
+ <TR><TD PORT="tgt_type" COLSPAN="3" ALIGN="LEFT">tgt_type</TD></TR>
+ <TR><TD PORT="target" COLSPAN="3" ALIGN="LEFT">target</TD></TR>
+ <TR><TD PORT="layout_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">layout_mid</TD></TR>
+ <TR><TD PORT="postopts" COLSPAN="3" ALIGN="LEFT">postopts</TD></TR>
+ <TR><TD PORT="route" COLSPAN="3" ALIGN="LEFT">route</TD></TR>
+ <TR><TD PORT="llink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">llink</TD></TR>
+ <TR><TD PORT="plink" COLSPAN="3" ALIGN="LEFT">plink</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="3" ALIGN="LEFT">resource_id</TD></TR>
+ <TR><TD PORT="resource_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_type</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="diaspora_meta" COLSPAN="3" ALIGN="LEFT">diaspora_meta</TD></TR>
+ <TR><TD PORT="location" COLSPAN="3" ALIGN="LEFT">location</TD></TR>
+ <TR><TD PORT="coord" COLSPAN="3" ALIGN="LEFT">coord</TD></TR>
+ <TR><TD PORT="public_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">public_policy</TD></TR>
+ <TR><TD PORT="comment_policy" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">comment_policy</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD PORT="item_restrict" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_restrict</TD></TR>
+ <TR><TD PORT="item_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_flags</TD></TR>
+ <TR><TD PORT="item_private" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_private</TD></TR>
+ <TR><TD PORT="item_origin" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_origin</TD></TR>
+ <TR><TD PORT="item_unseen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unseen</TD></TR>
+ <TR><TD PORT="item_starred" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_starred</TD></TR>
+ <TR><TD PORT="item_uplink" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_uplink</TD></TR>
+ <TR><TD PORT="item_consensus" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_consensus</TD></TR>
+ <TR><TD PORT="item_wall" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_wall</TD></TR>
+ <TR><TD PORT="item_thread_top" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_thread_top</TD></TR>
+ <TR><TD PORT="item_notshown" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_notshown</TD></TR>
+ <TR><TD PORT="item_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nsfw</TD></TR>
+ <TR><TD PORT="item_relay" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_relay</TD></TR>
+ <TR><TD PORT="item_mentionsme" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_mentionsme</TD></TR>
+ <TR><TD PORT="item_nocomment" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_nocomment</TD></TR>
+ <TR><TD PORT="item_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_obscured</TD></TR>
+ <TR><TD PORT="item_verified" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_verified</TD></TR>
+ <TR><TD PORT="item_retained" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_retained</TD></TR>
+ <TR><TD PORT="item_rss" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_rss</TD></TR>
+ <TR><TD PORT="item_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_deleted</TD></TR>
+ <TR><TD PORT="item_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_type</TD></TR>
+ <TR><TD PORT="item_hidden" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_hidden</TD></TR>
+ <TR><TD PORT="item_unpublished" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_unpublished</TD></TR>
+ <TR><TD PORT="item_delayed" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_delayed</TD></TR>
+ <TR><TD PORT="item_pending_remove" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_pending_remove</TD></TR>
+ <TR><TD PORT="item_blocked" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">item_blocked</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="sid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sid</TD></TR>
+ <TR><TD PORT="service" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">service</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="liker" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">liker</TD></TR>
+ <TR><TD PORT="likee" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">likee</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="verb" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">verb</TD></TR>
+ <TR><TD PORT="target_type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_type</TD></TR>
+ <TR><TD PORT="target_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">target_id</TD></TR>
+ <TR><TD PORT="target" COLSPAN="3" ALIGN="LEFT">target</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="convid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">convid</TD></TR>
+ <TR><TD PORT="mail_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_flags</TD></TR>
+ <TR><TD PORT="from_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">from_xchan</TD></TR>
+ <TR><TD PORT="to_xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">to_xchan</TD></TR>
+ <TR><TD PORT="account_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">account_id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="body" COLSPAN="3" ALIGN="LEFT">body</TD></TR>
+ <TR><TD PORT="sig" COLSPAN="3" ALIGN="LEFT">sig</TD></TR>
+ <TR><TD PORT="attach" COLSPAN="3" ALIGN="LEFT">attach</TD></TR>
+ <TR><TD PORT="mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mid</TD></TR>
+ <TR><TD PORT="parent_mid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">parent_mid</TD></TR>
+ <TR><TD PORT="mail_deleted" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_deleted</TD></TR>
+ <TR><TD PORT="mail_replied" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_replied</TD></TR>
+ <TR><TD PORT="mail_isreply" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_isreply</TD></TR>
+ <TR><TD PORT="mail_seen" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_seen</TD></TR>
+ <TR><TD PORT="mail_recalled" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_recalled</TD></TR>
+ <TR><TD PORT="mail_obscured" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">mail_obscured</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="expires" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expires</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="aid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">aid</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="resource_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">resource_id</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="edited" COLSPAN="3" ALIGN="LEFT">edited</TD></TR>
+ <TR><TD PORT="title" COLSPAN="3" ALIGN="LEFT">title</TD></TR>
+ <TR><TD PORT="description" COLSPAN="3" ALIGN="LEFT">description</TD></TR>
+ <TR><TD PORT="album" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">album</TD></TR>
+ <TR><TD PORT="filename" COLSPAN="3" ALIGN="LEFT">filename</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="height" COLSPAN="3" ALIGN="LEFT">height</TD></TR>
+ <TR><TD PORT="width" COLSPAN="3" ALIGN="LEFT">width</TD></TR>
+ <TR><TD PORT="size" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">size</TD></TR>
+ <TR><TD PORT="data" COLSPAN="3" ALIGN="LEFT">data</TD></TR>
+ <TR><TD PORT="scale" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">scale</TD></TR>
+ <TR><TD PORT="photo_usage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_usage</TD></TR>
+ <TR><TD PORT="profile" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">profile</TD></TR>
+ <TR><TD PORT="is_nsfw" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">is_nsfw</TD></TR>
+ <TR><TD PORT="os_storage" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">os_storage</TD></TR>
+ <TR><TD PORT="os_path" COLSPAN="3" ALIGN="LEFT">os_path</TD></TR>
+ <TR><TD PORT="display_path" COLSPAN="3" ALIGN="LEFT">display_path</TD></TR>
+ <TR><TD PORT="photo_flags" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">photo_flags</TD></TR>
+ <TR><TD PORT="allow_cid" COLSPAN="3" ALIGN="LEFT">allow_cid</TD></TR>
+ <TR><TD PORT="allow_gid" COLSPAN="3" ALIGN="LEFT">allow_gid</TD></TR>
+ <TR><TD PORT="deny_cid" COLSPAN="3" ALIGN="LEFT">deny_cid</TD></TR>
+ <TR><TD PORT="deny_gid" COLSPAN="3" ALIGN="LEFT">deny_gid</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="field_name" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">field_name</TD></TR>
+ <TR><TD PORT="field_type" COLSPAN="3" ALIGN="LEFT">field_type</TD></TR>
+ <TR><TD PORT="field_desc" COLSPAN="3" ALIGN="LEFT">field_desc</TD></TR>
+ <TR><TD PORT="field_help" COLSPAN="3" ALIGN="LEFT">field_help</TD></TR>
+ <TR><TD PORT="field_inputs" COLSPAN="3" ALIGN="LEFT">field_inputs</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel_id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="cid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cid</TD></TR>
+ <TR><TD PORT="dfrn_id" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">dfrn_id</TD></TR>
+ <TR><TD PORT="sec" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">sec</TD></TR>
+ <TR><TD PORT="expire" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">expire</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="hash" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">hash</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="password" COLSPAN="3" ALIGN="LEFT">password</TD></TR>
+ <TR><TD PORT="language" COLSPAN="3" ALIGN="LEFT">language</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">iid</TD></TR>
+ <TR><TD PORT="retract_iid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">retract_iid</TD></TR>
+ <TR><TD PORT="signed_text" COLSPAN="3" ALIGN="LEFT">signed_text</TD></TR>
+ <TR><TD PORT="signature" COLSPAN="3" ALIGN="LEFT">signature</TD></TR>
+ <TR><TD PORT="signer" COLSPAN="3" ALIGN="LEFT">signer</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="public_perm" COLSPAN="3" ALIGN="LEFT">public_perm</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD><TD PORT="channel.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="type" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD><TD PORT="type.type" ALIGN="LEFT">char[32]</TD></TR>
+ <TR><TD PORT="token" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD><TD PORT="token.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD><TD PORT="meta.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="created" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD><TD PORT="created.type" ALIGN="LEFT">datetime[19]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/verify.implied2degrees.png b/hubzilla_er/diagrams/verify.implied2degrees.png
new file mode 100644
index 000000000..e40a24d7a
--- /dev/null
+++ b/hubzilla_er/diagrams/verify.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/xconfig.1degree.dot b/hubzilla_er/diagrams/xconfig.1degree.dot
new file mode 100644
index 000000000..3d09a0fda
--- /dev/null
+++ b/hubzilla_er/diagrams/xconfig.1degree.dot
@@ -0,0 +1,36 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+}
diff --git a/hubzilla_er/diagrams/xconfig.1degree.png b/hubzilla_er/diagrams/xconfig.1degree.png
new file mode 100644
index 000000000..97fdf36ae
--- /dev/null
+++ b/hubzilla_er/diagrams/xconfig.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/xconfig.implied2degrees.dot b/hubzilla_er/diagrams/xconfig.implied2degrees.dot
new file mode 100644
index 000000000..e828a2ba6
--- /dev/null
+++ b/hubzilla_er/diagrams/xconfig.implied2degrees.dot
@@ -0,0 +1,288 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "pconfig":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xconfig":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"k":w -> "cache":"k":e [arrowhead=none dir=back arrowtail=crowodot style=dashed];
+ "xign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "cache" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">cache</TD></TR>
+ <TR><TD PORT="k" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">k</TD></TR>
+ <TR><TD PORT="v" COLSPAN="3" ALIGN="LEFT">v</TD></TR>
+ <TR><TD PORT="updated" COLSPAN="3" ALIGN="LEFT">updated</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">21 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 &gt;</TD></TR>
+ </TABLE>>
+ URL="cache.html"
+ tooltip="cache"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "pconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">pconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">232 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="pconfig.html"
+ tooltip="pconfig"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="cat" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">cat</TD><TD PORT="cat.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="k" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">k</TD><TD PORT="k.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD PORT="v" COLSPAN="2" ALIGN="LEFT">v</TD><TD PORT="v.type" ALIGN="LEFT">mediumtext[16777215]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/xconfig.implied2degrees.png b/hubzilla_er/diagrams/xconfig.implied2degrees.png
new file mode 100644
index 000000000..968e23333
--- /dev/null
+++ b/hubzilla_er/diagrams/xconfig.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/diagrams/xign.1degree.dot b/hubzilla_er/diagrams/xign.1degree.dot
new file mode 100644
index 000000000..5d290bef2
--- /dev/null
+++ b/hubzilla_er/diagrams/xign.1degree.dot
@@ -0,0 +1,34 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "oneDegreeRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 0</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/xign.1degree.png b/hubzilla_er/diagrams/xign.1degree.png
new file mode 100644
index 000000000..ac141bfd2
--- /dev/null
+++ b/hubzilla_er/diagrams/xign.1degree.png
Binary files differ
diff --git a/hubzilla_er/diagrams/xign.implied2degrees.dot b/hubzilla_er/diagrams/xign.implied2degrees.dot
new file mode 100644
index 000000000..ec60f1561
--- /dev/null
+++ b/hubzilla_er/diagrams/xign.implied2degrees.dot
@@ -0,0 +1,259 @@
+// dot 2.26.3 on Linux 3.2.0-4-686-pae
+// SchemaSpy rev 590
+digraph "impliedTwoDegreesRelationshipsDiagram" {
+ graph [
+ rankdir="RL"
+ bgcolor="#f7f7f7"
+ label="\nGenerated by SchemaSpy"
+ labeljust="l"
+ nodesep="0.18"
+ ranksep="0.46"
+ fontname="Helvetica"
+ fontsize="11"
+ ];
+ node [
+ fontname="Helvetica"
+ fontsize="11"
+ shape="plaintext"
+ ];
+ edge [
+ arrowsize="0.8"
+ ];
+ "attach":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "config":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "conv":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "fcontact":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "ffinder":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "group_member":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "groups":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "item_id":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "likes":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "mail":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "photo":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profdef":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profext":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "profile_check":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "register":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sign":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "sys_perms":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xconfig":"elipses":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "xign":"id":w -> "verify":"id":e [arrowhead=none dir=back arrowtail=teeodot style=dashed];
+ "attach" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">attach</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="attach.html"
+ tooltip="attach"
+ ];
+ "config" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">config</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">52 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="config.html"
+ tooltip="config"
+ ];
+ "conv" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">conv</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="conv.html"
+ tooltip="conv"
+ ];
+ "fcontact" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">fcontact</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="fcontact.html"
+ tooltip="fcontact"
+ ];
+ "ffinder" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">ffinder</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="ffinder.html"
+ tooltip="ffinder"
+ ];
+ "group_member" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">group_member</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">2 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="group_member.html"
+ tooltip="group_member"
+ ];
+ "groups" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">groups</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">5 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="groups.html"
+ tooltip="groups"
+ ];
+ "item" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">9 613 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item.html"
+ tooltip="item"
+ ];
+ "item_id" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">item_id</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="item_id.html"
+ tooltip="item_id"
+ ];
+ "likes" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">likes</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="likes.html"
+ tooltip="likes"
+ ];
+ "mail" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">mail</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">7 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="mail.html"
+ tooltip="mail"
+ ];
+ "photo" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">photo</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">3 495 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="photo.html"
+ tooltip="photo"
+ ];
+ "profdef" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profdef</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profdef.html"
+ tooltip="profdef"
+ ];
+ "profext" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profext</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 3</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profext.html"
+ tooltip="profext"
+ ];
+ "profile_check" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">profile_check</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="profile_check.html"
+ tooltip="profile_check"
+ ];
+ "register" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">register</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="register.html"
+ tooltip="register"
+ ];
+ "sign" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sign</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sign.html"
+ tooltip="sign"
+ ];
+ "sys_perms" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">sys_perms</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="sys_perms.html"
+ tooltip="sys_perms"
+ ];
+ "verify" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">verify</TD></TR>
+ <TR><TD PORT="id" COLSPAN="3" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD></TR>
+ <TR><TD PORT="channel" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">channel</TD></TR>
+ <TR><TD PORT="type" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">type</TD></TR>
+ <TR><TD PORT="token" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">token</TD></TR>
+ <TR><TD PORT="meta" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">meta</TD></TR>
+ <TR><TD PORT="created" COLSPAN="3" BGCOLOR="#f4f7da" ALIGN="LEFT">created</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7"> </TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">1 row</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">20 &gt;</TD></TR>
+ </TABLE>>
+ URL="verify.html"
+ tooltip="verify"
+ ];
+ "xconfig" [
+ label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xconfig</TD></TR>
+ <TR><TD PORT="elipses" COLSPAN="3" ALIGN="LEFT">...</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 2</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">4 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7"> </TD></TR>
+ </TABLE>>
+ URL="xconfig.html"
+ tooltip="xconfig"
+ ];
+ "xign" [
+ label=<
+ <TABLE BORDER="2" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
+ <TR><TD COLSPAN="3" BGCOLOR="#9bab96" ALIGN="CENTER">xign</TD></TR>
+ <TR><TD PORT="id" COLSPAN="2" BGCOLOR="#bed1b8" ALIGN="LEFT">id</TD><TD PORT="id.type" ALIGN="LEFT">int unsigned[10]</TD></TR>
+ <TR><TD PORT="uid" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">uid</TD><TD PORT="uid.type" ALIGN="LEFT">int[10]</TD></TR>
+ <TR><TD PORT="xchan" COLSPAN="2" BGCOLOR="#f4f7da" ALIGN="LEFT">xchan</TD><TD PORT="xchan.type" ALIGN="LEFT">char[255]</TD></TR>
+ <TR><TD ALIGN="LEFT" BGCOLOR="#f7f7f7">&lt; 1</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 rows</TD><TD ALIGN="RIGHT" BGCOLOR="#f7f7f7">0 &gt;</TD></TR>
+ </TABLE>>
+ URL="xign.html"
+ tooltip="xign"
+ ];
+}
diff --git a/hubzilla_er/diagrams/xign.implied2degrees.png b/hubzilla_er/diagrams/xign.implied2degrees.png
new file mode 100644
index 000000000..ae0e0213a
--- /dev/null
+++ b/hubzilla_er/diagrams/xign.implied2degrees.png
Binary files differ
diff --git a/hubzilla_er/images/background.gif b/hubzilla_er/images/background.gif
new file mode 100644
index 000000000..b97924bbe
--- /dev/null
+++ b/hubzilla_er/images/background.gif
Binary files differ
diff --git a/hubzilla_er/images/tabLeft.gif b/hubzilla_er/images/tabLeft.gif
new file mode 100644
index 000000000..cefb54275
--- /dev/null
+++ b/hubzilla_er/images/tabLeft.gif
Binary files differ
diff --git a/hubzilla_er/images/tabRight.gif b/hubzilla_er/images/tabRight.gif
new file mode 100644
index 000000000..d16d1ba17
--- /dev/null
+++ b/hubzilla_er/images/tabRight.gif
Binary files differ
diff --git a/hubzilla_er/index.html b/hubzilla_er/index.html
new file mode 100644
index 000000000..584638073
--- /dev/null
+++ b/hubzilla_er/index.html
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ $(function(){
+ associate($('#showTables'), $('.tbl'));
+ associate($('#showViews'), $('.view'));
+ jQuery.fn.alternateRowColors = function() {
+ $('tbody tr:visible').each(function(i) {
+ if (i % 2 == 0) {
+ $(this).removeClass('even').addClass('odd');
+ } else {
+ $(this).removeClass('odd').addClass('even');
+ }
+ });
+ return this;
+ };
+ $('#showTables, #showViews').click(function() {
+ $('table.dataTable').alternateRowColors();
+ });
+ $('table.dataTable').alternateRowColors();
+ })
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li id='current'><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%'>
+ <tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+ </td></tr>
+ <tr>
+ <td class='container'>Database Type: MySQL - 5.5.45 </td>
+ <td class='container' align='right' valign='top' rowspan='3'>
+ <a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a><br>
+ <br><div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+ </td>
+ </tr>
+ <tr>
+ <td class='container'><br><a href='zot.xml' title='XML Representation'>XML Representation</a><br><a href='insertionOrder.txt' title='Useful for loading data into a database'>Insertion Order</a>&nbsp;<a href='deletionOrder.txt' title='Useful for purging data from a database'>Deletion Order</a>&nbsp;(for database loading/purging scripts)</td>
+ </tr>
+</table>
+<div class='indent'>
+<p><b><label for='showTables' style='display:none;'><input type='checkbox' id='showTables' checked></label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+</b>
+<table class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th valign='bottom'>Table</th>
+ <th align='right' valign='bottom'>Children</th>
+ <th align='right' valign='bottom'>Parents</th>
+ <th align='right' valign='bottom'>Columns</th>
+ <th align='right' valign='bottom'>Rows</th>
+ <th class='comment' align='left' valign='bottom'>Comments</th>
+</tr>
+</thead>
+<tbody>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/abook.html'>abook</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>23</td>
+ <td class='detail' align='right'>12</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/account.html'>account</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>18</td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/addon.html'>addon</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>7</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/app.html'>app</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>14</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/attach.html'>attach</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>23</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/auth_codes.html'>auth_codes</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/cache.html'>cache</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='right'>21</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/channel.html'>channel</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>48</td>
+ <td class='detail' align='right'>5</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/chat.html'>chat</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/chatpresence.html'>chatpresence</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/chatroom.html'>chatroom</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>11</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/clients.html'>clients</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/config.html'>config</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>52</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/conv.html'>conv</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>8</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/event.html'>event</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>25</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/fcontact.html'>fcontact</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/ffinder.html'>ffinder</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/fserver.html'>fserver</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/fsuggest.html'>fsuggest</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>9</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/group_member.html'>group_member</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>2</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/groups.html'>groups</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>5</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/hook.html'>hook</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/hubloc.html'>hubloc</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='right'>1 513</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/issue.html'>issue</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>7</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/item.html'>item</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>73</td>
+ <td class='detail' align='right'>9 613</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/item_id.html'>item_id</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/likes.html'>likes</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>9</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/mail.html'>mail</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>21</td>
+ <td class='detail' align='right'>7</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/manage.html'>manage</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/menu.html'>menu</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>7</td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/menu_item.html'>menu_item</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>11</td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/notify.html'>notify</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>15</td>
+ <td class='detail' align='right'>59</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/obj.html'>obj</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/outq.html'>outq</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='right'>2</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/pconfig.html'>pconfig</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>232</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/photo.html'>photo</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>28</td>
+ <td class='detail' align='right'>3 495</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/poll.html'>poll</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/poll_elm.html'>poll_elm</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/profdef.html'>profdef</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/profext.html'>profext</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/profile.html'>profile</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>44</td>
+ <td class='detail' align='right'>4</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/profile_check.html'>profile_check</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/register.html'>register</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/session.html'>session</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>23</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/shares.html'>shares</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/sign.html'>sign</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/site.html'>site</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>13</td>
+ <td class='detail' align='right'>117</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/source.html'>source</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/spam.html'>spam</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/sys_perms.html'>sys_perms</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/term.html'>term</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>11</td>
+ <td class='detail' align='right'>7 585</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/tokens.html'>tokens</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/updates.html'>updates</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>7</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/verify.html'>verify</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>6</td>
+ <td class='detail' align='right'>1</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/vote.html'>vote</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xchan.html'>xchan</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>26</td>
+ <td class='detail' align='right'>1 168</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xchat.html'>xchat</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xconfig.html'>xconfig</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='right'>4</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xign.html'>xign</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xlink.html'>xlink</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>8</td>
+ <td class='detail' align='right'>244</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xperm.html'>xperm</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xprof.html'>xprof</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>15</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr class='tbl' valign='top'> <td class='detail'><a href='tables/xtag.html'>xtag</a></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail' align='right'>4</td>
+ <td class='detail' align='right'>0</td>
+ <td class='comment detail'></td>
+ </tr>
+ <tr>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail'>&nbsp;</td>
+ <td class='comment detail'>&nbsp;</td>
+ </tr>
+ <tr class='tbl'>
+ <td class='detail'><b>63 Tables</b></td>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail' align='right'><b>705</b></td>
+ <td class='detail' align='right'><b>24 169</b></td>
+ <td class='comment detail'>&nbsp;</td>
+ </tr>
+ <tr class='view'>
+ <td class='detail'><b>0 Views</b></td>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail'>&nbsp;</td>
+ <td class='detail' align='right'><b>0</b></td>
+ <td class='detail'>&nbsp;</td>
+ <td class='comment detail'>&nbsp;</td>
+ </tr>
+</table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/insertionOrder.txt b/hubzilla_er/insertionOrder.txt
new file mode 100644
index 000000000..d9bce20fd
--- /dev/null
+++ b/hubzilla_er/insertionOrder.txt
@@ -0,0 +1,63 @@
+verify
+notify
+cache
+channel
+clients
+account
+tokens
+addon
+app
+attach
+conv
+event
+fcontact
+ffinder
+fserver
+fsuggest
+group_member
+groups
+hook
+item
+item_id
+manage
+photo
+profdef
+profile
+profile_check
+register
+sign
+spam
+xign
+auth_codes
+config
+likes
+pconfig
+sys_perms
+xconfig
+mail
+profext
+abook
+chat
+chatpresence
+chatroom
+hubloc
+issue
+menu
+menu_item
+obj
+outq
+poll
+poll_elm
+session
+shares
+site
+source
+term
+updates
+vote
+xchan
+xchat
+xlink
+xperm
+xprof
+xtag
diff --git a/hubzilla_er/jquery.js b/hubzilla_er/jquery.js
new file mode 100644
index 000000000..7c2430802
--- /dev/null
+++ b/hubzilla_er/jquery.js
@@ -0,0 +1,154 @@
+/*!
+ * jQuery JavaScript Library v1.4.2
+ * 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: Sat Feb 13 22:33:48 2010 -0500
+ */
+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(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 X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
+e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
+j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
+"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
+true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
+Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(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(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
+function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
+c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
+L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
+"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
+d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
+a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
+!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
+true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();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 e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
+parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
+s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
+applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
+else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
+a,b)})},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 f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
+w)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 Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
+cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(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(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
+i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
+" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}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(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
+e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
+c.inArray(c(this).val(),u)>=0});if(!u.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,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
+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:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
+function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
+k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
+C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
+null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
+e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
+f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
+if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===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 originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;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=s.documentElement;d=s.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&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)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,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
+"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){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=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
+isImmediatePropagationStopped:Y};var Da=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){}},Ea=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?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});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)return na("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)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
+if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=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(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
+e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.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 fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
+"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
+d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}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 f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,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]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.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(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
+u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}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){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",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){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
+if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
+e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
+t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
+g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
+for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
+1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=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,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
+l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
+h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=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 h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
+g);return false}else if(n.match.POS.test(g[0])||n.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,h,l){return!!k(l[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,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
+h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
+m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
+"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
+h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
+!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
+h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
+q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
+if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
+(function(){var g=s.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){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
+function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
+gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
+c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
+{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},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){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},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,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
+1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===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 Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
+a:b+"></"+d+">"},F={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,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._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!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).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,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}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,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
+""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);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(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):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),f=d.html();d.replaceWith(a.call(this,b,f))});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){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
+u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
+1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
+return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
+""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
+c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
+c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
+function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
+Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
+"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
+a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
+a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
+"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});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||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).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,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},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,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},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:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
+e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
+"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
+false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
+false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
+c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
+d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
+g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
+1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
+"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
+if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
+this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
+"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
+animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
+j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
+this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
+"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+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);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
+this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},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=J(),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 f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
+e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,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()},stop:function(){clearInterval(W);W=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};c.fn.offset="getBoundingClientRect"in s.documentElement?
+function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
+this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
+k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
+f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||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;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;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.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
+d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
+f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.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(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
+"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
+e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
diff --git a/hubzilla_er/relationships.html b/hubzilla_er/relationships.html
new file mode 100644
index 000000000..03ca899ab
--- /dev/null
+++ b/hubzilla_er/relationships.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - All Relationships</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li id='current'><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - All Relationships</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table class='container' width='100%'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td>
+<td class='container' align='right' valign='top' rowspan='2'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr class='impliedRelationship'><td class='legendDetail'>Dashed lines show implied relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr><td class='container' align='left' valign='top'>
+No 'real' Foreign Key relationships were detected in the schema.<br>
+Displayed relationships are implied by a column's name/type/size matching another table's primary key.<p>
+</td></tr>
+<tr><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <span style="display:none" title="Show relationships implied by column name/type/size matching another table's primary key">
+ <label for='implied'><input type='checkbox' id='implied' checked>Implied relationships</label>
+ </span>
+ <span title="By default only columns that are primary keys, foreign keys or indexes are shown">
+ <label for='showNonKeys'><input type='checkbox' id='showNonKeys'>All columns</label>
+ </span>
+</form>
+</td></tr></table>
+<table width="100%"><tr><td class="container">
+<map id="compactImpliedRelationshipsDiagram" name="compactImpliedRelationshipsDiagram">
+<area shape="rect" id="node1" href="tables/account.html" title="account" alt="" coords="168,328,381,680">
+<area shape="rect" id="node2" href="tables/addon.html" title="addon" alt="" coords="471,5963,588,6133">
+<area shape="rect" id="node24" href="tables/notify.html" title="notify" alt="" coords="216,6903,333,7209">
+<area shape="rect" id="node3" href="tables/app.html" title="app" alt="" coords="461,6151,597,6412">
+<area shape="rect" id="node4" href="tables/attach.html" title="attach" alt="" coords="465,975,593,1417">
+<area shape="rect" id="node36" href="tables/verify.html" title="verify" alt="" coords="221,3159,328,3353">
+<area shape="rect" id="node5" href="tables/auth_codes.html" title="auth_codes" alt="" coords="464,72,595,197">
+<area shape="rect" id="node8" href="tables/clients.html" title="clients" alt="" coords="5,95,123,198">
+<area shape="rect" id="node35" href="tables/tokens.html" title="tokens" alt="" coords="216,5,333,176">
+<area shape="rect" id="node6" href="tables/cache.html" title="cache" alt="" coords="216,5467,333,5570">
+<area shape="rect" id="node7" href="tables/channel.html" title="channel" alt="" coords="180,718,369,1682">
+<area shape="rect" id="node9" href="tables/config.html" title="config" alt="" coords="471,5279,588,5427">
+<area shape="rect" id="node10" href="tables/conv.html" title="conv" alt="" coords="471,1434,588,1582">
+<area shape="rect" id="node11" href="tables/event.html" title="event" alt="" coords="453,6429,605,6803">
+<area shape="rect" id="node12" href="tables/fcontact.html" title="fcontact" alt="" coords="472,1598,587,1746">
+<area shape="rect" id="node13" href="tables/ffinder.html" title="ffinder" alt="" coords="475,1762,584,1910">
+<area shape="rect" id="node14" href="tables/fserver.html" title="fserver" alt="" coords="473,6819,585,6967">
+<area shape="rect" id="node15" href="tables/fsuggest.html" title="fsuggest" alt="" coords="471,6983,588,7086">
+<area shape="rect" id="node16" href="tables/group_member.html" title="group_member" alt="" coords="456,1926,603,2074">
+<area shape="rect" id="node17" href="tables/groups.html" title="groups" alt="" coords="473,2090,585,2283">
+<area shape="rect" id="node18" href="tables/hook.html" title="hook" alt="" coords="475,7103,584,7228">
+<area shape="rect" id="node19" href="tables/item.html" title="item" alt="" coords="428,2487,631,3814">
+<area shape="rect" id="node20" href="tables/item_id.html" title="item_id" alt="" coords="477,3831,581,4001">
+<area shape="rect" id="node21" href="tables/likes.html" title="likes" alt="" coords="464,696,595,957">
+<area shape="rect" id="node22" href="tables/mail.html" title="mail" alt="" coords="457,214,601,679">
+<area shape="rect" id="node23" href="tables/manage.html" title="manage" alt="" coords="471,7245,588,7371">
+<area shape="rect" id="node25" href="tables/pconfig.html" title="pconfig" alt="" coords="465,5775,593,5945">
+<area shape="rect" id="node26" href="tables/photo.html" title="photo" alt="" coords="448,4019,611,4416">
+<area shape="rect" id="node27" href="tables/profdef.html" title="profdef" alt="" coords="465,4433,593,4559">
+<area shape="rect" id="node28" href="tables/profext.html" title="profext" alt="" coords="465,2300,593,2471">
+<area shape="rect" id="node29" href="tables/profile.html" title="profile" alt="" coords="459,7388,600,7785">
+<area shape="rect" id="node30" href="tables/profile_check.html" title="profile_check" alt="" coords="460,4575,599,4769">
+<area shape="rect" id="node31" href="tables/register.html" title="register" alt="" coords="472,4785,587,4956">
+<area shape="rect" id="node32" href="tables/sign.html" title="sign" alt="" coords="468,4973,591,5121">
+<area shape="rect" id="node33" href="tables/spam.html" title="spam" alt="" coords="475,7802,584,7995">
+<area shape="rect" id="node34" href="tables/sys_perms.html" title="sys_perms" alt="" coords="465,5444,593,5569">
+<area shape="rect" id="node37" href="tables/xconfig.html" title="xconfig" alt="" coords="473,5587,585,5757">
+<area shape="rect" id="node38" href="tables/xign.html" title="xign" alt="" coords="475,5137,584,5263">
+</map>
+
+ <a name='diagram'><img id='impliedCompactImg' src='diagrams/summary/relationships.implied.compact.png' usemap='#compactImpliedRelationshipsDiagram' class='diagram' border='0' alt=''></a>
+<map id="largeImpliedRelationshipsDiagram" name="largeImpliedRelationshipsDiagram">
+<area shape="rect" id="node1" href="tables/account.html" title="account" alt="" coords="181,373,395,838">
+<area shape="rect" id="node2" href="tables/addon.html" title="addon" alt="" coords="473,7445,612,7661">
+<area shape="rect" id="node24" href="tables/notify.html" title="notify" alt="" coords="229,8793,347,9191">
+<area shape="rect" id="node3" href="tables/app.html" title="app" alt="" coords="473,7678,612,8053">
+<area shape="rect" id="node4" href="tables/attach.html" title="attach" alt="" coords="475,1100,611,1679">
+<area shape="rect" id="node36" href="tables/verify.html" title="verify" alt="" coords="235,3977,341,4170">
+<area shape="rect" id="node5" href="tables/auth_codes.html" title="auth_codes" alt="" coords="477,83,608,253">
+<area shape="rect" id="node8" href="tables/clients.html" title="clients" alt="" coords="5,117,136,310">
+<area shape="rect" id="node35" href="tables/tokens.html" title="tokens" alt="" coords="229,5,347,198">
+<area shape="rect" id="node6" href="tables/cache.html" title="cache" alt="" coords="225,6928,351,7053">
+<area shape="rect" id="node7" href="tables/channel.html" title="channel" alt="" coords="193,854,383,1999">
+<area shape="rect" id="node9" href="tables/config.html" title="config" alt="" coords="484,6717,601,6865">
+<area shape="rect" id="node10" href="tables/conv.html" title="conv" alt="" coords="484,1695,601,1934">
+<area shape="rect" id="node11" href="tables/event.html" title="event" alt="" coords="463,8069,623,8693">
+<area shape="rect" id="node12" href="tables/fcontact.html" title="fcontact" alt="" coords="484,1950,601,2370">
+<area shape="rect" id="node13" href="tables/ffinder.html" title="ffinder" alt="" coords="488,2386,597,2534">
+<area shape="rect" id="node14" href="tables/fserver.html" title="fserver" alt="" coords="487,8710,599,8858">
+<area shape="rect" id="node15" href="tables/fsuggest.html" title="fsuggest" alt="" coords="484,8875,601,9136">
+<area shape="rect" id="node16" href="tables/group_member.html" title="group_member" alt="" coords="469,2550,616,2698">
+<area shape="rect" id="node17" href="tables/groups.html" title="groups" alt="" coords="487,2714,599,2907">
+<area shape="rect" id="node18" href="tables/hook.html" title="hook" alt="" coords="485,9153,600,9324">
+<area shape="rect" id="node19" href="tables/item.html" title="item" alt="" coords="441,3112,644,4824">
+<area shape="rect" id="node20" href="tables/item_id.html" title="item_id" alt="" coords="491,4841,595,5012">
+<area shape="rect" id="node21" href="tables/likes.html" title="likes" alt="" coords="477,821,608,1083">
+<area shape="rect" id="node22" href="tables/mail.html" title="mail" alt="" coords="471,271,615,804">
+<area shape="rect" id="node23" href="tables/manage.html" title="manage" alt="" coords="484,9341,601,9467">
+<area shape="rect" id="node25" href="tables/pconfig.html" title="pconfig" alt="" coords="479,7257,607,7428">
+<area shape="rect" id="node26" href="tables/photo.html" title="photo" alt="" coords="461,5029,624,5721">
+<area shape="rect" id="node27" href="tables/profdef.html" title="profdef" alt="" coords="477,5737,608,5930">
+<area shape="rect" id="node28" href="tables/profext.html" title="profext" alt="" coords="479,2924,607,3095">
+<area shape="rect" id="node29" href="tables/profile.html" title="profile" alt="" coords="472,9483,613,10538">
+<area shape="rect" id="node30" href="tables/profile_check.html" title="profile_check" alt="" coords="473,5946,612,6139">
+<area shape="rect" id="node31" href="tables/register.html" title="register" alt="" coords="481,6155,604,6349">
+<area shape="rect" id="node32" href="tables/sign.html" title="sign" alt="" coords="477,6365,608,6558">
+<area shape="rect" id="node33" href="tables/spam.html" title="spam" alt="" coords="488,10554,597,10747">
+<area shape="rect" id="node34" href="tables/sys_perms.html" title="sys_perms" alt="" coords="476,6881,609,7052">
+<area shape="rect" id="node37" href="tables/xconfig.html" title="xconfig" alt="" coords="487,7069,599,7240">
+<area shape="rect" id="node38" href="tables/xign.html" title="xign" alt="" coords="488,6575,597,6700">
+</map>
+
+ <a name='diagram'><img id='impliedLargeImg' src='diagrams/summary/relationships.implied.large.png' usemap='#largeImpliedRelationshipsDiagram' class='diagram' border='0' alt=''></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/schemaSpy.css b/hubzilla_er/schemaSpy.css
new file mode 100644
index 000000000..dfb39a713
--- /dev/null
+++ b/hubzilla_er/schemaSpy.css
@@ -0,0 +1,277 @@
+/* required colors MUST be specified in RGB hex notation or the diagrams won't have correct colors */
+
+body {
+ color: #000;
+ background-color: #F7F7F7;
+ font-family: arial, geneva, helvetica, lucida, sans-serif;
+ margin: 0 0 0 0;
+ padding: 0px;
+}
+
+/* background must be specified for it to propagate into diagrams */
+.content {
+ margin: 0px;
+ background: #F7F7F7;
+ border: 0 0;
+ padding:.4em;
+}
+
+/* background-color must be specified for th to propagate into diagrams */
+th {
+ background-color: #9BAB96;
+ text-align: left;
+ padding: 0px 4px;
+}
+
+/* background-color must be specified for td to propagate into diagrams */
+td {
+ background-color: #ffffff;
+}
+
+tr.even td.detail {
+}
+
+tr.odd td.detail {
+ background-color: #F7F7F7;
+}
+
+h1 {
+ font-size: 125%;
+}
+
+/* background must be specified for .primaryKey to propagate into diagrams */
+.primaryKey {
+ background: #BED1B8;
+ padding: 0px 4px;
+}
+
+/* background must be specified for .indexedColumn to propagate into diagrams */
+.indexedColumn {
+ background: #F4F7DA;
+ padding: 0px 4px;
+}
+
+/* background must be specified for .excludedColumn to propagate into diagrams */
+.excludedColumn {
+ background: #C0C0C0;
+ padding: 0px 4px;
+}
+
+/* background must be specified for .selectedTable to propagate into diagrams */
+.selectedTable {
+ background: #A9AB96;
+}
+
+.detail {
+ padding: 0px 4px;
+}
+
+table {
+ border-style: none;
+ margin: 0;
+}
+
+.impliedRelationship {
+ display: none;
+ font-style: italic;
+ color: #183118
+}
+
+.dataTable {
+ font-size: 85%;
+ background-color: #F7F7F7;
+}
+
+.heading {
+ background: transparent;
+ padding: 8px 0px;
+}
+
+.header {
+ color: #000000;
+ background: transparent;
+ font-weight: bold;
+ font-size: 130%;
+ text-align: left;
+}
+
+.description {
+ display: block;
+ padding: 8px 0px;
+}
+
+.signature {
+ font-size: 105%;
+ font-weight: bold;
+ font-style: italic;
+}
+
+.container {
+ background-color: #F7F7F7;
+ padding: 0px 0px;
+}
+
+.legend {
+ display: none;
+ text-align: left;
+}
+
+.legendDetail {
+ background-color: #F7F7F7;
+ padding: 0px 4px;
+
+ font-style: normal;
+ color: #000000
+}
+
+.relatedTable {
+ padding: 0px 4px;
+}
+
+.relatedKey {
+ display: none;
+ padding: 0px -4px 0px 4px;
+}
+
+.constraint {
+ display: none;
+ text-align: right;
+ padding: 0px 4px;
+}
+
+.comment {
+ display: none;
+ text-align: left;
+ padding: 0px 4px;
+}
+
+.impliedNotOrphan {
+}
+
+.excludedRelationship {
+ font-size: 85%;
+}
+
+.degrees {
+}
+
+/* don't display the diagrams until we know what to display */
+.diagram {
+ display: none;
+}
+
+.indent {
+ padding: 2px;
+}
+
+a:link {
+ color: #489148;
+}
+
+a:visited {
+ color: #183118;
+}
+
+.sortedByColumn {
+ background-color: #6C7769;
+}
+
+.notSortedByColumn {
+ color: #000000;
+}
+
+.viewDefinition {
+ font-size: 90%;
+ background-color: #ffffff;
+ border-style: solid;
+ border-width: 1px;
+ float: left;
+ padding: 4px;
+ font-family: "Courier New", Courier, monospace
+}
+
+.viewReferences {
+ font-size: 90%;
+ padding: 4px;
+}
+
+/* wrap around divs that float so they "take up space" */
+div.spacer {
+ clear: both;
+}
+
+.preFormatted {
+ white-space: pre;
+}
+
+/* Tabs from http://www.alistapart.com/articles/slidingdoors/ */
+
+/* resolve an issue with always having a scrollbar for #header */
+#headerHolder {
+ width: 100%;
+ margin: 0;
+ border: 1px solid black;
+ border-bottom-style: none;
+}
+
+#header {
+ float:left;
+ width: 100%;
+ background:#BED1B8 url("images/background.gif") repeat-x bottom;
+ font-size:80%;
+ line-height:normal;
+}
+
+#header ul {
+ margin:0;
+ padding:10px 10px 0;
+ list-style:none;
+}
+
+#header li {
+ float:left;
+ background:url("images/tabLeft.gif") no-repeat left top;
+ margin:0;
+ padding:0 0 0 9px;
+ border-bottom:1px solid #000;
+}
+
+#header a {
+ float:left;
+ display:block;
+ width:.1em;
+ background:url("images/tabRight.gif") no-repeat right top;
+ padding:5px 10px 4px 1px;
+ text-decoration:none;
+ font-weight:bold;
+ color:#F4F7DA;
+}
+
+#header > ul a {width:auto;}
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+#header a {float:none;}
+/* End IE5-Mac hack */
+
+#header a:hover {
+ color:#333;
+}
+
+#header #current {
+ background-position:0 -150px;
+ border-width:0;
+}
+
+#header #current a {
+ background-position:100% -150px;
+ padding-bottom:5px;
+ color:#000;
+}
+
+#header li:hover, #header li:hover a {
+ background-position:0% -150px;
+ color:#9BAB96;
+}
+
+#header li:hover a {
+ background-position:100% -150px;
+}
diff --git a/hubzilla_er/schemaSpy.js b/hubzilla_er/schemaSpy.js
new file mode 100644
index 000000000..d1a739d4e
--- /dev/null
+++ b/hubzilla_er/schemaSpy.js
@@ -0,0 +1,97 @@
+// table-based pages are expected to set 'table' to their name
+var table = null;
+
+// sync target's visibility with the state of checkbox
+function sync(cb, target) {
+ var checked = cb.attr('checked');
+ var displayed = target.css('display') != 'none';
+ if (checked != displayed) {
+ if (checked)
+ target.show();
+ else
+ target.hide();
+ }
+}
+
+// sync target's visibility with the inverse of the state of checkbox
+function unsync(cb, target) {
+ var checked = cb.attr('checked');
+ var displayed = target.css('display') != 'none';
+ if (checked == displayed) {
+ if (checked)
+ target.hide();
+ else
+ target.show();
+ }
+}
+
+// associate the state of checkbox with the visibility of target
+function associate(cb, target) {
+ sync(cb, target);
+ cb.click(function() {
+ sync(cb, target);
+ });
+}
+
+// select the appropriate image based on the options selected
+function syncImage() {
+ var implied = $('#implied').attr('checked');
+
+ $('.diagram').hide();
+
+ if (table) {
+ if (implied && $('#impliedTwoDegreesImg').size() > 0) {
+ $('#impliedTwoDegreesImg').show();
+ } else {
+ var oneDegree = $('#oneDegree').attr('checked');
+
+ if (oneDegree || $('#twoDegreesImg').size() == 0) {
+ $('#oneDegreeImg').show();
+ } else {
+ $('#twoDegreesImg').show();
+ }
+ }
+ } else {
+ var showNonKeys = $('#showNonKeys').attr('checked');
+
+ if (implied) {
+ if (showNonKeys && $('#impliedLargeImg').size() > 0) {
+ $('#impliedLargeImg').show();
+ } else if ($('#impliedCompactImg').size() > 0) {
+ $('#impliedCompactImg').show();
+ } else {
+ $('#realCompactImg').show();
+ }
+ } else {
+ if (showNonKeys && $('#realLargeImg').size() > 0) {
+ $('#realLargeImg').show();
+ } else {
+ $('#realCompactImg').show();
+ }
+ }
+ }
+}
+
+// our 'ready' handler makes the page consistent
+$(function(){
+ associate($('#implied'), $('.impliedRelationship'));
+ associate($('#showComments'), $('.comment'));
+ associate($('#showLegend'), $('.legend'));
+ associate($('#showRelatedCols'), $('.relatedKey'));
+ associate($('#showConstNames'), $('.constraint'));
+
+ syncImage();
+ $('#implied,#oneDegree,#twoDegrees,#showNonKeys').click(function() {
+ syncImage();
+ });
+
+ unsync($('#implied'), $('.degrees'));
+ $('#implied').click(function() {
+ unsync($('#implied'), $('.degrees'));
+ });
+
+ unsync($('#removeImpliedOrphans'), $('.impliedNotOrphan'));
+ $('#removeImpliedOrphans').click(function() {
+ unsync($('#removeImpliedOrphans'), $('.impliedNotOrphan'));
+ });
+});
diff --git a/hubzilla_er/tables/abook.html b/hubzilla_er/tables/abook.html
new file mode 100644
index 000000000..7e103df6f
--- /dev/null
+++ b/hubzilla_er/tables/abook.html
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.abook</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='abook';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>abook</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>abook_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_my_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_their_perms</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_closeness</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>99</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_dob</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_blocked</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_ignored</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_hidden</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_archived</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_pending</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_unconnected</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_self</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>abook_feed</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>abook_profile</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>abook_incl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>abook_excl</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='23 columns'>Table contained 12 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>abook_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_account</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_account</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_archived</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_archived</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_blocked</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_blocked</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_closeness</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_closeness</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_connected</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_connected</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_dob</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_dob</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_feed</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_feed</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_hidden</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_hidden</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_ignored</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_ignored</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_my_perms</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_my_perms</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_pending</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_pending</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_profile</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_profile</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_self</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_self</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_their_perms</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_their_perms</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_unconnected</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_unconnected</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_updated</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_updated</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>abook_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>abook_xchan</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/account.html b/hubzilla_er/tables/account.html
new file mode 100644
index 000000000..cd2e46eb1
--- /dev/null
+++ b/hubzilla_er/tables/account.html
@@ -0,0 +1,417 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.account</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='account';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>account</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="mail.account_id's name implies that it's a child of account.account_id, but it doesn't reference that column."><a href='mail.html'>mail</a><span class='relatedKey'>.account_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+</td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>account_default_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>account_salt</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>account_password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_email</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>account_external</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>account_language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>en</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>account_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_lastlog</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>account_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_roles</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>account_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>account_expire_notified</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_service_class</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>account_level</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_password_changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='18 columns'>Table contained 1 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>account_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_default_channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_default_channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_email</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_email</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_expires</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_expires</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_external</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_external</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_lastlog</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_lastlog</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_level</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_level</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_parent</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_parent</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_password_changed</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_password_changed</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_roles</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_roles</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_service_class</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_service_class</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="account.html" title="account" alt="" coords="7,5,335,475">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/account.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="mail.html" title="mail" alt="" coords="380,7,524,540">
+<area shape="rect" id="node3" href="account.html" title="account" alt="" coords="7,109,335,579">
+<area shape="rect" id="node5" href="channel.html" title="channel" alt="" coords="109,596,232,676">
+<area shape="rect" id="node7" href="verify.html" title="verify" alt="" coords="109,5,232,85">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/account.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/addon.html b/hubzilla_er/tables/addon.html
new file mode 100644
index 000000000..512eac7d1
--- /dev/null
+++ b/hubzilla_er/tables/addon.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.addon</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='addon';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>addon</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="addon.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>installed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>timestamp</td>
+ <td class='detail'>bigint</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>plugin_admin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='7 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hidden</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hidden</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>installed</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>installed</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>name</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="7,5,201,227">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/addon.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="189,5,384,227">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,587,143,984">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="227,244,347,324">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="227,341,347,421">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="225,439,348,519">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="224,536,349,616">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="227,633,347,713">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="224,731,349,811">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="217,828,356,908">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="227,925,347,1005">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="227,1023,347,1103">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/addon.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/app.html b/hubzilla_er/tables/app.html
new file mode 100644
index 000000000..0189a9224
--- /dev/null
+++ b/hubzilla_er/tables/app.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.app</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='app';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>app</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="app.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>app_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>app_sig</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>app_author</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>app_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>app_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>app_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>app_photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>app_version</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>app_channel</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>app_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>app_price</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>app_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>app_requires</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='14 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>app_channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>app_channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>app_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>app_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>app_name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>app_name</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>app_photo</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>app_photo</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>app_price</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>app_price</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>app_url</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>app_url</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>app_version</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>app_version</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="app.html" title="app" alt="" coords="7,5,212,385">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/app.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="232,5,352,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,744,143,1141">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="189,102,395,482">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="232,499,352,579">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="231,596,353,676">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="229,693,355,773">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="232,791,352,871">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="229,888,355,968">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="223,985,361,1065">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="232,1083,352,1163">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="232,1180,352,1260">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/app.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/attach.html b/hubzilla_er/tables/attach.html
new file mode 100644
index 000000000..ea0353d38
--- /dev/null
+++ b/hubzilla_er/tables/attach.html
@@ -0,0 +1,513 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.attach</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='attach';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>attach</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="attach.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>filetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>filesize</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>folder</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>is_dir</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>is_photo</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>data</td>
+ <td class='detail'>longblob</td>
+ <td class='detail' align='right'>2147483647</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='23 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>creator</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>creator</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>edited</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>edited</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>filename</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>filename</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>filesize</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>filesize</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>filetype</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>filetype</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>folder</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>folder</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>is_dir</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>is_dir</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>is_photo</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>is_photo</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>os_storage</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>os_storage</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>revision</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>revision</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="5,5,285,589">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/attach.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="175,5,455,589">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,1435,131,1629">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="251,607,379,687">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="255,704,375,784">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="253,801,376,881">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="255,899,375,979">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="241,996,388,1076">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="253,1093,376,1173">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="240,1191,389,1271">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="257,1288,372,1368">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="255,1385,375,1465">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="255,1483,375,1563">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="240,1580,389,1660">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="253,1677,376,1757">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="253,1775,376,1855">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="245,1872,384,1952">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="253,1969,376,2049">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="255,2067,375,2147">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="249,2164,380,2244">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="253,2261,376,2341">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="255,2359,375,2439">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/attach.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/auth_codes.html b/hubzilla_er/tables/auth_codes.html
new file mode 100644
index 000000000..842fb3c15
--- /dev/null
+++ b/hubzilla_er/tables/auth_codes.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.auth_codes</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='auth_codes';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>auth_codes</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="auth_codes.id's name implies that it's a child of tokens.id, but it doesn't reference that column."><a href='tokens.html'>tokens</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="auth_codes.client_id's name implies that it's a child of clients.client_id, but it doesn't reference that column."><a href='clients.html'>clients</a><span class='relatedKey'>.client_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>expires</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>250</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="auth_codes.html" title="auth_codes" alt="" coords="5,5,216,181">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/auth_codes.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="auth_codes.html" title="auth_codes" alt="" coords="360,81,571,257">
+<area shape="rect" id="node3" href="clients.html" title="clients" alt="" coords="7,117,137,310">
+<area shape="rect" id="node5" href="tokens.html" title="tokens" alt="" coords="183,5,316,198">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/auth_codes.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/cache.html b/hubzilla_er/tables/cache.html
new file mode 100644
index 000000000..e6238f822
--- /dev/null
+++ b/hubzilla_er/tables/cache.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.cache</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='cache';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>cache</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="config.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='config.html'>config</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="pconfig.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='pconfig.html'>pconfig</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="profext.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='profext.html'>profext</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="sys_perms.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='sys_perms.html'>sys_perms</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="xconfig.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='xconfig.html'>xconfig</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+</td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='3 columns'>Table contained 21 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>k</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="cache.html" title="cache" alt="" coords="7,5,212,136">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/cache.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="config.html" title="config" alt="" coords="263,5,391,153">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="48,247,171,327">
+<area shape="rect" id="node5" href="cache.html" title="cache" alt="" coords="7,421,212,552">
+<area shape="rect" id="node6" href="pconfig.html" title="pconfig" alt="" coords="257,733,396,904">
+<area shape="rect" id="node8" href="notify.html" title="notify" alt="" coords="41,732,177,812">
+<area shape="rect" id="node10" href="profext.html" title="profext" alt="" coords="261,545,392,716">
+<area shape="rect" id="node12" href="channel.html" title="channel" alt="" coords="48,569,171,649">
+<area shape="rect" id="node15" href="sys_perms.html" title="sys_perms" alt="" coords="260,169,393,340">
+<area shape="rect" id="node18" href="xconfig.html" title="xconfig" alt="" coords="265,357,388,528">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/cache.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/channel.html b/hubzilla_er/tables/channel.html
new file mode 100644
index 000000000..1222058de
--- /dev/null
+++ b/hubzilla_er/tables/channel.html
@@ -0,0 +1,924 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.channel</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='channel';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>channel</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="likes.channel_id's name implies that it's a child of channel.channel_id, but it doesn't reference that column."><a href='likes.html'>likes</a><span class='relatedKey'>.channel_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="mail.channel_id's name implies that it's a child of channel.channel_id, but it doesn't reference that column."><a href='mail.html'>mail</a><span class='relatedKey'>.channel_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="profext.channel_id's name implies that it's a child of channel.channel_id, but it doesn't reference that column."><a href='profext.html'>profext</a><span class='relatedKey'>.channel_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+</td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>channel_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_timezone</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_theme</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>channel_startpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>channel_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>channel_prvkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_notifyflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_pageflags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_dirdate</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_lastpost</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_deleted</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_max_anon_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_max_friend_req</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_expire_days</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>channel_passwd_reset</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_default_group</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>channel_allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>channel_allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>channel_deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>channel_deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_r_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_r_profile</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_r_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_r_abook</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_w_stream</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_w_wall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_w_tagwall</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_w_comment</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_w_mail</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_w_photos</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_w_chat</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_a_delegate</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_r_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_w_storage</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_r_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_w_pages</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_a_republish</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_w_like</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_removed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='48 columns'>Table contained 5 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>channel_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_a_delegate</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_a_delegate</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_a_republish</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_a_republish</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_account_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_account_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_address</td>
+ <td class='detail'>Must be unique</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_address_unique</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_default_group</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_default_gid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_deleted</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_deleted</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_dirdate</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_dirdate</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_expire_days</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_expire_days</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_guid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_guid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_lastpost</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_lastpost</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_location</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_location</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_max_anon_mail</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_max_anon_mail</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_max_friend_req</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_max_friend_req</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_name</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_notifyflags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_notifyflags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_pageflags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_pageflags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_primary</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_primary</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_r_abook</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_r_abook</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_r_pages</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_r_pages</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_r_photos</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_r_photos</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_r_profile</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_r_profile</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_r_storage</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_r_storage</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_r_stream</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_r_stream</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_removed</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_removed</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_system</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_system</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_theme</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_theme</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_timezone</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_timezone</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_chat</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_chat</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_comment</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_comment</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_like</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_like</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_mail</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_mail</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_pages</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_pages</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_photos</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_photos</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_storage</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_storage</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_stream</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_stream</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_tagwall</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_tagwall</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_w_wall</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_w_wall</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="channel.html" title="channel" alt="" coords="7,5,356,1155">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/channel.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="likes.html" title="likes" alt="" coords="408,556,539,817">
+<area shape="rect" id="node3" href="channel.html" title="channel" alt="" coords="7,575,356,1726">
+<area shape="rect" id="node5" href="verify.html" title="verify" alt="" coords="120,479,243,559">
+<area shape="rect" id="node6" href="mail.html" title="mail" alt="" coords="401,5,545,539">
+<area shape="rect" id="node8" href="account.html" title="account" alt="" coords="123,117,240,197">
+<area shape="rect" id="node11" href="profext.html" title="profext" alt="" coords="408,835,539,1005">
+<area shape="rect" id="node15" href="cache.html" title="cache" alt="" coords="117,1743,245,1823">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/channel.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/chat.html b/hubzilla_er/tables/chat.html
new file mode 100644
index 000000000..fb914f215
--- /dev/null
+++ b/hubzilla_er/tables/chat.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.chat</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='chat';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>chat</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>chat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>chat_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>chat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>chat_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>chat_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>chat_room</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>chat_room</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>chat_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>chat_xchan</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>created</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/chatpresence.html b/hubzilla_er/tables/chatpresence.html
new file mode 100644
index 000000000..9b6c8c7f0
--- /dev/null
+++ b/hubzilla_er/tables/chatpresence.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.chatpresence</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='chatpresence';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>chatpresence</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>cp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cp_room</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>cp_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cp_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>cp_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>cp_client</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 1 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>cp_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cp_last</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cp_last</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cp_room</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cp_room</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cp_status</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cp_status</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cp_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cp_xchan</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/chatroom.html b/hubzilla_er/tables/chatroom.html
new file mode 100644
index 000000000..cb7db7985
--- /dev/null
+++ b/hubzilla_er/tables/chatroom.html
@@ -0,0 +1,286 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.chatroom</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='chatroom';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>chatroom</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>cr_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>cr_aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cr_uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>cr_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cr_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>cr_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cr_expire</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='11 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>cr_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cr_aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cr_aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cr_created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cr_created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cr_edited</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cr_edited</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cr_expire</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cr_expire</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cr_name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cr_name</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cr_uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cr_uid</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/clients.html b/hubzilla_er/tables/clients.html
new file mode 100644
index 000000000..81d48f281
--- /dev/null
+++ b/hubzilla_er/tables/clients.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.clients</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='clients';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>clients</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="auth_codes.client_id's name implies that it's a child of clients.client_id, but it doesn't reference that column."><a href='auth_codes.html'>auth_codes</a><span class='relatedKey'>.client_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="tokens.client_id's name implies that it's a child of clients.client_id, but it doesn't reference that column."><a href='tokens.html'>tokens</a><span class='relatedKey'>.client_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+</td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>pw</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>redirect_uri</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>name</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>icon</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center' title='nullable'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>null</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>client_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="clients.html" title="clients" alt="" coords="5,5,216,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/clients.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="auth_codes.html" title="auth_codes" alt="" coords="439,84,569,255">
+<area shape="rect" id="node3" href="clients.html" title="clients" alt="" coords="5,114,216,313">
+<area shape="rect" id="node5" href="tokens.html" title="tokens" alt="" coords="260,5,393,198">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/clients.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/config.html b/hubzilla_er/tables/config.html
new file mode 100644
index 000000000..62536d7ce
--- /dev/null
+++ b/hubzilla_er/tables/config.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.config</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='config';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>config</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="config.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="config.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='cache.html'>cache</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>v</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 52 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cat + k</td>
+ <td class='detail'>Must be unique</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>access</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="config.html" title="config" alt="" coords="5,5,232,158">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/config.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="236,1465,356,1545">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="9,931,135,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="183,1659,409,1813">
+<area shape="rect" id="node7" href="cache.html" title="cache" alt="" coords="5,1831,139,1956">
+<area shape="rect" id="node8" href="conv.html" title="conv" alt="" coords="236,5,356,85">
+<area shape="rect" id="node10" href="fcontact.html" title="fcontact" alt="" coords="235,103,357,183">
+<area shape="rect" id="node12" href="ffinder.html" title="ffinder" alt="" coords="236,200,356,280">
+<area shape="rect" id="node14" href="group_member.html" title="group_member" alt="" coords="223,297,369,377">
+<area shape="rect" id="node16" href="groups.html" title="groups" alt="" coords="235,395,357,475">
+<area shape="rect" id="node18" href="item.html" title="item" alt="" coords="221,492,371,572">
+<area shape="rect" id="node20" href="item_id.html" title="item_id" alt="" coords="239,589,353,669">
+<area shape="rect" id="node22" href="likes.html" title="likes" alt="" coords="236,687,356,767">
+<area shape="rect" id="node24" href="mail.html" title="mail" alt="" coords="236,784,356,864">
+<area shape="rect" id="node26" href="pconfig.html" title="pconfig" alt="" coords="227,2024,365,2104">
+<area shape="rect" id="node28" href="photo.html" title="photo" alt="" coords="221,881,371,961">
+<area shape="rect" id="node30" href="profdef.html" title="profdef" alt="" coords="235,979,357,1059">
+<area shape="rect" id="node32" href="profext.html" title="profext" alt="" coords="235,1829,357,1909">
+<area shape="rect" id="node35" href="profile_check.html" title="profile_check" alt="" coords="227,1076,365,1156">
+<area shape="rect" id="node37" href="register.html" title="register" alt="" coords="235,1173,357,1253">
+<area shape="rect" id="node39" href="sign.html" title="sign" alt="" coords="236,1271,356,1351">
+<area shape="rect" id="node41" href="sys_perms.html" title="sys_perms" alt="" coords="231,1927,361,2007">
+<area shape="rect" id="node44" href="xconfig.html" title="xconfig" alt="" coords="235,1563,357,1643">
+<area shape="rect" id="node47" href="xign.html" title="xign" alt="" coords="236,1368,356,1448">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/config.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/conv.html b/hubzilla_er/tables/conv.html
new file mode 100644
index 000000000..bf3cda01f
--- /dev/null
+++ b/hubzilla_er/tables/conv.html
@@ -0,0 +1,270 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.conv</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='conv';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>conv</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="conv.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>recips</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>creator</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>subject</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='8 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>updated</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>updated</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="conv.html" title="conv" alt="" coords="7,5,271,249">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/conv.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="248,5,368,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,1094,131,1287">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="244,103,372,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="176,199,440,443">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="247,460,369,540">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="248,557,368,637">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="235,655,381,735">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="247,752,369,832">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="233,849,383,929">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="251,947,365,1027">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="248,1044,368,1124">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="248,1141,368,1221">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="233,1239,383,1319">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="247,1336,369,1416">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="247,1433,369,1513">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="239,1531,377,1611">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="247,1628,369,1708">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="248,1725,368,1805">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="243,1823,373,1903">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="247,1920,369,2000">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="248,2017,368,2097">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/conv.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/event.html b/hubzilla_er/tables/event.html
new file mode 100644
index 000000000..da92cb295
--- /dev/null
+++ b/hubzilla_er/tables/event.html
@@ -0,0 +1,507 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.event</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='event';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>event</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="event.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>event_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>event_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>start</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>finish</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>summary</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>location</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>nofinish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>adjust</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>1</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>ignore</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>event_status</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>event_status_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>event_percent</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>event_repeat</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>event_sequence</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='25 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>adjust</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>adjust</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>event_hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>event_hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>event_sequence</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>event_sequence</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>event_status</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>event_status</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>event_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>event_xchan</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>finish</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>finish</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ignore</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ignore</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>nofinish</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>nofinish</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>start</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>start</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="event.html" title="event" alt="" coords="7,5,313,635">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/event.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="283,5,403,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,995,143,1392">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="283,103,403,183">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="189,200,496,829">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="281,847,404,927">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="280,944,405,1024">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="283,1041,403,1121">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="280,1139,405,1219">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="273,1236,412,1316">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="283,1333,403,1413">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="283,1431,403,1511">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/event.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/fcontact.html b/hubzilla_er/tables/fcontact.html
new file mode 100644
index 000000000..10af48116
--- /dev/null
+++ b/hubzilla_er/tables/fcontact.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.fcontact</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='fcontact';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>fcontact</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="fcontact.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>nick</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>batch</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>notify</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>poll</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>confirm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>priority</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>alias</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='16 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>addr</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>addr</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>network</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>network</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="fcontact.html" title="fcontact" alt="" coords="7,5,225,430">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/fcontact.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="225,5,345,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,1275,131,1469">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="221,103,349,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="225,200,345,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="176,297,395,722">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="225,739,345,819">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="212,836,359,916">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="224,933,347,1013">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="211,1031,360,1111">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="228,1128,343,1208">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="225,1225,345,1305">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="225,1323,345,1403">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="211,1420,360,1500">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="224,1517,347,1597">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="224,1615,347,1695">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="216,1712,355,1792">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="224,1809,347,1889">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="225,1907,345,1987">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="220,2004,351,2084">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="224,2101,347,2181">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="225,2199,345,2279">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/fcontact.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/ffinder.html b/hubzilla_er/tables/ffinder.html
new file mode 100644
index 000000000..8c6a09711
--- /dev/null
+++ b/hubzilla_er/tables/ffinder.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.ffinder</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='ffinder';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>ffinder</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="ffinder.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>fid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>fid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>fid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="ffinder.html" title="ffinder" alt="" coords="5,5,224,158">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/ffinder.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="224,5,344,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,1003,131,1197">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="220,103,348,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="224,200,344,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="223,297,345,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="175,394,393,547">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="211,564,357,644">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="223,661,345,741">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="209,759,359,839">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="227,856,341,936">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="224,953,344,1033">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="224,1051,344,1131">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="209,1148,359,1228">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="223,1245,345,1325">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="223,1343,345,1423">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="215,1440,353,1520">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="223,1537,345,1617">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="224,1635,344,1715">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="219,1732,349,1812">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="223,1829,345,1909">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="224,1927,344,2007">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/ffinder.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/fserver.html b/hubzilla_er/tables/fserver.html
new file mode 100644
index 000000000..0becc814d
--- /dev/null
+++ b/hubzilla_er/tables/fserver.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.fserver</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='fserver';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>fserver</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="fserver.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>server</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>key</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>posturl</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>posturl</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>server</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>server</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="fserver.html" title="fserver" alt="" coords="6,5,195,158">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/fserver.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="223,5,343,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,517,143,915">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="223,103,343,183">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="223,200,343,280">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="188,297,377,450">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="220,467,345,547">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="223,564,343,644">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="220,661,345,741">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="213,759,352,839">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="223,856,343,936">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="223,953,343,1033">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/fserver.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/fsuggest.html b/hubzilla_er/tables/fsuggest.html
new file mode 100644
index 000000000..7f0b446e5
--- /dev/null
+++ b/hubzilla_er/tables/fsuggest.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.fsuggest</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='fsuggest';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>fsuggest</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="fsuggest.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>cid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>request</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>note</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='9 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="fsuggest.html" title="fsuggest" alt="" coords="5,5,203,272">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/fsuggest.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="227,5,347,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,539,143,936">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="227,103,347,183">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="227,200,347,280">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="225,297,348,377">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="188,395,385,661">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="227,679,347,759">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="224,776,349,856">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="217,873,356,953">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="227,971,347,1051">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="227,1068,347,1148">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/fsuggest.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/group_member.html b/hubzilla_er/tables/group_member.html
new file mode 100644
index 000000000..f66faa853
--- /dev/null
+++ b/hubzilla_er/tables/group_member.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.group_member</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='group_member';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>group_member</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="group_member.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>gid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 2 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>gid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>gid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="group_member.html" title="group_member" alt="" coords="7,5,231,158">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/group_member.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="228,5,348,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,1003,131,1197">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="224,103,352,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="228,200,348,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="227,297,349,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="228,395,348,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="176,491,400,645">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="227,661,349,741">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="213,759,363,839">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="231,856,345,936">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="228,953,348,1033">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="228,1051,348,1131">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="213,1148,363,1228">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="227,1245,349,1325">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="227,1343,349,1423">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="219,1440,357,1520">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="227,1537,349,1617">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="228,1635,348,1715">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="223,1732,353,1812">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="227,1829,349,1909">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="228,1927,348,2007">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/group_member.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/groups.html b/hubzilla_er/tables/groups.html
new file mode 100644
index 000000000..5e0b4163f
--- /dev/null
+++ b/hubzilla_er/tables/groups.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.groups</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='groups';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>groups</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="groups.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>visible</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 5 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>deleted</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>deleted</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>visible</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>visible</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="groups.html" title="groups" alt="" coords="5,5,224,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/groups.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="224,5,344,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,1049,131,1242">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="220,103,348,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="224,200,344,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="223,297,345,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="224,395,344,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="211,492,357,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="175,589,393,787">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="209,804,359,884">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="227,901,341,981">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="224,999,344,1079">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="224,1096,344,1176">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="209,1193,359,1273">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="223,1291,345,1371">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="223,1388,345,1468">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="215,1485,353,1565">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="223,1583,345,1663">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="224,1680,344,1760">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="219,1777,349,1857">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="223,1875,345,1955">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="224,1972,344,2052">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/groups.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/hook.html b/hubzilla_er/tables/hook.html
new file mode 100644
index 000000000..08d9b1aa7
--- /dev/null
+++ b/hubzilla_er/tables/hook.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.hook</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='hook';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>hook</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="hook.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hook</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>file</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>function</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>priority</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hook</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hook</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="hook.html" title="hook" alt="" coords="5,5,224,181">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/hook.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="237,5,357,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,445,143,843">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="237,103,357,183">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="237,200,357,280">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="236,297,359,377">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="235,395,360,475">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="188,492,407,668">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="235,685,360,765">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="228,783,367,863">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="237,880,357,960">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="237,977,357,1057">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/hook.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/hubloc.html b/hubzilla_er/tables/hubloc.html
new file mode 100644
index 000000000..06c3e388b
--- /dev/null
+++ b/hubzilla_er/tables/hubloc.html
@@ -0,0 +1,433 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.hubloc</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='hubloc';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>hubloc</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>hubloc_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hubloc_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>hubloc_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>hubloc_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hubloc_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hubloc_status</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>hubloc_url_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_host</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>hubloc_callback</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_connect</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>hubloc_sitekey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hubloc_connected</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_primary</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hubloc_orphancheck</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hubloc_error</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hubloc_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='20 columns'>Table contained 1 513 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>hubloc_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_addr</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_addr</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_connect</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_connect</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_connected</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_connected</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_deleted</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_deleted</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_error</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_error</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_guid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_guid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_host</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_host</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_network</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_network</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_orphancheck</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_orphancheck</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_primary</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_primary</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_status</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_status</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_updated</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_updated</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hubloc_url</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hubloc_url</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/issue.html b/hubzilla_er/tables/issue.html
new file mode 100644
index 000000000..f4befe07f
--- /dev/null
+++ b/hubzilla_er/tables/issue.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.issue</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='issue';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>issue</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>issue_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>issue_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>issue_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>issue_assigned</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>issue_priority</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>issue_status</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>issue_component</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='7 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>issue_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>issue_assigned</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>issue_assigned</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>issue_component</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>issue_component</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>issue_created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>issue_created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>issue_priority</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>issue_priority</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>issue_status</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>issue_status</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>issue_updated</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>issue_updated</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/item.html b/hubzilla_er/tables/item.html
new file mode 100644
index 000000000..8f2684aa5
--- /dev/null
+++ b/hubzilla_er/tables/item.html
@@ -0,0 +1,1315 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.item</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='item';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>item</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="item.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>thr_parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>commented</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>received</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>changed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>comments_closed</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>owner_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>author_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>source_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>html</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>app</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>lang</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>revision</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>obj_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>object</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>tgt_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>target</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>layout_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>postopts</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>route</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>llink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>plink</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>resource_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>diaspora_meta</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>coord</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>public_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>comment_policy</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_restrict</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_private</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_origin</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_unseen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_starred</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_uplink</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_consensus</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_wall</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_thread_top</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_notshown</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_relay</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_mentionsme</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_nocomment</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_obscured</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_verified</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_retained</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_rss</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_unpublished</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_delayed</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>item_pending_remove</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>item_blocked</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='73 columns'>Table contained 9 613 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>allow_cid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>allow_cid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>allow_gid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>allow_gid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>author_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>author_xchan</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>body</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>body</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>changed</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>changed</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>comment_policy</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>comment_policy</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>commented</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>commented</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>comments_closed</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>comments_closed</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>deny_cid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>deny_cid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>deny_gid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>deny_gid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>edited</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>edited</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>expires</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>expires</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_blocked</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_blocked</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_consensus</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_consensus</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_delayed</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_delayed</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_deleted</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_deleted</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_hidden</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_hidden</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_mentionsme</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_mentionsme</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_nocomment</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_nocomment</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_notshown</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_notshown</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_nsfw</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_nsfw</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_obscured</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_obscured</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_origin</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_origin</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_pending_remove</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_pending_remove</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_private</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_private</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_relay</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_relay</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_restrict</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_restrict</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_retained</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_retained</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_rss</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_rss</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_starred</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_starred</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_thread_top</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_thread_top</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_unpublished</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_unpublished</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_unseen</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_unseen</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_uplink</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_uplink</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_verified</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_verified</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>item_wall</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>item_wall</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>layout_mid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>layout_mid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>llink</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>llink</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mimetype</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mimetype</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>owner_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>owner_xchan</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>parent</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>parent</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>parent_mid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>parent_mid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>public_policy</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>public_policy</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>received</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>received</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>resource_type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>resource_type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>revision</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>revision</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>title</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>title</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid + commented</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid_commented</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid + created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid_created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mid + uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid_mid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>verb</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>verb</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="item.html" title="item" alt="" coords="5,5,344,1723">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/item.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="284,5,404,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,2569,131,2762">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="280,103,408,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="284,200,404,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="283,297,405,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="284,395,404,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="271,492,417,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="283,589,405,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="175,687,513,2404">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="287,2421,401,2501">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="284,2519,404,2599">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="284,2616,404,2696">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="269,2713,419,2793">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="283,2811,405,2891">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="283,2908,405,2988">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="275,3005,413,3085">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="283,3103,405,3183">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="284,3200,404,3280">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="279,3297,409,3377">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="283,3395,405,3475">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="284,3492,404,3572">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/item.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/item_id.html b/hubzilla_er/tables/item_id.html
new file mode 100644
index 000000000..ec66e3999
--- /dev/null
+++ b/hubzilla_er/tables/item_id.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.item_id</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='item_id';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>item_id</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="item_id.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>service</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 1 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>iid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>iid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>service</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>service</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>sid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>sid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="item_id.html" title="item_id" alt="" coords="7,5,217,181">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/item_id.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="221,5,341,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,1027,131,1221">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="217,103,345,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="221,200,341,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="220,297,343,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="221,395,341,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="208,492,355,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="220,589,343,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="207,687,356,767">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="176,784,387,960">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="221,977,341,1057">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="221,1075,341,1155">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="207,1172,356,1252">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="220,1269,343,1349">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="220,1367,343,1447">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="212,1464,351,1544">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="220,1561,343,1641">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="221,1659,341,1739">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="216,1756,347,1836">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="220,1853,343,1933">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="221,1951,341,2031">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/item_id.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/likes.html b/hubzilla_er/tables/likes.html
new file mode 100644
index 000000000..6d085fa5a
--- /dev/null
+++ b/hubzilla_er/tables/likes.html
@@ -0,0 +1,321 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.likes</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='likes';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>likes</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="likes.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="likes.channel_id's name implies that it's a child of channel.channel_id, but it doesn't reference that column."><a href='channel.html'>channel</a><span class='relatedKey'>.channel_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>liker</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>likee</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>target_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>target_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>target</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='9 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>iid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>iid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>likee</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>likee</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>liker</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>liker</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>target_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>target_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>target_type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>target_type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>verb</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>verb</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="likes.html" title="likes" alt="" coords="7,5,281,272">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/likes.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="320,881,440,961">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="39,931,164,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="316,979,444,1059">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="320,1076,440,1156">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="319,1173,441,1253">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="320,1271,440,1351">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="307,1368,453,1448">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="319,1465,441,1545">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="305,1563,455,1643">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="323,5,437,85">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="243,1660,517,1927">
+<area shape="rect" id="node22" href="channel.html" title="channel" alt="" coords="7,1945,196,3090">
+<area shape="rect" id="node24" href="mail.html" title="mail" alt="" coords="320,1944,440,2024">
+<area shape="rect" id="node27" href="photo.html" title="photo" alt="" coords="305,103,455,183">
+<area shape="rect" id="node29" href="profdef.html" title="profdef" alt="" coords="319,200,441,280">
+<area shape="rect" id="node31" href="profext.html" title="profext" alt="" coords="319,2041,441,2121">
+<area shape="rect" id="node34" href="profile_check.html" title="profile_check" alt="" coords="311,297,449,377">
+<area shape="rect" id="node36" href="register.html" title="register" alt="" coords="319,395,441,475">
+<area shape="rect" id="node38" href="sign.html" title="sign" alt="" coords="320,492,440,572">
+<area shape="rect" id="node40" href="sys_perms.html" title="sys_perms" alt="" coords="315,589,445,669">
+<area shape="rect" id="node42" href="xconfig.html" title="xconfig" alt="" coords="319,687,441,767">
+<area shape="rect" id="node44" href="xign.html" title="xign" alt="" coords="320,784,440,864">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/likes.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/mail.html b/hubzilla_er/tables/mail.html
new file mode 100644
index 000000000..96056d5ce
--- /dev/null
+++ b/hubzilla_er/tables/mail.html
@@ -0,0 +1,517 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.mail</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='mail';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>mail</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="mail.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>convid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>mail_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>from_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>to_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>account_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="mail.account_id's name implies that it's a child of account.account_id, but it doesn't reference that column."><a href='account.html'>account</a><span class='relatedKey'>.account_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="mail.channel_id's name implies that it's a child of channel.channel_id, but it doesn't reference that column."><a href='channel.html'>channel</a><span class='relatedKey'>.channel_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>title</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>body</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>attach</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>parent_mid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>mail_deleted</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>mail_replied</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>mail_isreply</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>mail_seen</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>mail_recalled</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>mail_obscured</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='21 columns'>Table contained 7 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>account_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>account_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>convid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>convid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>expires</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>expires</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>from_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>from_xchan</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mail_deleted</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mail_deleted</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mail_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mail_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mail_isreply</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mail_isreply</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mail_obscured</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mail_obscured</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mail_recalled</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mail_recalled</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mail_replied</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mail_replied</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mail_seen</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mail_seen</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>parent_mid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>parent_mid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>to_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>to_xchan</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="mail.html" title="mail" alt="" coords="5,5,291,544">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/mail.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="348,881,468,961">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="51,931,176,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="344,979,472,1059">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="348,1076,468,1156">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="347,1173,469,1253">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="348,1271,468,1351">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="335,1368,481,1448">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="347,1465,469,1545">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="333,1563,483,1643">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="351,5,465,85">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="348,2313,468,2393">
+<area shape="rect" id="node22" href="channel.html" title="channel" alt="" coords="19,2105,208,3250">
+<area shape="rect" id="node24" href="mail.html" title="mail" alt="" coords="265,1757,551,2296">
+<area shape="rect" id="node26" href="account.html" title="account" alt="" coords="7,1623,220,2089">
+<area shape="rect" id="node29" href="photo.html" title="photo" alt="" coords="333,103,483,183">
+<area shape="rect" id="node31" href="profdef.html" title="profdef" alt="" coords="347,200,469,280">
+<area shape="rect" id="node33" href="profext.html" title="profext" alt="" coords="347,1660,469,1740">
+<area shape="rect" id="node36" href="profile_check.html" title="profile_check" alt="" coords="339,297,477,377">
+<area shape="rect" id="node38" href="register.html" title="register" alt="" coords="347,395,469,475">
+<area shape="rect" id="node40" href="sign.html" title="sign" alt="" coords="348,492,468,572">
+<area shape="rect" id="node42" href="sys_perms.html" title="sys_perms" alt="" coords="343,589,473,669">
+<area shape="rect" id="node44" href="xconfig.html" title="xconfig" alt="" coords="347,687,469,767">
+<area shape="rect" id="node46" href="xign.html" title="xign" alt="" coords="348,784,468,864">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/mail.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/manage.html b/hubzilla_er/tables/manage.html
new file mode 100644
index 000000000..0275c18c2
--- /dev/null
+++ b/hubzilla_er/tables/manage.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.manage</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='manage';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>manage</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="manage.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='3 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="manage.html" title="manage" alt="" coords="11,5,190,136">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/manage.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="217,5,337,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,445,143,843">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="217,103,337,183">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="217,200,337,280">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="216,297,339,377">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="215,395,340,475">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="217,492,337,572">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="188,589,367,720">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="208,737,347,817">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="217,835,337,915">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="217,932,337,1012">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/manage.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/menu.html b/hubzilla_er/tables/menu.html
new file mode 100644
index 000000000..e165beb4d
--- /dev/null
+++ b/hubzilla_er/tables/menu.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.menu</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='menu';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>menu</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>menu_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>menu_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>menu_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>menu_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>menu_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>menu_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='7 columns'>Table contained 1 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>menu_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>menu_channel_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>menu_channel_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>menu_created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>menu_created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>menu_edited</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>menu_edited</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>menu_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>menu_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>menu_name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>menu_name</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/menu_item.html b/hubzilla_er/tables/menu_item.html
new file mode 100644
index 000000000..92e2eacc9
--- /dev/null
+++ b/hubzilla_er/tables/menu_item.html
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.menu_item</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='menu_item';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>menu_item</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>mitem_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>mitem_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>mitem_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>mitem_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>mitem_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>mitem_menu_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>mitem_order</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='11 columns'>Table contained 1 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>mitem_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mitem_channel_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mitem_channel_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mitem_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mitem_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>mitem_menu_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>mitem_menu_id</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/notify.html b/hubzilla_er/tables/notify.html
new file mode 100644
index 000000000..2eec3e2ce
--- /dev/null
+++ b/hubzilla_er/tables/notify.html
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.notify</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='notify';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>notify</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="addon.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='addon.html'>addon</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="app.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='app.html'>app</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="event.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='event.html'>event</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="fserver.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='fserver.html'>fserver</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="fsuggest.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='fsuggest.html'>fsuggest</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="hook.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='hook.html'>hook</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="manage.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='manage.html'>manage</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="pconfig.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='pconfig.html'>pconfig</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="profile.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='profile.html'>profile</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="spam.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='spam.html'>spam</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+</td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>parent</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>seen</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='15 columns'>Table contained 59 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>date</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>date</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>link</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>link</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>otype</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>otype</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>parent</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>parent</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>seen</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>seen</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="notify.html" title="notify" alt="" coords="5,5,277,408">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/notify.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="332,5,471,221">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="5,1572,277,1975">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="332,238,471,613">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="321,629,481,1253">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="340,1270,463,1418">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="339,1435,464,1696">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="340,1713,463,1884">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="339,1901,464,2027">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="332,3324,471,3495">
+<area shape="rect" id="node19" href="cache.html" title="cache" alt="" coords="77,3392,205,3472">
+<area shape="rect" id="node20" href="profile.html" title="profile" alt="" coords="331,2043,472,3098">
+<area shape="rect" id="node22" href="spam.html" title="spam" alt="" coords="341,3114,461,3307">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/notify.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/obj.html b/hubzilla_er/tables/obj.html
new file mode 100644
index 000000000..97f010598
--- /dev/null
+++ b/hubzilla_er/tables/obj.html
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.obj</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='obj';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>obj</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>obj_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>obj_page</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>obj_verb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>obj_type</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>obj_obj</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>obj_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='10 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>obj_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>obj_channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>obj_channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>obj_obj</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>obj_obj</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>obj_page</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>obj_page</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>obj_type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>obj_type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>obj_verb</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>obj_verb</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/outq.html b/hubzilla_er/tables/outq.html
new file mode 100644
index 000000000..ceca68f09
--- /dev/null
+++ b/hubzilla_er/tables/outq.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.outq</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='outq';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>outq</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>outq_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>outq_account</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>outq_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>outq_driver</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>outq_posturl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>outq_async</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>outq_delivered</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>outq_created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>outq_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>outq_notify</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>outq_msg</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>outq_priority</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='12 columns'>Table contained 2 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>outq_hash</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_account</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_account</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_async</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_async</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_delivered</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_delivered</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_posturl</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_hub</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_priority</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_priority</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>outq_updated</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>outq_updated</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/pconfig.html b/hubzilla_er/tables/pconfig.html
new file mode 100644
index 000000000..3a4eb4fc6
--- /dev/null
+++ b/hubzilla_er/tables/pconfig.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.pconfig</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='pconfig';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>pconfig</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="pconfig.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="pconfig.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='cache.html'>cache</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 232 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid + cat + k</td>
+ <td class='detail'>Must be unique</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>access</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="pconfig.html" title="pconfig" alt="" coords="5,5,285,181">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/pconfig.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="268,5,388,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,445,143,843">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="268,103,388,183">
+<area shape="rect" id="node6" href="config.html" title="config" alt="" coords="264,1075,392,1155">
+<area shape="rect" id="node8" href="cache.html" title="cache" alt="" coords="8,1173,141,1299">
+<area shape="rect" id="node9" href="event.html" title="event" alt="" coords="268,200,388,280">
+<area shape="rect" id="node11" href="fserver.html" title="fserver" alt="" coords="267,297,389,377">
+<area shape="rect" id="node13" href="fsuggest.html" title="fsuggest" alt="" coords="265,395,391,475">
+<area shape="rect" id="node15" href="hook.html" title="hook" alt="" coords="268,492,388,572">
+<area shape="rect" id="node17" href="manage.html" title="manage" alt="" coords="265,589,391,669">
+<area shape="rect" id="node19" href="pconfig.html" title="pconfig" alt="" coords="188,881,468,1057">
+<area shape="rect" id="node22" href="profext.html" title="profext" alt="" coords="267,1172,389,1252">
+<area shape="rect" id="node24" href="profile.html" title="profile" alt="" coords="268,687,388,767">
+<area shape="rect" id="node26" href="spam.html" title="spam" alt="" coords="268,784,388,864">
+<area shape="rect" id="node28" href="sys_perms.html" title="sys_perms" alt="" coords="263,1269,393,1349">
+<area shape="rect" id="node30" href="xconfig.html" title="xconfig" alt="" coords="267,1367,389,1447">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/pconfig.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/photo.html b/hubzilla_er/tables/photo.html
new file mode 100644
index 000000000..0bc69e071
--- /dev/null
+++ b/hubzilla_er/tables/photo.html
@@ -0,0 +1,556 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.photo</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='photo';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>photo</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="photo.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>resource_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>title</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>description</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>album</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>filename</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>height</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>width</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>size</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>data</td>
+ <td class='detail'>mediumblob</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>scale</td>
+ <td class='detail'>tinyint</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>photo_usage</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>profile</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>is_nsfw</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>os_storage</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>os_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>display_path</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>photo_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>allow_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>allow_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>deny_cid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>deny_gid</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='28 columns'>Table contained 3 495 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>album</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>album</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>is_nsfw</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>is_nsfw</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>os_storage</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>os_storage</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>photo_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>photo_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>photo_usage</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>photo_usage</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>profile</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>profile</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>resource_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>resource_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>scale</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>scale</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>size</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>size</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="photo.html" title="photo" alt="" coords="7,5,319,702">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/photo.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="272,5,392,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,931,131,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="268,103,396,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="272,200,392,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="271,297,393,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="272,395,392,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="259,492,405,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="271,589,393,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="257,687,407,767">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="275,784,389,864">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="272,881,392,961">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="272,979,392,1059">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="176,1075,488,1773">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="271,1789,393,1869">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="271,1887,393,1967">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="263,1984,401,2064">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="271,2081,393,2161">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="272,2179,392,2259">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="267,2276,397,2356">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="271,2373,393,2453">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="272,2471,392,2551">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/photo.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/poll.html b/hubzilla_er/tables/poll.html
new file mode 100644
index 000000000..7ad9eea73
--- /dev/null
+++ b/hubzilla_er/tables/poll.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.poll</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='poll';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>poll</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>poll_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>poll_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>poll_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>poll_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>poll_votes</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>poll_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>poll_channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>poll_channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>poll_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>poll_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>poll_votes</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>poll_votes</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/poll_elm.html b/hubzilla_er/tables/poll_elm.html
new file mode 100644
index 000000000..cb6b95fbe
--- /dev/null
+++ b/hubzilla_er/tables/poll_elm.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.poll_elm</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='poll_elm';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>poll_elm</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>pelm_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>pelm_poll</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>pelm_desc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>pelm_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>pelm_result</td>
+ <td class='detail'>float</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>pelm_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>pelm_poll</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>pelm_poll</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>pelm_result</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>pelm_result</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/profdef.html b/hubzilla_er/tables/profdef.html
new file mode 100644
index 000000000..2734deed0
--- /dev/null
+++ b/hubzilla_er/tables/profdef.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.profdef</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='profdef';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>profdef</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="profdef.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>field_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>field_type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>field_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>field_help</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>field_inputs</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>field_name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>field_name</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="profdef.html" title="profdef" alt="" coords="7,5,281,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/profdef.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="253,5,373,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,931,131,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="249,103,377,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="253,200,373,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="252,297,375,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="253,395,373,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="240,492,387,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="252,589,375,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="239,687,388,767">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="256,784,371,864">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="253,881,373,961">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="253,979,373,1059">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="239,1076,388,1156">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="176,1173,451,1371">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="252,1388,375,1468">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="244,1485,383,1565">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="252,1583,375,1663">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="253,1680,373,1760">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="248,1777,379,1857">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="252,1875,375,1955">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="253,1972,373,2052">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/profdef.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/profext.html b/hubzilla_er/tables/profext.html
new file mode 100644
index 000000000..36472fcf9
--- /dev/null
+++ b/hubzilla_er/tables/profext.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.profext</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='profext';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>profext</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="profext.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="profext.channel_id's name implies that it's a child of channel.channel_id, but it doesn't reference that column."><a href='channel.html'>channel</a><span class='relatedKey'>.channel_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="profext.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='cache.html'>cache</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>k</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>k</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="profext.html" title="profext" alt="" coords="7,5,279,181">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/profext.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="319,687,439,767">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="39,882,164,1075">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="315,1781,443,1861">
+<area shape="rect" id="node7" href="cache.html" title="cache" alt="" coords="35,2253,168,2379">
+<area shape="rect" id="node8" href="conv.html" title="conv" alt="" coords="319,784,439,864">
+<area shape="rect" id="node10" href="fcontact.html" title="fcontact" alt="" coords="317,881,440,961">
+<area shape="rect" id="node12" href="ffinder.html" title="ffinder" alt="" coords="319,979,439,1059">
+<area shape="rect" id="node14" href="group_member.html" title="group_member" alt="" coords="305,1076,452,1156">
+<area shape="rect" id="node16" href="groups.html" title="groups" alt="" coords="317,1173,440,1253">
+<area shape="rect" id="node18" href="item.html" title="item" alt="" coords="304,1271,453,1351">
+<area shape="rect" id="node20" href="item_id.html" title="item_id" alt="" coords="321,5,436,85">
+<area shape="rect" id="node22" href="likes.html" title="likes" alt="" coords="319,1465,439,1545">
+<area shape="rect" id="node24" href="channel.html" title="channel" alt="" coords="7,1091,196,2237">
+<area shape="rect" id="node26" href="mail.html" title="mail" alt="" coords="319,1368,439,1448">
+<area shape="rect" id="node29" href="pconfig.html" title="pconfig" alt="" coords="309,2252,448,2332">
+<area shape="rect" id="node31" href="photo.html" title="photo" alt="" coords="304,103,453,183">
+<area shape="rect" id="node33" href="profdef.html" title="profdef" alt="" coords="317,200,440,280">
+<area shape="rect" id="node35" href="profext.html" title="profext" alt="" coords="243,1563,515,1739">
+<area shape="rect" id="node39" href="profile_check.html" title="profile_check" alt="" coords="309,297,448,377">
+<area shape="rect" id="node41" href="register.html" title="register" alt="" coords="317,395,440,475">
+<area shape="rect" id="node43" href="sign.html" title="sign" alt="" coords="319,492,439,572">
+<area shape="rect" id="node45" href="sys_perms.html" title="sys_perms" alt="" coords="313,1929,444,2009">
+<area shape="rect" id="node48" href="xconfig.html" title="xconfig" alt="" coords="317,2128,440,2208">
+<area shape="rect" id="node51" href="xign.html" title="xign" alt="" coords="319,589,439,669">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/profext.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/profile.html b/hubzilla_er/tables/profile.html
new file mode 100644
index 000000000..e439f0e0b
--- /dev/null
+++ b/hubzilla_er/tables/profile.html
@@ -0,0 +1,728 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.profile</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='profile';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>profile</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="profile.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>profile_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>profile_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>is_default</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hide_friends</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>pdesc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>chandesc</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>dob_tz</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>UTC</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>address</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>locality</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>postal_code</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>country_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>with</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>howlong</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>politic</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>religion</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>likes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>dislikes</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>summary</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>music</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>book</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>tv</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>film</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>interest</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>romance</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>work</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>education</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>contact</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>channels</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>photo</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>thumb</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>publish</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='44 columns'>Table contained 4 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>country_name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>country_name</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>gender</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>gender</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>profile_guid + uid</td>
+ <td class='detail'>Must be unique</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>guid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hide_friends</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hide_friends</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hometown</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hometown</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>is_default</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>is_default</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>locality</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>locality</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>marital</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>marital</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>postal_code</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>postal_code</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>profile_guid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>profile_guid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>publish</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>publish</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>sexual</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>sexual</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="profile.html" title="profile" alt="" coords="5,5,245,1065">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/profile.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="248,5,368,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,445,143,843">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="248,103,368,183">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="248,200,368,280">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="247,297,369,377">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="245,395,371,475">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="248,492,368,572">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="245,589,371,669">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="239,687,377,767">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="188,783,428,1843">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="248,1860,368,1940">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/profile.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/profile_check.html b/hubzilla_er/tables/profile_check.html
new file mode 100644
index 000000000..72ef92044
--- /dev/null
+++ b/hubzilla_er/tables/profile_check.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.profile_check</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='profile_check';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>profile_check</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="profile_check.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>dfrn_id</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>sec</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>dfrn_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>dfrn_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>expire</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>expire</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>sec</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>sec</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="profile_check.html" title="profile_check" alt="" coords="5,5,227,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/profile_check.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="225,5,345,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,931,131,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="221,103,349,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="225,200,345,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="224,297,347,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="225,395,345,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="212,492,359,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="224,589,347,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="211,687,360,767">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="228,784,343,864">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="225,881,345,961">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="225,979,345,1059">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="211,1076,360,1156">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="224,1173,347,1253">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="224,1271,347,1351">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="175,1367,396,1566">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="224,1583,347,1663">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="225,1680,345,1760">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="220,1777,351,1857">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="224,1875,347,1955">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="225,1972,345,2052">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/profile_check.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/register.html b/hubzilla_er/tables/register.html
new file mode 100644
index 000000000..42a6ec3ed
--- /dev/null
+++ b/hubzilla_er/tables/register.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.register</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='register';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>register</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="register.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>password</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>language</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>16</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="register.html" title="register" alt="" coords="7,5,231,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/register.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="228,5,348,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,931,131,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="224,103,352,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="228,200,348,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="227,297,349,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="228,395,348,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="215,492,361,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="227,589,349,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="213,687,363,767">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="231,784,345,864">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="228,881,348,961">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="228,979,348,1059">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="213,1076,363,1156">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="227,1173,349,1253">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="227,1271,349,1351">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="219,1368,357,1448">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="176,1465,400,1663">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="228,1680,348,1760">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="223,1777,353,1857">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="227,1875,349,1955">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="228,1972,348,2052">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/register.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/session.html b/hubzilla_er/tables/session.html
new file mode 100644
index 000000000..452d1b776
--- /dev/null
+++ b/hubzilla_er/tables/session.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.session</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='session';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>session</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>sid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>data</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>expire</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 23 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>expire</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>expire</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>sid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>sid</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/shares.html b/hubzilla_er/tables/shares.html
new file mode 100644
index 000000000..e370e5c9a
--- /dev/null
+++ b/hubzilla_er/tables/shares.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.shares</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='shares';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>shares</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>share_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>share_type</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>share_target</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>share_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>share_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>share_target</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>share_target</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>share_type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>share_type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>share_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>share_xchan</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/sign.html b/hubzilla_er/tables/sign.html
new file mode 100644
index 000000000..3ab4d8d31
--- /dev/null
+++ b/hubzilla_er/tables/sign.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.sign</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='sign';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>sign</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="sign.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>retract_iid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>signed_text</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>signature</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>signer</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>iid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>iid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>retract_iid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>retract_iid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="sign.html" title="sign" alt="" coords="7,5,281,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/sign.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="253,5,373,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,931,131,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="249,103,377,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="253,200,373,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="252,297,375,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="253,395,373,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="240,492,387,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="252,589,375,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="239,687,388,767">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="256,784,371,864">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="253,881,373,961">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="253,979,373,1059">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="239,1076,388,1156">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="252,1173,375,1253">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="252,1271,375,1351">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="244,1368,383,1448">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="252,1465,375,1545">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="176,1562,451,1761">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="248,1777,379,1857">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="252,1875,375,1955">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="253,1972,373,2052">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/sign.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/site.html b/hubzilla_er/tables/site.html
new file mode 100644
index 000000000..0f4631eea
--- /dev/null
+++ b/hubzilla_er/tables/site.html
@@ -0,0 +1,332 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.site</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='site';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>site</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>site_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>site_access</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>site_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>site_update</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>site_pull</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>site_sync</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>site_directory</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>site_register</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>site_sellpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>site_location</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>site_realm</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>site_valid</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>site_dead</td>
+ <td class='detail'>smallint</td>
+ <td class='detail' align='right'>5</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='13 columns'>Table contained 117 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>site_url</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_access</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_access</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_dead</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_dead</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_directory</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_directory</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_pull</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_pull</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_realm</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_realm</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_register</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_register</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_sellpage</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_sellpage</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_update</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_update</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>site_valid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>site_valid</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/source.html b/hubzilla_er/tables/source.html
new file mode 100644
index 000000000..ac58a2798
--- /dev/null
+++ b/hubzilla_er/tables/source.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.source</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='source';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>source</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>src_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>src_channel_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>src_channel_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>src_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>src_patt</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>src_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>src_channel_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>src_channel_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>src_channel_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>src_channel_xchan</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>src_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>src_xchan</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/spam.html b/hubzilla_er/tables/spam.html
new file mode 100644
index 000000000..9996c49cd
--- /dev/null
+++ b/hubzilla_er/tables/spam.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.spam</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='spam';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>spam</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="spam.id's name implies that it's a child of notify.id, but it doesn't reference that column."><a href='notify.html'>notify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>spam</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>ham</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ham</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ham</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>spam</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>spam</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>term</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>term</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="spam.html" title="spam" alt="" coords="5,5,203,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/spam.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="addon.html" title="addon" alt="" coords="227,5,347,85">
+<area shape="rect" id="node3" href="notify.html" title="notify" alt="" coords="7,445,143,843">
+<area shape="rect" id="node4" href="app.html" title="app" alt="" coords="227,103,347,183">
+<area shape="rect" id="node6" href="event.html" title="event" alt="" coords="227,200,347,280">
+<area shape="rect" id="node8" href="fserver.html" title="fserver" alt="" coords="225,297,348,377">
+<area shape="rect" id="node10" href="fsuggest.html" title="fsuggest" alt="" coords="224,395,349,475">
+<area shape="rect" id="node12" href="hook.html" title="hook" alt="" coords="227,492,347,572">
+<area shape="rect" id="node14" href="manage.html" title="manage" alt="" coords="224,589,349,669">
+<area shape="rect" id="node16" href="pconfig.html" title="pconfig" alt="" coords="217,687,356,767">
+<area shape="rect" id="node18" href="profile.html" title="profile" alt="" coords="227,784,347,864">
+<area shape="rect" id="node20" href="spam.html" title="spam" alt="" coords="188,881,385,1079">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/spam.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/sys_perms.html b/hubzilla_er/tables/sys_perms.html
new file mode 100644
index 000000000..672b98166
--- /dev/null
+++ b/hubzilla_er/tables/sys_perms.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.sys_perms</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='sys_perms';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>sys_perms</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="sys_perms.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="sys_perms.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='cache.html'>cache</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>public_perm</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="sys_perms.html" title="sys_perms" alt="" coords="7,5,284,181">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/sys_perms.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="263,1465,383,1545">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="9,931,135,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="259,1660,387,1740">
+<area shape="rect" id="node7" href="cache.html" title="cache" alt="" coords="5,1759,139,1884">
+<area shape="rect" id="node8" href="conv.html" title="conv" alt="" coords="263,5,383,85">
+<area shape="rect" id="node10" href="fcontact.html" title="fcontact" alt="" coords="261,103,384,183">
+<area shape="rect" id="node12" href="ffinder.html" title="ffinder" alt="" coords="263,200,383,280">
+<area shape="rect" id="node14" href="group_member.html" title="group_member" alt="" coords="249,297,396,377">
+<area shape="rect" id="node16" href="groups.html" title="groups" alt="" coords="261,395,384,475">
+<area shape="rect" id="node18" href="item.html" title="item" alt="" coords="248,492,397,572">
+<area shape="rect" id="node20" href="item_id.html" title="item_id" alt="" coords="265,589,380,669">
+<area shape="rect" id="node22" href="likes.html" title="likes" alt="" coords="263,687,383,767">
+<area shape="rect" id="node24" href="mail.html" title="mail" alt="" coords="263,784,383,864">
+<area shape="rect" id="node26" href="pconfig.html" title="pconfig" alt="" coords="253,2048,392,2128">
+<area shape="rect" id="node28" href="photo.html" title="photo" alt="" coords="248,881,397,961">
+<area shape="rect" id="node30" href="profdef.html" title="profdef" alt="" coords="261,979,384,1059">
+<area shape="rect" id="node32" href="profext.html" title="profext" alt="" coords="261,1757,384,1837">
+<area shape="rect" id="node35" href="profile_check.html" title="profile_check" alt="" coords="253,1076,392,1156">
+<area shape="rect" id="node37" href="register.html" title="register" alt="" coords="261,1173,384,1253">
+<area shape="rect" id="node39" href="sign.html" title="sign" alt="" coords="263,1271,383,1351">
+<area shape="rect" id="node41" href="sys_perms.html" title="sys_perms" alt="" coords="184,1855,461,2031">
+<area shape="rect" id="node44" href="xconfig.html" title="xconfig" alt="" coords="261,1563,384,1643">
+<area shape="rect" id="node47" href="xign.html" title="xign" alt="" coords="263,1368,383,1448">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/sys_perms.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/term.html b/hubzilla_er/tables/term.html
new file mode 100644
index 000000000..5f1039d06
--- /dev/null
+++ b/hubzilla_er/tables/term.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.term</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='term';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>term</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>tid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>aid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>oid</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>otype</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>imgurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>term_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>parent_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='11 columns'>Table contained 7 585 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>tid</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>aid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>aid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>imgurl</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>imgurl</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>oid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>oid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>otype</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>otype</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>parent_hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>parent_hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>term</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>term</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>term_hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>term_hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>type</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/tokens.html b/hubzilla_er/tables/tokens.html
new file mode 100644
index 000000000..0217c4f11
--- /dev/null
+++ b/hubzilla_er/tables/tokens.html
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.tokens</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='tokens';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>tokens</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>40</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="auth_codes.id's name implies that it's a child of tokens.id, but it doesn't reference that column."><a href='auth_codes.html'>auth_codes</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+</td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>secret</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>client_id</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="tokens.client_id's name implies that it's a child of clients.client_id, but it doesn't reference that column."><a href='clients.html'>clients</a><span class='relatedKey'>.client_id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>expires</td>
+ <td class='detail'>bigint unsigned</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>scope</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>200</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>client_id</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>client_id</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>expires</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>expires</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="tokens.html" title="tokens" alt="" coords="5,5,245,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/tokens.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="auth_codes.html" title="auth_codes" alt="" coords="468,88,599,259">
+<area shape="rect" id="node3" href="clients.html" title="clients" alt="" coords="7,121,137,314">
+<area shape="rect" id="node5" href="tokens.html" title="tokens" alt="" coords="183,5,423,203">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/tokens.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/updates.html b/hubzilla_er/tables/updates.html
new file mode 100644
index 000000000..78d0b01ad
--- /dev/null
+++ b/hubzilla_er/tables/updates.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.updates</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='updates';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>updates</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>ud_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>ud_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>128</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>ud_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>ud_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>ud_last</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>ud_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>ud_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='7 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>ud_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ud_addr</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ud_addr</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ud_date</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ud_date</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ud_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ud_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ud_guid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ud_guid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ud_hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ud_hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>ud_last</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>ud_last</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/verify.html b/hubzilla_er/tables/verify.html
new file mode 100644
index 000000000..e01eb4f62
--- /dev/null
+++ b/hubzilla_er/tables/verify.html
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.verify</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='verify';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>verify</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="attach.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='attach.html'>attach</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="config.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='config.html'>config</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="conv.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='conv.html'>conv</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="fcontact.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='fcontact.html'>fcontact</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="ffinder.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='ffinder.html'>ffinder</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="group_member.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='group_member.html'>group_member</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="groups.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='groups.html'>groups</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="item.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='item.html'>item</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="item_id.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='item_id.html'>item_id</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="likes.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='likes.html'>likes</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="mail.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='mail.html'>mail</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="photo.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='photo.html'>photo</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="profdef.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='profdef.html'>profdef</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="profext.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='profext.html'>profext</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="profile_check.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='profile_check.html'>profile_check</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="register.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='register.html'>register</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="sign.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='sign.html'>sign</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="sys_perms.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='sys_perms.html'>sys_perms</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="xconfig.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='xconfig.html'>xconfig</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="xign.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='xign.html'>xign</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+</td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>type</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>token</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>meta</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>created</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='6 columns'>Table contained 1 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>created</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>created</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>meta</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>meta</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>token</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>token</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>type</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>type</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="verify.html" title="verify" alt="" coords="7,5,217,203">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/verify.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="297,776,433,1355">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="7,2493,217,2691">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="301,6451,429,6599">
+<area shape="rect" id="node7" href="cache.html" title="cache" alt="" coords="48,6580,176,6660">
+<area shape="rect" id="node8" href="conv.html" title="conv" alt="" coords="303,1371,428,1610">
+<area shape="rect" id="node10" href="fcontact.html" title="fcontact" alt="" coords="303,1626,428,2046">
+<area shape="rect" id="node12" href="ffinder.html" title="ffinder" alt="" coords="305,2062,425,2210">
+<area shape="rect" id="node14" href="group_member.html" title="group_member" alt="" coords="292,2226,439,2374">
+<area shape="rect" id="node16" href="groups.html" title="groups" alt="" coords="304,2390,427,2583">
+<area shape="rect" id="node18" href="item.html" title="item" alt="" coords="264,2600,467,4312">
+<area shape="rect" id="node20" href="item_id.html" title="item_id" alt="" coords="308,4329,423,4500">
+<area shape="rect" id="node22" href="likes.html" title="likes" alt="" coords="300,5985,431,6247">
+<area shape="rect" id="node24" href="channel.html" title="channel" alt="" coords="51,6007,173,6087">
+<area shape="rect" id="node26" href="mail.html" title="mail" alt="" coords="293,5435,437,5968">
+<area shape="rect" id="node28" href="account.html" title="account" alt="" coords="53,5547,171,5627">
+<area shape="rect" id="node31" href="photo.html" title="photo" alt="" coords="284,4517,447,5209">
+<area shape="rect" id="node33" href="profdef.html" title="profdef" alt="" coords="300,5225,431,5418">
+<area shape="rect" id="node35" href="profext.html" title="profext" alt="" coords="300,6264,431,6435">
+<area shape="rect" id="node39" href="profile_check.html" title="profile_check" alt="" coords="296,5,435,198">
+<area shape="rect" id="node41" href="register.html" title="register" alt="" coords="301,214,429,407">
+<area shape="rect" id="node43" href="sign.html" title="sign" alt="" coords="300,423,431,617">
+<area shape="rect" id="node45" href="sys_perms.html" title="sys_perms" alt="" coords="299,6616,432,6787">
+<area shape="rect" id="node48" href="xconfig.html" title="xconfig" alt="" coords="304,6804,427,6975">
+<area shape="rect" id="node51" href="xign.html" title="xign" alt="" coords="305,633,425,759">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/verify.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/vote.html b/hubzilla_er/tables/vote.html
new file mode 100644
index 000000000..641c39857
--- /dev/null
+++ b/hubzilla_er/tables/vote.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.vote</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='vote';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>vote</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>vote_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>vote_poll</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>vote_element</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>vote_result</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>vote_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>vote_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>vote_element</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>vote_element</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>vote_poll</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>vote_poll</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>vote_poll + vote_element + vote_xchan</td>
+ <td class='detail'>Must be unique</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span>/<span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>vote_vote</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xchan.html b/hubzilla_er/tables/xchan.html
new file mode 100644
index 000000000..97be20010
--- /dev/null
+++ b/hubzilla_er/tables/xchan.html
@@ -0,0 +1,511 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xchan</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xchan';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xchan</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>xchan_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_guid</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>xchan_guid_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>xchan_pubkey</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>xchan_photo_mimetype</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>image/jpeg</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>xchan_photo_l</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>xchan_photo_m</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>xchan_photo_s</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchan_addr</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchan_connurl</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_follow</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>xchan_connpage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_name</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchan_network</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_instance_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchan_flags</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>xchan_photo_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>xchan_name_date</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_hidden</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchan_orphan</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_censored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchan_selfcensored</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_system</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchan_pubforum</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan_deleted</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='26 columns'>Table contained 1 168 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>xchan_hash</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_addr</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_addr</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_censored</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_censored</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_connurl</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_connurl</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_deleted</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_deleted</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_follow</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_follow</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_guid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_guid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_hidden</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_hidden</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_instance_url</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_instance_url</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_name</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_name</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_network</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_network</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_orphan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_orphan</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_pubforum</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_pubforum</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_selfcensored</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_selfcensored</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_system</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_system</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan_url</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan_url</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xchat.html b/hubzilla_er/tables/xchat.html
new file mode 100644
index 000000000..707f80199
--- /dev/null
+++ b/hubzilla_er/tables/xchat.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xchat</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xchat';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xchat</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>xchat_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchat_url</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchat_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchat_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xchat_edited</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>xchat_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchat_desc</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchat_desc</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchat_edited</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchat_edited</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchat_url</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchat_url</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchat_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchat_xchan</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xconfig.html b/hubzilla_er/tables/xconfig.html
new file mode 100644
index 000000000..c3e3c453a
--- /dev/null
+++ b/hubzilla_er/tables/xconfig.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xconfig</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xconfig';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xconfig</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative even' valign='top'>
+ <td class='relatedTable detail' title="xconfig.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>cat</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>k</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="xconfig.k's name implies that it's a child of cache.k, but it doesn't reference that column."><a href='cache.html'>cache</a><span class='relatedKey'>.k</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>v</td>
+ <td class='detail'>mediumtext</td>
+ <td class='detail' align='right'>16777215</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='5 columns'>Table contained 4 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>cat</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>cat</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>k</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>k</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="xconfig.html" title="xconfig" alt="" coords="5,5,269,181">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/xconfig.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="255,1465,375,1545">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="9,931,135,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="251,1756,379,1836">
+<area shape="rect" id="node7" href="cache.html" title="cache" alt="" coords="5,1855,139,1980">
+<area shape="rect" id="node8" href="conv.html" title="conv" alt="" coords="255,5,375,85">
+<area shape="rect" id="node10" href="fcontact.html" title="fcontact" alt="" coords="253,103,376,183">
+<area shape="rect" id="node12" href="ffinder.html" title="ffinder" alt="" coords="255,200,375,280">
+<area shape="rect" id="node14" href="group_member.html" title="group_member" alt="" coords="241,297,388,377">
+<area shape="rect" id="node16" href="groups.html" title="groups" alt="" coords="253,395,376,475">
+<area shape="rect" id="node18" href="item.html" title="item" alt="" coords="240,492,389,572">
+<area shape="rect" id="node20" href="item_id.html" title="item_id" alt="" coords="257,589,372,669">
+<area shape="rect" id="node22" href="likes.html" title="likes" alt="" coords="255,687,375,767">
+<area shape="rect" id="node24" href="mail.html" title="mail" alt="" coords="255,784,375,864">
+<area shape="rect" id="node26" href="pconfig.html" title="pconfig" alt="" coords="245,2048,384,2128">
+<area shape="rect" id="node28" href="photo.html" title="photo" alt="" coords="240,881,389,961">
+<area shape="rect" id="node30" href="profdef.html" title="profdef" alt="" coords="253,979,376,1059">
+<area shape="rect" id="node32" href="profext.html" title="profext" alt="" coords="253,1853,376,1933">
+<area shape="rect" id="node35" href="profile_check.html" title="profile_check" alt="" coords="245,1076,384,1156">
+<area shape="rect" id="node37" href="register.html" title="register" alt="" coords="253,1173,376,1253">
+<area shape="rect" id="node39" href="sign.html" title="sign" alt="" coords="255,1271,375,1351">
+<area shape="rect" id="node41" href="sys_perms.html" title="sys_perms" alt="" coords="249,1951,380,2031">
+<area shape="rect" id="node44" href="xconfig.html" title="xconfig" alt="" coords="183,1563,447,1739">
+<area shape="rect" id="node47" href="xign.html" title="xign" alt="" coords="255,1368,375,1448">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/xconfig.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xign.html b/hubzilla_er/tables/xign.html
new file mode 100644
index 000000000..a8d430c34
--- /dev/null
+++ b/hubzilla_er/tables/xign.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xign</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xign';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xign</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='implied'><input type=checkbox id='implied' checked>Implied relationships</label>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'>
+ <table border='0' width='100%' cellspacing='0' cellpadding='0'>
+ <tr class='impliedRelationship relative odd' valign='top'>
+ <td class='relatedTable detail' title="xign.id's name implies that it's a child of verify.id, but it doesn't reference that column."><a href='verify.html'>verify</a><span class='relatedKey'>.id</span>
+ </td>
+ <td class='constraint detail'>Implied Constraint<span title='Restrict delete:
+ Parent cannot be deleted if children exist'>&nbsp;R</span></td>
+ </tr>
+ </table>
+ </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>uid</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='3 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>uid</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>uid</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xchan</td>
+ </tr>
+</table>
+</div>
+<table width='100%' border='0'><tr><td class='container'>
+<br><form action='get'><b>Close relationships:</b></form><map id="oneDegreeRelationshipsDiagram" name="oneDegreeRelationshipsDiagram">
+<area shape="rect" id="node1" href="xign.html" title="xign" alt="" coords="5,5,224,136">
+</map>
+ <a name='diagram'><img id='oneDegreeImg' src='../diagrams/xign.1degree.png' usemap='#oneDegreeRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+<map id="impliedTwoDegreesRelationshipsDiagram" name="impliedTwoDegreesRelationshipsDiagram">
+<area shape="rect" id="node1" href="attach.html" title="attach" alt="" coords="224,5,344,85">
+<area shape="rect" id="node3" href="verify.html" title="verify" alt="" coords="5,931,131,1125">
+<area shape="rect" id="node4" href="config.html" title="config" alt="" coords="220,103,348,183">
+<area shape="rect" id="node6" href="conv.html" title="conv" alt="" coords="224,200,344,280">
+<area shape="rect" id="node8" href="fcontact.html" title="fcontact" alt="" coords="223,297,345,377">
+<area shape="rect" id="node10" href="ffinder.html" title="ffinder" alt="" coords="224,395,344,475">
+<area shape="rect" id="node12" href="group_member.html" title="group_member" alt="" coords="211,492,357,572">
+<area shape="rect" id="node14" href="groups.html" title="groups" alt="" coords="223,589,345,669">
+<area shape="rect" id="node16" href="item.html" title="item" alt="" coords="209,687,359,767">
+<area shape="rect" id="node18" href="item_id.html" title="item_id" alt="" coords="227,784,341,864">
+<area shape="rect" id="node20" href="likes.html" title="likes" alt="" coords="224,881,344,961">
+<area shape="rect" id="node22" href="mail.html" title="mail" alt="" coords="224,979,344,1059">
+<area shape="rect" id="node24" href="photo.html" title="photo" alt="" coords="209,1076,359,1156">
+<area shape="rect" id="node26" href="profdef.html" title="profdef" alt="" coords="223,1173,345,1253">
+<area shape="rect" id="node28" href="profext.html" title="profext" alt="" coords="223,1271,345,1351">
+<area shape="rect" id="node30" href="profile_check.html" title="profile_check" alt="" coords="215,1368,353,1448">
+<area shape="rect" id="node32" href="register.html" title="register" alt="" coords="223,1465,345,1545">
+<area shape="rect" id="node34" href="sign.html" title="sign" alt="" coords="224,1563,344,1643">
+<area shape="rect" id="node36" href="sys_perms.html" title="sys_perms" alt="" coords="219,1660,349,1740">
+<area shape="rect" id="node38" href="xconfig.html" title="xconfig" alt="" coords="223,1757,345,1837">
+<area shape="rect" id="node40" href="xign.html" title="xign" alt="" coords="175,1855,393,1985">
+</map>
+
+ <a name='diagram'><img id='impliedTwoDegreesImg' src='../diagrams/xign.implied2degrees.png' usemap='#impliedTwoDegreesRelationshipsDiagram' class='diagram' border='0' alt='' align='left'></a>
+</td></tr></table>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xlink.html b/hubzilla_er/tables/xlink.html
new file mode 100644
index 000000000..8b4c81ad7
--- /dev/null
+++ b/hubzilla_er/tables/xlink.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xlink</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xlink';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xlink</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>xlink_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xlink_xchan</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xlink_link</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xlink_rating</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>xlink_rating_text</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xlink_updated</td>
+ <td class='detail'>datetime</td>
+ <td class='detail' align='right'>19</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0000-00-00 00:00:00</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xlink_static</td>
+ <td class='detail'>bit</td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>xlink_sig</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='8 columns'>Table contained 244 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>xlink_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xlink_link</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xlink_link</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xlink_rating</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xlink_rating</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xlink_static</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xlink_static</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xlink_updated</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xlink_updated</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xlink_xchan</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xlink_xchan</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xperm.html b/hubzilla_er/tables/xperm.html
new file mode 100644
index 000000000..466a84bfa
--- /dev/null
+++ b/hubzilla_er/tables/xperm.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xperm</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xperm';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xperm</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>xp_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xp_client</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>20</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xp_channel</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xp_perm</td>
+ <td class='detail'>varchar</td>
+ <td class='detail' align='right'>64</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>xp_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xp_channel</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xp_channel</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xp_client</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xp_client</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xp_perm</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xp_perm</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xprof.html b/hubzilla_er/tables/xprof.html
new file mode 100644
index 000000000..c5d7695fb
--- /dev/null
+++ b/hubzilla_er/tables/xprof.html
@@ -0,0 +1,360 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xprof</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xprof';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xprof</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='even'>
+ <td class='primaryKey' title='Primary Key'>xprof_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xprof_age</td>
+ <td class='detail'>tinyint unsigned</td>
+ <td class='detail' align='right'>3</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xprof_desc</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xprof_dob</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>12</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xprof_gender</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xprof_marital</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xprof_sexual</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xprof_locale</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xprof_region</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xprof_postcode</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>32</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xprof_country</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>xprof_keywords</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='detail'>xprof_about</td>
+ <td class='detail'>text</td>
+ <td class='detail' align='right'>65535</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='detail'>xprof_homepage</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xprof_hometown</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='15 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>xprof_hash</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_age</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_age</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_country</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_country</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_desc</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_desc</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_dob</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_dob</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_gender</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_gender</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_hometown</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_hometown</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_locale</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_locale</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_marital</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_marital</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_postcode</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_postcode</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_region</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_region</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xprof_sexual</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xprof_sexual</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/tables/xtag.html b/hubzilla_er/tables/xtag.html
new file mode 100644
index 000000000..bdd04c26e
--- /dev/null
+++ b/hubzilla_er/tables/xtag.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - Table zot.xtag</title>
+ <link rel=stylesheet href='../schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='../schemaSpy.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
+ table='xtag';
+ </SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='../index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='../relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li><a href='../utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='../constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='../anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='../columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>Table <span title='Database'>zot</span>.<span title='Table'>xtag</span></span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table width='100%' border='0'>
+<tr valign='top'><td class='container' align='left' valign='top'>
+<form name='options' action=''>
+ <label for='showRelatedCols'><input type=checkbox id='showRelatedCols'>Related columns</label>
+ <label for='showConstNames'><input type=checkbox id='showConstNames'>Constraints</label>
+ <label for='showComments'><input type=checkbox id='showComments'>Comments</label>
+ <label for='showLegend'><input type=checkbox checked id='showLegend'>Legend</label>
+</form>
+</td><td class='container' rowspan='2' align='right' valign='top'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr class='impliedRelationship'><td class='detail'><span class='impliedRelationship'>Implied relationships</span></td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td><tr valign='top'><td class='container' align='left' valign='top'>
+<a name='columns'></a>
+<table id='columns' class='dataTable' border='1' rules='groups'>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup>
+<colgroup class='comment'>
+<thead align='left'>
+<tr>
+ <th>Column</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th title='Are nulls allowed?'>Nulls</th>
+ <th title='Is column automatically updated?'>Auto</th>
+ <th title='Default value'>Default</th>
+ <th title='Columns in tables that reference this column'><span class='notSortedByColumn'>Children</span></th>
+ <th title='Columns in tables that are referenced by this column'><span class='notSortedByColumn'>Parents</span></th>
+ <th title='Comments' class='comment'><span class='notSortedByColumn'>Comments</span></th>
+</tr>
+</thead>
+<tbody valign='top'>
+<tr class='odd'>
+ <td class='primaryKey' title='Primary Key'>xtag_id</td>
+ <td class='detail'>int unsigned</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center' title='Automatically updated by the database'>&nbsp;&radic;&nbsp;</td>
+ <td class='detail'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xtag_hash</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='odd'>
+ <td class='indexedColumn' title='Indexed'>xtag_term</td>
+ <td class='detail'>char</td>
+ <td class='detail' align='right'>255</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'></td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+<tr class='even'>
+ <td class='indexedColumn' title='Indexed'>xtag_flags</td>
+ <td class='detail'>int</td>
+ <td class='detail' align='right'>10</td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='center'></td>
+ <td class='detail' align='right'>0</td>
+ <td class='detail'></td>
+ <td class='detail'> </td>
+ <td class='comment detail'></td>
+</tr>
+</table>
+<p title='4 columns'>Table contained 0 rows at on aug 19 21:08 CEST 2015<p/>
+</td></tr></table>
+<div class='indent'>
+<b>Indexes:</b>
+<table class='dataTable' border='1' rules='groups'><colgroup><colgroup><colgroup><colgroup>
+<thead>
+ <tr>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Sort</th>
+ <th class='constraint' style='text-align:left;'>Constraint Name</th>
+ </tr>
+</thead>
+<tbody>
+ <tr>
+ <td class='primaryKey'>xtag_id</td>
+ <td class='detail'>Primary key</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>PRIMARY</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xtag_flags</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xtag_flags</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xtag_hash</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xtag_hash</td>
+ </tr>
+ <tr>
+ <td class='indexedColumn'>xtag_term</td>
+ <td class='detail'>Performance</td>
+ <td class='detail' style='text-align:left;'><span title='Ascending'>Asc</span></td>
+ <td class='constraint' style='text-align:left;'>xtag_term</td>
+ </tr>
+</table>
+</div>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/updateschemaspy.sh b/hubzilla_er/updateschemaspy.sh
new file mode 100755
index 000000000..271591729
--- /dev/null
+++ b/hubzilla_er/updateschemaspy.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+# Use schemaSpy to generate HTML-reports about tables in Hubzilla running on OpenShift.
+# You will need to port-forward your app on OpenShift, like this
+# rhc port-forward zot
+java -jar /home/haakon/Nedlastinger/schemaSpy_5.0.0.jar -t mysql -host 127.0.0.1:3306 -db zot -u adminkwvcHXy -p g66nhPmZ9b52 -dp /home/haakon/Nedlastinger/mysql-connector-java-5.1.17.jar -o .
diff --git a/hubzilla_er/utilities.html b/hubzilla_er/utilities.html
new file mode 100644
index 000000000..647e748ab
--- /dev/null
+++ b/hubzilla_er/utilities.html
@@ -0,0 +1,334 @@
+<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html>
+<head>
+ <!-- SchemaSpy rev 590 -->
+ <title>SchemaSpy - zot - Utility Tables</title>
+ <link rel=stylesheet href='schemaSpy.css' type='text/css'>
+ <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='jquery.js'></SCRIPT>
+ <SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript' SRC='schemaSpy.js'></SCRIPT>
+</head>
+<body>
+<table id='headerHolder' cellspacing='0' cellpadding='0'><tr><td>
+<div id='header'>
+ <ul>
+ <li><a href='index.html' title='All tables and views in the schema'>Tables</a></li>
+ <li><a href='relationships.html' title='Diagram of table relationships'>Relationships</a></li>
+ <li id='current'><a href='utilities.html' title='View of tables with neither parents nor children'>Utility&nbsp;Tables</a></li>
+ <li><a href='constraints.html' title='Useful for diagnosing error messages that just give constraint name or number'>Constraints</a></li>
+ <li><a href='anomalies.html' title="Things that might not be quite right">Anomalies</a></li>
+ <li><a href='columns.byTable.html' title="All of the columns in the schema">Columns</a></li>
+ <li><a href='http://sourceforge.net/donate/index.php?group_id=137197' title='Please help keep SchemaSpy alive' target='_blank'>Donate</a></li>
+ </ul>
+</div>
+</td></tr></table>
+<div class='content' style='clear:both;'>
+<table width='100%' border='0' cellpadding='0'>
+ <tr>
+ <td class='heading' valign='middle'><span class='header'>SchemaSpy Analysis of <span title='Database'>zot</span> - Utility Tables</span></td>
+ <td class='heading' align='right' valign='top' title='John Currier - Creator of Cool Tools'><span class='indent'>Generated by</span><br><span class='indent'><span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span></span></td>
+ </tr>
+</table>
+<table class='container' width='100%'>
+<tr><td class='container'>
+<span class='container'>Generated by <span class='signature'><a href='http://schemaspy.sourceforge.net' target='_blank'>SchemaSpy</a></span> on on aug 19 21:08 CEST 2015</span>
+</td>
+<td class='container' align='right' valign='top' rowspan='2'>
+ <table class='legend' border='0'>
+ <tr>
+ <td class='dataTable' valign='bottom'>Legend:</td>
+ <td class='container' align='right' valign='top'><a href='http://sourceforge.net' target='_blank'><img src='http://sourceforge.net/sflogo.php?group_id=137197&amp;type=1' alt='SourceForge.net' border='0' height='31' width='88'></a></td>
+ </tr>
+ <tr><td class='container' colspan='2'>
+ <table class='dataTable' border='1'>
+ <tbody>
+ <tr><td class='primaryKey'>Primary key columns</td></tr>
+ <tr><td class='indexedColumn'>Columns with indexes</td></tr>
+ <tr><td class='excludedColumn'>Excluded column relationships</td></tr>
+ <tr class='impliedRelationship'><td class='legendDetail'>Dashed lines show implied relationships</td></tr>
+ <tr><td class='legendDetail'>&lt; <em>n</em> &gt; number of related tables</td></tr>
+ </table>
+ </td></tr>
+ </table>
+<div style="margin-right: 2pt;">
+<script type="text/javascript"><!--
+google_ad_client = "pub-9598353634003340";
+google_ad_channel ="SchemaSpy-generated";
+google_ad_width = 234;
+google_ad_height = 60;
+google_ad_format = "234x60_as";
+google_ad_type = "text";
+google_color_border = "9bab96";
+google_color_link = "489148";
+google_color_text = "000000";
+//-->
+</script>
+<script type="text/javascript"
+src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
+</div>
+&nbsp;
+</td></tr>
+<tr><td class='container' align='left' valign='top'>
+<form action=''>
+ <label for='removeImpliedOrphans'><input type=checkbox id='removeImpliedOrphans'>
+ Hide tables with implied relationships</label>
+</form>
+</td></tr></table>
+<a name='diagram'>
+ <img src='diagrams/summary/abook.1degree.png' usemap='#abook' border='0' alt='' align='top'>
+ <img src='diagrams/summary/account.1degree.png' usemap='#account' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/addon.1degree.png' usemap='#addon' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/app.1degree.png' usemap='#app' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/attach.1degree.png' usemap='#attach' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/auth_codes.1degree.png' usemap='#auth_codes' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/cache.1degree.png' usemap='#cache' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/channel.1degree.png' usemap='#channel' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/chat.1degree.png' usemap='#chat' border='0' alt='' align='top'>
+ <img src='diagrams/summary/chatpresence.1degree.png' usemap='#chatpresence' border='0' alt='' align='top'>
+ <img src='diagrams/summary/chatroom.1degree.png' usemap='#chatroom' border='0' alt='' align='top'>
+ <img src='diagrams/summary/clients.1degree.png' usemap='#clients' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/config.1degree.png' usemap='#config' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/conv.1degree.png' usemap='#conv' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/event.1degree.png' usemap='#event' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/fcontact.1degree.png' usemap='#fcontact' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/ffinder.1degree.png' usemap='#ffinder' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/fserver.1degree.png' usemap='#fserver' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/fsuggest.1degree.png' usemap='#fsuggest' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/group_member.1degree.png' usemap='#group_member' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/groups.1degree.png' usemap='#groups' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/hook.1degree.png' usemap='#hook' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/hubloc.1degree.png' usemap='#hubloc' border='0' alt='' align='top'>
+ <img src='diagrams/summary/issue.1degree.png' usemap='#issue' border='0' alt='' align='top'>
+ <img src='diagrams/summary/item.1degree.png' usemap='#item' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/item_id.1degree.png' usemap='#item_id' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/likes.1degree.png' usemap='#likes' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/mail.1degree.png' usemap='#mail' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/manage.1degree.png' usemap='#manage' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/menu.1degree.png' usemap='#menu' border='0' alt='' align='top'>
+ <img src='diagrams/summary/menu_item.1degree.png' usemap='#menu_item' border='0' alt='' align='top'>
+ <img src='diagrams/summary/notify.1degree.png' usemap='#notify' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/obj.1degree.png' usemap='#obj' border='0' alt='' align='top'>
+ <img src='diagrams/summary/outq.1degree.png' usemap='#outq' border='0' alt='' align='top'>
+ <img src='diagrams/summary/pconfig.1degree.png' usemap='#pconfig' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/photo.1degree.png' usemap='#photo' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/poll.1degree.png' usemap='#poll' border='0' alt='' align='top'>
+ <img src='diagrams/summary/poll_elm.1degree.png' usemap='#poll_elm' border='0' alt='' align='top'>
+ <img src='diagrams/summary/profdef.1degree.png' usemap='#profdef' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/profext.1degree.png' usemap='#profext' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/profile.1degree.png' usemap='#profile' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/profile_check.1degree.png' usemap='#profile_check' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/register.1degree.png' usemap='#register' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/session.1degree.png' usemap='#session' border='0' alt='' align='top'>
+ <img src='diagrams/summary/shares.1degree.png' usemap='#shares' border='0' alt='' align='top'>
+ <img src='diagrams/summary/sign.1degree.png' usemap='#sign' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/site.1degree.png' usemap='#site' border='0' alt='' align='top'>
+ <img src='diagrams/summary/source.1degree.png' usemap='#source' border='0' alt='' align='top'>
+ <img src='diagrams/summary/spam.1degree.png' usemap='#spam' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/sys_perms.1degree.png' usemap='#sys_perms' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/term.1degree.png' usemap='#term' border='0' alt='' align='top'>
+ <img src='diagrams/summary/tokens.1degree.png' usemap='#tokens' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/updates.1degree.png' usemap='#updates' border='0' alt='' align='top'>
+ <img src='diagrams/summary/verify.1degree.png' usemap='#verify' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/vote.1degree.png' usemap='#vote' border='0' alt='' align='top'>
+ <img src='diagrams/summary/xchan.1degree.png' usemap='#xchan' border='0' alt='' align='top'>
+ <img src='diagrams/summary/xchat.1degree.png' usemap='#xchat' border='0' alt='' align='top'>
+ <img src='diagrams/summary/xconfig.1degree.png' usemap='#xconfig' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/xign.1degree.png' usemap='#xign' border='0' alt='' align='top' class='impliedNotOrphan'>
+ <img src='diagrams/summary/xlink.1degree.png' usemap='#xlink' border='0' alt='' align='top'>
+ <img src='diagrams/summary/xperm.1degree.png' usemap='#xperm' border='0' alt='' align='top'>
+ <img src='diagrams/summary/xprof.1degree.png' usemap='#xprof' border='0' alt='' align='top'>
+ <img src='diagrams/summary/xtag.1degree.png' usemap='#xtag' border='0' alt='' align='top'>
+<map id="abook" name="abook">
+<area shape="rect" id="node1" href="tables/abook.html" title="abook" alt="" coords="5,5,181,584">
+</map>
+<map id="account" name="account">
+<area shape="rect" id="node1" href="tables/account.html" title="account" alt="" coords="7,5,220,470">
+</map>
+<map id="addon" name="addon">
+<area shape="rect" id="node1" href="tables/addon.html" title="addon" alt="" coords="5,5,144,221">
+</map>
+<map id="app" name="app">
+<area shape="rect" id="node1" href="tables/app.html" title="app" alt="" coords="5,5,144,379">
+</map>
+<map id="attach" name="attach">
+<area shape="rect" id="node1" href="tables/attach.html" title="attach" alt="" coords="5,5,141,584">
+</map>
+<map id="auth_codes" name="auth_codes">
+<area shape="rect" id="node1" href="tables/auth_codes.html" title="auth_codes" alt="" coords="5,5,136,176">
+</map>
+<map id="cache" name="cache">
+<area shape="rect" id="node1" href="tables/cache.html" title="cache" alt="" coords="5,5,131,131">
+</map>
+<map id="channel" name="channel">
+<area shape="rect" id="node1" href="tables/channel.html" title="channel" alt="" coords="7,5,196,1150">
+</map>
+<map id="chat" name="chat">
+<area shape="rect" id="node1" href="tables/chat.html" title="chat" alt="" coords="5,5,136,176">
+</map>
+<map id="chatpresence" name="chatpresence">
+<area shape="rect" id="node1" href="tables/chatpresence.html" title="chatpresence" alt="" coords="7,5,137,198">
+</map>
+<map id="chatroom" name="chatroom">
+<area shape="rect" id="node1" href="tables/chatroom.html" title="chatroom" alt="" coords="5,5,133,312">
+</map>
+<map id="clients" name="clients">
+<area shape="rect" id="node1" href="tables/clients.html" title="clients" alt="" coords="5,5,136,198">
+</map>
+<map id="config" name="config">
+<area shape="rect" id="node1" href="tables/config.html" title="config" alt="" coords="5,5,123,153">
+</map>
+<map id="conv" name="conv">
+<area shape="rect" id="node1" href="tables/conv.html" title="conv" alt="" coords="5,5,123,243">
+</map>
+<map id="event" name="event">
+<area shape="rect" id="node1" href="tables/event.html" title="event" alt="" coords="5,5,165,629">
+</map>
+<map id="fcontact" name="fcontact">
+<area shape="rect" id="node1" href="tables/fcontact.html" title="fcontact" alt="" coords="5,5,123,425">
+</map>
+<map id="ffinder" name="ffinder">
+<area shape="rect" id="node1" href="tables/ffinder.html" title="ffinder" alt="" coords="5,5,115,153">
+</map>
+<map id="fserver" name="fserver">
+<area shape="rect" id="node1" href="tables/fserver.html" title="fserver" alt="" coords="5,5,117,153">
+</map>
+<map id="fsuggest" name="fsuggest">
+<area shape="rect" id="node1" href="tables/fsuggest.html" title="fsuggest" alt="" coords="5,5,123,267">
+</map>
+<map id="group_member" name="group_member">
+<area shape="rect" id="node1" href="tables/group_member.html" title="group_member" alt="" coords="5,5,152,153">
+</map>
+<map id="groups" name="groups">
+<area shape="rect" id="node1" href="tables/groups.html" title="groups" alt="" coords="5,5,117,198">
+</map>
+<map id="hook" name="hook">
+<area shape="rect" id="node1" href="tables/hook.html" title="hook" alt="" coords="5,5,120,176">
+</map>
+<map id="hubloc" name="hubloc">
+<area shape="rect" id="node1" href="tables/hubloc.html" title="hubloc" alt="" coords="7,5,204,515">
+</map>
+<map id="issue" name="issue">
+<area shape="rect" id="node1" href="tables/issue.html" title="issue" alt="" coords="5,5,163,221">
+</map>
+<map id="item" name="item">
+<area shape="rect" id="node1" href="tables/item.html" title="item" alt="" coords="7,5,209,1717">
+</map>
+<map id="item_id" name="item_id">
+<area shape="rect" id="node1" href="tables/item_id.html" title="item_id" alt="" coords="7,5,111,176">
+</map>
+<map id="likes" name="likes">
+<area shape="rect" id="node1" href="tables/likes.html" title="likes" alt="" coords="5,5,136,267">
+</map>
+<map id="mail" name="mail">
+<area shape="rect" id="node1" href="tables/mail.html" title="mail" alt="" coords="5,5,149,539">
+</map>
+<map id="manage" name="manage">
+<area shape="rect" id="node1" href="tables/manage.html" title="manage" alt="" coords="5,5,123,131">
+</map>
+<map id="menu" name="menu">
+<area shape="rect" id="node1" href="tables/menu.html" title="menu" alt="" coords="7,5,156,221">
+</map>
+<map id="menu_item" name="menu_item">
+<area shape="rect" id="node1" href="tables/menu_item.html" title="menu_item" alt="" coords="7,5,159,312">
+</map>
+<map id="notify" name="notify">
+<area shape="rect" id="node1" href="tables/notify.html" title="notify" alt="" coords="5,5,123,403">
+</map>
+<map id="obj" name="obj">
+<area shape="rect" id="node1" href="tables/obj.html" title="obj" alt="" coords="5,5,139,289">
+</map>
+<map id="outq" name="outq">
+<area shape="rect" id="node1" href="tables/outq.html" title="outq" alt="" coords="5,5,149,334">
+</map>
+<map id="pconfig" name="pconfig">
+<area shape="rect" id="node1" href="tables/pconfig.html" title="pconfig" alt="" coords="5,5,133,176">
+</map>
+<map id="photo" name="photo">
+<area shape="rect" id="node1" href="tables/photo.html" title="photo" alt="" coords="7,5,169,697">
+</map>
+<map id="poll" name="poll">
+<area shape="rect" id="node1" href="tables/poll.html" title="poll" alt="" coords="5,5,141,176">
+</map>
+<map id="poll_elm" name="poll_elm">
+<area shape="rect" id="node1" href="tables/poll_elm.html" title="poll_elm" alt="" coords="5,5,136,176">
+</map>
+<map id="profdef" name="profdef">
+<area shape="rect" id="node1" href="tables/profdef.html" title="profdef" alt="" coords="5,5,136,198">
+</map>
+<map id="profext" name="profext">
+<area shape="rect" id="node1" href="tables/profext.html" title="profext" alt="" coords="5,5,133,176">
+</map>
+<map id="profile" name="profile">
+<area shape="rect" id="node1" href="tables/profile.html" title="profile" alt="" coords="5,5,147,1059">
+</map>
+<map id="profile_check" name="profile_check">
+<area shape="rect" id="node1" href="tables/profile_check.html" title="profile_check" alt="" coords="5,5,144,198">
+</map>
+<map id="register" name="register">
+<area shape="rect" id="node1" href="tables/register.html" title="register" alt="" coords="5,5,128,198">
+</map>
+<map id="session" name="session">
+<area shape="rect" id="node1" href="tables/session.html" title="session" alt="" coords="5,5,128,153">
+</map>
+<map id="shares" name="shares">
+<area shape="rect" id="node1" href="tables/shares.html" title="shares" alt="" coords="5,5,141,153">
+</map>
+<map id="sign" name="sign">
+<area shape="rect" id="node1" href="tables/sign.html" title="sign" alt="" coords="5,5,136,198">
+</map>
+<map id="site" name="site">
+<area shape="rect" id="node1" href="tables/site.html" title="site" alt="" coords="5,5,160,357">
+</map>
+<map id="source" name="source">
+<area shape="rect" id="node1" href="tables/source.html" title="source" alt="" coords="5,5,168,176">
+</map>
+<map id="spam" name="spam">
+<area shape="rect" id="node1" href="tables/spam.html" title="spam" alt="" coords="5,5,115,198">
+</map>
+<map id="sys_perms" name="sys_perms">
+<area shape="rect" id="node1" href="tables/sys_perms.html" title="sys_perms" alt="" coords="5,5,139,176">
+</map>
+<map id="term" name="term">
+<area shape="rect" id="node1" href="tables/term.html" title="term" alt="" coords="7,5,169,312">
+</map>
+<map id="tokens" name="tokens">
+<area shape="rect" id="node1" href="tables/tokens.html" title="tokens" alt="" coords="5,5,123,198">
+</map>
+<map id="updates" name="updates">
+<area shape="rect" id="node1" href="tables/updates.html" title="updates" alt="" coords="5,5,123,221">
+</map>
+<map id="verify" name="verify">
+<area shape="rect" id="node1" href="tables/verify.html" title="verify" alt="" coords="7,5,113,198">
+</map>
+<map id="vote" name="vote">
+<area shape="rect" id="node1" href="tables/vote.html" title="vote" alt="" coords="5,5,144,176">
+</map>
+<map id="xchan" name="xchan">
+<area shape="rect" id="node1" href="tables/xchan.html" title="xchan" alt="" coords="7,5,217,651">
+</map>
+<map id="xchat" name="xchat">
+<area shape="rect" id="node1" href="tables/xchat.html" title="xchat" alt="" coords="5,5,141,176">
+</map>
+<map id="xconfig" name="xconfig">
+<area shape="rect" id="node1" href="tables/xconfig.html" title="xconfig" alt="" coords="5,5,117,176">
+</map>
+<map id="xign" name="xign">
+<area shape="rect" id="node1" href="tables/xign.html" title="xign" alt="" coords="5,5,115,131">
+</map>
+<map id="xlink" name="xlink">
+<area shape="rect" id="node1" href="tables/xlink.html" title="xlink" alt="" coords="5,5,171,243">
+</map>
+<map id="xperm" name="xperm">
+<area shape="rect" id="node1" href="tables/xperm.html" title="xperm" alt="" coords="5,5,136,153">
+</map>
+<map id="xprof" name="xprof">
+<area shape="rect" id="node1" href="tables/xprof.html" title="xprof" alt="" coords="5,5,160,403">
+</map>
+<map id="xtag" name="xtag">
+<area shape="rect" id="node1" href="tables/xtag.html" title="xtag" alt="" coords="5,5,131,153">
+</map>
+</a>
+</div>
+</body>
+</html>
diff --git a/hubzilla_er/zot.xml b/hubzilla_er/zot.xml
new file mode 100644
index 000000000..c1450b4fc
--- /dev/null
+++ b/hubzilla_er/zot.xml
@@ -0,0 +1,2477 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<database name="zot" type="MySQL - 5.5.45">
+ <tables>
+ <table name="abook" numRows="12" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="abook_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="abook_account" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="abook_channel" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="abook_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="abook_my_perms" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="abook_their_perms" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="99" digits="0" id="6" name="abook_closeness" nullable="false" remarks="" size="3" type="TINYINT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="7" name="abook_created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="8" name="abook_updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="9" name="abook_connected" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="10" name="abook_dob" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="11" name="abook_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="12" name="abook_blocked" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="13" name="abook_ignored" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="14" name="abook_hidden" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="15" name="abook_archived" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="16" name="abook_pending" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="17" name="abook_unconnected" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="18" name="abook_self" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="19" name="abook_feed" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="20" name="abook_profile" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="21" name="abook_incl" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="22" name="abook_excl" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <primaryKey column="abook_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="abook_id"/>
+ </index>
+ <index name="abook_account" unique="false">
+ <column ascending="true" name="abook_account"/>
+ </index>
+ <index name="abook_archived" unique="false">
+ <column ascending="true" name="abook_archived"/>
+ </index>
+ <index name="abook_blocked" unique="false">
+ <column ascending="true" name="abook_blocked"/>
+ </index>
+ <index name="abook_channel" unique="false">
+ <column ascending="true" name="abook_channel"/>
+ </index>
+ <index name="abook_closeness" unique="false">
+ <column ascending="true" name="abook_closeness"/>
+ </index>
+ <index name="abook_connected" unique="false">
+ <column ascending="true" name="abook_connected"/>
+ </index>
+ <index name="abook_created" unique="false">
+ <column ascending="true" name="abook_created"/>
+ </index>
+ <index name="abook_dob" unique="false">
+ <column ascending="true" name="abook_dob"/>
+ </index>
+ <index name="abook_feed" unique="false">
+ <column ascending="true" name="abook_feed"/>
+ </index>
+ <index name="abook_flags" unique="false">
+ <column ascending="true" name="abook_flags"/>
+ </index>
+ <index name="abook_hidden" unique="false">
+ <column ascending="true" name="abook_hidden"/>
+ </index>
+ <index name="abook_ignored" unique="false">
+ <column ascending="true" name="abook_ignored"/>
+ </index>
+ <index name="abook_my_perms" unique="false">
+ <column ascending="true" name="abook_my_perms"/>
+ </index>
+ <index name="abook_pending" unique="false">
+ <column ascending="true" name="abook_pending"/>
+ </index>
+ <index name="abook_profile" unique="false">
+ <column ascending="true" name="abook_profile"/>
+ </index>
+ <index name="abook_self" unique="false">
+ <column ascending="true" name="abook_self"/>
+ </index>
+ <index name="abook_their_perms" unique="false">
+ <column ascending="true" name="abook_their_perms"/>
+ </index>
+ <index name="abook_unconnected" unique="false">
+ <column ascending="true" name="abook_unconnected"/>
+ </index>
+ <index name="abook_updated" unique="false">
+ <column ascending="true" name="abook_updated"/>
+ </index>
+ <index name="abook_xchan" unique="false">
+ <column ascending="true" name="abook_xchan"/>
+ </index>
+ </table>
+ <table name="account" numRows="1" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="account_id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <child column="account_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="mail"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="account_parent" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="account_default_channel" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="account_salt" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="account_password" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="account_email" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="account_external" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="en" digits="0" id="7" name="account_language" nullable="false" remarks="" size="16" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="8" name="account_created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="9" name="account_lastlog" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="10" name="account_flags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="11" name="account_roles" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="12" name="account_reset" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="13" name="account_expires" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="14" name="account_expire_notified" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="15" name="account_service_class" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="16" name="account_level" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="17" name="account_password_changed" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="account_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="account_id"/>
+ </index>
+ <index name="account_default_channel" unique="false">
+ <column ascending="true" name="account_default_channel"/>
+ </index>
+ <index name="account_email" unique="false">
+ <column ascending="true" name="account_email"/>
+ </index>
+ <index name="account_expires" unique="false">
+ <column ascending="true" name="account_expires"/>
+ </index>
+ <index name="account_external" unique="false">
+ <column ascending="true" name="account_external"/>
+ </index>
+ <index name="account_flags" unique="false">
+ <column ascending="true" name="account_flags"/>
+ </index>
+ <index name="account_lastlog" unique="false">
+ <column ascending="true" name="account_lastlog"/>
+ </index>
+ <index name="account_level" unique="false">
+ <column ascending="true" name="account_level"/>
+ </index>
+ <index name="account_parent" unique="false">
+ <column ascending="true" name="account_parent"/>
+ </index>
+ <index name="account_password_changed" unique="false">
+ <column ascending="true" name="account_password_changed"/>
+ </index>
+ <index name="account_roles" unique="false">
+ <column ascending="true" name="account_roles"/>
+ </index>
+ <index name="account_service_class" unique="false">
+ <column ascending="true" name="account_service_class"/>
+ </index>
+ </table>
+ <table name="addon" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="version" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="installed" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="hidden" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="timestamp" nullable="false" remarks="" size="19" type="BIGINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="6" name="plugin_admin" nullable="false" remarks="" size="0" type="BIT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="hidden" unique="false">
+ <column ascending="true" name="hidden"/>
+ </index>
+ <index name="installed" unique="false">
+ <column ascending="true" name="installed"/>
+ </index>
+ <index name="name" unique="false">
+ <column ascending="true" name="name"/>
+ </index>
+ </table>
+ <table name="app" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="app_id" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="app_sig" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="app_author" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="app_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="5" name="app_desc" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="app_url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="app_photo" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="8" name="app_version" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="9" name="app_channel" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="app_addr" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="11" name="app_price" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="12" name="app_page" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="13" name="app_requires" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="app_channel" unique="false">
+ <column ascending="true" name="app_channel"/>
+ </index>
+ <index name="app_id" unique="false">
+ <column ascending="true" name="app_id"/>
+ </index>
+ <index name="app_name" unique="false">
+ <column ascending="true" name="app_name"/>
+ </index>
+ <index name="app_photo" unique="false">
+ <column ascending="true" name="app_photo"/>
+ </index>
+ <index name="app_price" unique="false">
+ <column ascending="true" name="app_price"/>
+ </index>
+ <index name="app_url" unique="false">
+ <column ascending="true" name="app_url"/>
+ </index>
+ <index name="app_version" unique="false">
+ <column ascending="true" name="app_version"/>
+ </index>
+ </table>
+ <table name="attach" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="aid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="hash" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="creator" nullable="false" remarks="" size="128" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="filename" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="filetype" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="7" name="filesize" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="8" name="revision" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="folder" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="10" name="flags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="11" name="is_dir" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="12" name="is_photo" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="13" name="os_storage" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" digits="0" id="14" name="os_path" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="15" name="display_path" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="16" name="data" nullable="false" remarks="" size="2147483647" type="LONGBLOB"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="17" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="18" name="edited" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" digits="0" id="19" name="allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="20" name="allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="21" name="deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="22" name="deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="aid" unique="false">
+ <column ascending="true" name="aid"/>
+ </index>
+ <index name="created" unique="false">
+ <column ascending="true" name="created"/>
+ </index>
+ <index name="creator" unique="false">
+ <column ascending="true" name="creator"/>
+ </index>
+ <index name="edited" unique="false">
+ <column ascending="true" name="edited"/>
+ </index>
+ <index name="filename" unique="false">
+ <column ascending="true" name="filename"/>
+ </index>
+ <index name="filesize" unique="false">
+ <column ascending="true" name="filesize"/>
+ </index>
+ <index name="filetype" unique="false">
+ <column ascending="true" name="filetype"/>
+ </index>
+ <index name="flags" unique="false">
+ <column ascending="true" name="flags"/>
+ </index>
+ <index name="folder" unique="false">
+ <column ascending="true" name="folder"/>
+ </index>
+ <index name="hash" unique="false">
+ <column ascending="true" name="hash"/>
+ </index>
+ <index name="is_dir" unique="false">
+ <column ascending="true" name="is_dir"/>
+ </index>
+ <index name="is_photo" unique="false">
+ <column ascending="true" name="is_photo"/>
+ </index>
+ <index name="os_storage" unique="false">
+ <column ascending="true" name="os_storage"/>
+ </index>
+ <index name="revision" unique="false">
+ <column ascending="true" name="revision"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="auth_codes" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="false" defaultValue="" digits="0" id="0" name="id" nullable="false" remarks="" size="40" type="VARCHAR">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="tokens"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="client_id" nullable="false" remarks="" size="20" type="VARCHAR">
+ <parent column="client_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="clients"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="redirect_uri" nullable="false" remarks="" size="200" type="VARCHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="expires" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="scope" nullable="false" remarks="" size="250" type="VARCHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ </table>
+ <table name="cache" numRows="21" remarks="" type="TABLE">
+ <column autoUpdated="false" defaultValue="" digits="0" id="0" name="k" nullable="false" remarks="" size="255" type="CHAR">
+ <child column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="config"/>
+ <child column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="pconfig"/>
+ <child column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="profext"/>
+ <child column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="sys_perms"/>
+ <child column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="xconfig"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="1" name="v" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="2" name="updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="k" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="k"/>
+ </index>
+ </table>
+ <table name="channel" numRows="5" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="channel_id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <child column="channel_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="likes"/>
+ <child column="channel_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="mail"/>
+ <child column="channel_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="profext"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="channel_account_id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <foreignKey table="account" column="account_id"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="channel_primary" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="channel_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="channel_address" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="channel_guid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="6" name="channel_guid_sig" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="channel_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="UTC" digits="0" id="8" name="channel_timezone" nullable="false" remarks="" size="128" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="channel_location" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="channel_theme" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="11" name="channel_startpage" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="12" name="channel_pubkey" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="13" name="channel_prvkey" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="65535" digits="0" id="14" name="channel_notifyflags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="15" name="channel_pageflags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="16" name="channel_dirdate" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="17" name="channel_lastpost" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="18" name="channel_deleted" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="10" digits="0" id="19" name="channel_max_anon_mail" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="10" digits="0" id="20" name="channel_max_friend_req" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="21" name="channel_expire_days" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="22" name="channel_passwd_reset" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="23" name="channel_default_group" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="24" name="channel_allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="25" name="channel_allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="26" name="channel_deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="27" name="channel_deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="28" name="channel_r_stream" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="29" name="channel_r_profile" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="30" name="channel_r_photos" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="31" name="channel_r_abook" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="32" name="channel_w_stream" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="33" name="channel_w_wall" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="34" name="channel_w_tagwall" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="35" name="channel_w_comment" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="36" name="channel_w_mail" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="37" name="channel_w_photos" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="38" name="channel_w_chat" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="39" name="channel_a_delegate" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="40" name="channel_r_storage" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="41" name="channel_w_storage" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="42" name="channel_r_pages" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="43" name="channel_w_pages" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="44" name="channel_a_republish" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="45" name="channel_w_like" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="46" name="channel_removed" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="47" name="channel_system" nullable="false" remarks="" size="0" type="BIT"/>
+ <primaryKey column="channel_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="channel_id"/>
+ </index>
+ <index name="channel_a_delegate" unique="false">
+ <column ascending="true" name="channel_a_delegate"/>
+ </index>
+ <index name="channel_a_republish" unique="false">
+ <column ascending="true" name="channel_a_republish"/>
+ </index>
+ <index name="channel_account_id" unique="false">
+ <column ascending="true" name="channel_account_id"/>
+ </index>
+ <index name="channel_address_unique" unique="true">
+ <column ascending="true" name="channel_address"/>
+ </index>
+ <index name="channel_default_gid" unique="false">
+ <column ascending="true" name="channel_default_group"/>
+ </index>
+ <index name="channel_deleted" unique="false">
+ <column ascending="true" name="channel_deleted"/>
+ </index>
+ <index name="channel_dirdate" unique="false">
+ <column ascending="true" name="channel_dirdate"/>
+ </index>
+ <index name="channel_expire_days" unique="false">
+ <column ascending="true" name="channel_expire_days"/>
+ </index>
+ <index name="channel_guid" unique="false">
+ <column ascending="true" name="channel_guid"/>
+ </index>
+ <index name="channel_hash" unique="false">
+ <column ascending="true" name="channel_hash"/>
+ </index>
+ <index name="channel_lastpost" unique="false">
+ <column ascending="true" name="channel_lastpost"/>
+ </index>
+ <index name="channel_location" unique="false">
+ <column ascending="true" name="channel_location"/>
+ </index>
+ <index name="channel_max_anon_mail" unique="false">
+ <column ascending="true" name="channel_max_anon_mail"/>
+ </index>
+ <index name="channel_max_friend_req" unique="false">
+ <column ascending="true" name="channel_max_friend_req"/>
+ </index>
+ <index name="channel_name" unique="false">
+ <column ascending="true" name="channel_name"/>
+ </index>
+ <index name="channel_notifyflags" unique="false">
+ <column ascending="true" name="channel_notifyflags"/>
+ </index>
+ <index name="channel_pageflags" unique="false">
+ <column ascending="true" name="channel_pageflags"/>
+ </index>
+ <index name="channel_primary" unique="false">
+ <column ascending="true" name="channel_primary"/>
+ </index>
+ <index name="channel_r_abook" unique="false">
+ <column ascending="true" name="channel_r_abook"/>
+ </index>
+ <index name="channel_r_pages" unique="false">
+ <column ascending="true" name="channel_r_pages"/>
+ </index>
+ <index name="channel_r_photos" unique="false">
+ <column ascending="true" name="channel_r_photos"/>
+ </index>
+ <index name="channel_r_profile" unique="false">
+ <column ascending="true" name="channel_r_profile"/>
+ </index>
+ <index name="channel_r_storage" unique="false">
+ <column ascending="true" name="channel_r_storage"/>
+ </index>
+ <index name="channel_r_stream" unique="false">
+ <column ascending="true" name="channel_r_stream"/>
+ </index>
+ <index name="channel_removed" unique="false">
+ <column ascending="true" name="channel_removed"/>
+ </index>
+ <index name="channel_system" unique="false">
+ <column ascending="true" name="channel_system"/>
+ </index>
+ <index name="channel_theme" unique="false">
+ <column ascending="true" name="channel_theme"/>
+ </index>
+ <index name="channel_timezone" unique="false">
+ <column ascending="true" name="channel_timezone"/>
+ </index>
+ <index name="channel_w_chat" unique="false">
+ <column ascending="true" name="channel_w_chat"/>
+ </index>
+ <index name="channel_w_comment" unique="false">
+ <column ascending="true" name="channel_w_comment"/>
+ </index>
+ <index name="channel_w_like" unique="false">
+ <column ascending="true" name="channel_w_like"/>
+ </index>
+ <index name="channel_w_mail" unique="false">
+ <column ascending="true" name="channel_w_mail"/>
+ </index>
+ <index name="channel_w_pages" unique="false">
+ <column ascending="true" name="channel_w_pages"/>
+ </index>
+ <index name="channel_w_photos" unique="false">
+ <column ascending="true" name="channel_w_photos"/>
+ </index>
+ <index name="channel_w_storage" unique="false">
+ <column ascending="true" name="channel_w_storage"/>
+ </index>
+ <index name="channel_w_stream" unique="false">
+ <column ascending="true" name="channel_w_stream"/>
+ </index>
+ <index name="channel_w_tagwall" unique="false">
+ <column ascending="true" name="channel_w_tagwall"/>
+ </index>
+ <index name="channel_w_wall" unique="false">
+ <column ascending="true" name="channel_w_wall"/>
+ </index>
+ </table>
+ <table name="chat" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="chat_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="chat_room" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="chat_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="3" name="chat_text" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="4" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="chat_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="chat_id"/>
+ </index>
+ <index name="chat_room" unique="false">
+ <column ascending="true" name="chat_room"/>
+ </index>
+ <index name="chat_xchan" unique="false">
+ <column ascending="true" name="chat_xchan"/>
+ </index>
+ <index name="created" unique="false">
+ <column ascending="true" name="created"/>
+ </index>
+ </table>
+ <table name="chatpresence" numRows="1" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="cp_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="cp_room" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="cp_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="3" name="cp_last" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="cp_status" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="cp_client" nullable="false" remarks="" size="128" type="CHAR"/>
+ <primaryKey column="cp_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="cp_id"/>
+ </index>
+ <index name="cp_last" unique="false">
+ <column ascending="true" name="cp_last"/>
+ </index>
+ <index name="cp_room" unique="false">
+ <column ascending="true" name="cp_room"/>
+ </index>
+ <index name="cp_status" unique="false">
+ <column ascending="true" name="cp_status"/>
+ </index>
+ <index name="cp_xchan" unique="false">
+ <column ascending="true" name="cp_xchan"/>
+ </index>
+ </table>
+ <table name="chatroom" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="cr_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="cr_aid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="cr_uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="cr_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="4" name="cr_created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="cr_edited" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="6" name="cr_expire" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="7" name="allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="8" name="allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="9" name="deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="10" name="deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="cr_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="cr_id"/>
+ </index>
+ <index name="cr_aid" unique="false">
+ <column ascending="true" name="cr_aid"/>
+ </index>
+ <index name="cr_created" unique="false">
+ <column ascending="true" name="cr_created"/>
+ </index>
+ <index name="cr_edited" unique="false">
+ <column ascending="true" name="cr_edited"/>
+ </index>
+ <index name="cr_expire" unique="false">
+ <column ascending="true" name="cr_expire"/>
+ </index>
+ <index name="cr_name" unique="false">
+ <column ascending="true" name="cr_name"/>
+ </index>
+ <index name="cr_uid" unique="false">
+ <column ascending="true" name="cr_uid"/>
+ </index>
+ </table>
+ <table name="clients" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="false" defaultValue="" digits="0" id="0" name="client_id" nullable="false" remarks="" size="20" type="VARCHAR">
+ <child column="client_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="auth_codes"/>
+ <child column="client_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="tokens"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="pw" nullable="false" remarks="" size="20" type="VARCHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="redirect_uri" nullable="false" remarks="" size="200" type="VARCHAR"/>
+ <column autoUpdated="false" digits="0" id="3" name="name" nullable="true" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="4" name="icon" nullable="true" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <primaryKey column="client_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="client_id"/>
+ </index>
+ </table>
+ <table name="config" numRows="52" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="cat" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="k" nullable="false" remarks="" size="255" type="CHAR">
+ <parent column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="cache"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="3" name="v" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="access" unique="true">
+ <column ascending="true" name="cat"/>
+ <column ascending="true" name="k"/>
+ </index>
+ </table>
+ <table name="conv" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="guid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="2" name="recips" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="creator" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="6" name="updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" digits="0" id="7" name="subject" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="created" unique="false">
+ <column ascending="true" name="created"/>
+ </index>
+ <index name="updated" unique="false">
+ <column ascending="true" name="updated"/>
+ </index>
+ </table>
+ <table name="event" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="aid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="event_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="event_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="6" name="edited" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="7" name="start" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="8" name="finish" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" digits="0" id="9" name="summary" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="10" name="description" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="11" name="location" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="12" name="type" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="13" name="nofinish" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="1" digits="0" id="14" name="adjust" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="15" name="ignore" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" digits="0" id="16" name="allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="17" name="allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="18" name="deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="19" name="deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="20" name="event_status" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="21" name="event_status_date" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="22" name="event_percent" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <column autoUpdated="false" digits="0" id="23" name="event_repeat" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="24" name="event_sequence" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="adjust" unique="false">
+ <column ascending="true" name="adjust"/>
+ </index>
+ <index name="aid" unique="false">
+ <column ascending="true" name="aid"/>
+ </index>
+ <index name="event_hash" unique="false">
+ <column ascending="true" name="event_hash"/>
+ </index>
+ <index name="event_sequence" unique="false">
+ <column ascending="true" name="event_sequence"/>
+ </index>
+ <index name="event_status" unique="false">
+ <column ascending="true" name="event_status"/>
+ </index>
+ <index name="event_xchan" unique="false">
+ <column ascending="true" name="event_xchan"/>
+ </index>
+ <index name="finish" unique="false">
+ <column ascending="true" name="finish"/>
+ </index>
+ <index name="ignore" unique="false">
+ <column ascending="true" name="ignore"/>
+ </index>
+ <index name="nofinish" unique="false">
+ <column ascending="true" name="nofinish"/>
+ </index>
+ <index name="start" unique="false">
+ <column ascending="true" name="start"/>
+ </index>
+ <index name="type" unique="false">
+ <column ascending="true" name="type"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="fcontact" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="1" name="url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="2" name="name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="3" name="photo" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="4" name="request" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="5" name="nick" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="6" name="addr" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="7" name="batch" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="8" name="notify" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="9" name="poll" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="10" name="confirm" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="11" name="priority" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" digits="0" id="12" name="network" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="13" name="alias" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="14" name="pubkey" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="15" name="updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="addr" unique="false">
+ <column ascending="true" name="addr"/>
+ </index>
+ <index name="network" unique="false">
+ <column ascending="true" name="network"/>
+ </index>
+ </table>
+ <table name="ffinder" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="2" name="cid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="3" name="fid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="cid" unique="false">
+ <column ascending="true" name="cid"/>
+ </index>
+ <index name="fid" unique="false">
+ <column ascending="true" name="fid"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="fserver" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="server" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="posturl" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="3" name="key" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="posturl" unique="false">
+ <column ascending="true" name="posturl"/>
+ </index>
+ <index name="server" unique="false">
+ <column ascending="true" name="server"/>
+ </index>
+ </table>
+ <table name="fsuggest" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="cid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="request" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="photo" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="7" name="note" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="8" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ </table>
+ <table name="group_member" numRows="2" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="gid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="gid" unique="false">
+ <column ascending="true" name="gid"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="xchan" unique="false">
+ <column ascending="true" name="xchan"/>
+ </index>
+ </table>
+ <table name="groups" numRows="5" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="visible" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="deleted" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="deleted" unique="false">
+ <column ascending="true" name="deleted"/>
+ </index>
+ <index name="hash" unique="false">
+ <column ascending="true" name="hash"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="visible" unique="false">
+ <column ascending="true" name="visible"/>
+ </index>
+ </table>
+ <table name="hook" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="hook" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="file" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="function" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="priority" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="hook" unique="false">
+ <column ascending="true" name="hook"/>
+ </index>
+ </table>
+ <table name="hubloc" numRows="1513" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="hubloc_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="hubloc_guid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="2" name="hubloc_guid_sig" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="hubloc_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="hubloc_addr" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="hubloc_network" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="6" name="hubloc_flags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="7" name="hubloc_status" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="8" name="hubloc_url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="9" name="hubloc_url_sig" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="hubloc_host" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="11" name="hubloc_callback" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="12" name="hubloc_connect" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="13" name="hubloc_sitekey" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="14" name="hubloc_updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="15" name="hubloc_connected" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="16" name="hubloc_primary" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="17" name="hubloc_orphancheck" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="18" name="hubloc_error" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="19" name="hubloc_deleted" nullable="false" remarks="" size="0" type="BIT"/>
+ <primaryKey column="hubloc_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="hubloc_id"/>
+ </index>
+ <index name="hubloc_addr" unique="false">
+ <column ascending="true" name="hubloc_addr"/>
+ </index>
+ <index name="hubloc_connect" unique="false">
+ <column ascending="true" name="hubloc_connect"/>
+ </index>
+ <index name="hubloc_connected" unique="false">
+ <column ascending="true" name="hubloc_connected"/>
+ </index>
+ <index name="hubloc_deleted" unique="false">
+ <column ascending="true" name="hubloc_deleted"/>
+ </index>
+ <index name="hubloc_error" unique="false">
+ <column ascending="true" name="hubloc_error"/>
+ </index>
+ <index name="hubloc_flags" unique="false">
+ <column ascending="true" name="hubloc_flags"/>
+ </index>
+ <index name="hubloc_guid" unique="false">
+ <column ascending="true" name="hubloc_guid"/>
+ </index>
+ <index name="hubloc_host" unique="false">
+ <column ascending="true" name="hubloc_host"/>
+ </index>
+ <index name="hubloc_network" unique="false">
+ <column ascending="true" name="hubloc_network"/>
+ </index>
+ <index name="hubloc_orphancheck" unique="false">
+ <column ascending="true" name="hubloc_orphancheck"/>
+ </index>
+ <index name="hubloc_primary" unique="false">
+ <column ascending="true" name="hubloc_primary"/>
+ </index>
+ <index name="hubloc_status" unique="false">
+ <column ascending="true" name="hubloc_status"/>
+ </index>
+ <index name="hubloc_updated" unique="false">
+ <column ascending="true" name="hubloc_updated"/>
+ </index>
+ <index name="hubloc_url" unique="false">
+ <column ascending="true" name="hubloc_url"/>
+ </index>
+ </table>
+ <table name="issue" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="issue_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="1" name="issue_created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="2" name="issue_updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="issue_assigned" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="issue_priority" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="issue_status" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="issue_component" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="issue_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="issue_id"/>
+ </index>
+ <index name="issue_assigned" unique="false">
+ <column ascending="true" name="issue_assigned"/>
+ </index>
+ <index name="issue_component" unique="false">
+ <column ascending="true" name="issue_component"/>
+ </index>
+ <index name="issue_created" unique="false">
+ <column ascending="true" name="issue_created"/>
+ </index>
+ <index name="issue_priority" unique="false">
+ <column ascending="true" name="issue_priority"/>
+ </index>
+ <index name="issue_status" unique="false">
+ <column ascending="true" name="issue_status"/>
+ </index>
+ <index name="issue_updated" unique="false">
+ <column ascending="true" name="issue_updated"/>
+ </index>
+ </table>
+ <table name="item" numRows="9613" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="mid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="aid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="parent" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="parent_mid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="thr_parent" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="7" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="8" name="edited" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="9" name="expires" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="10" name="commented" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="11" name="received" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="12" name="changed" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="13" name="comments_closed" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="14" name="owner_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="15" name="author_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="16" name="source_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="17" name="mimetype" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="18" name="title" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="19" name="body" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="20" name="html" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="21" name="app" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="22" name="lang" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="23" name="revision" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="24" name="verb" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="25" name="obj_type" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="26" name="object" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="27" name="tgt_type" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="28" name="target" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="29" name="layout_mid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="30" name="postopts" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="31" name="route" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="32" name="llink" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="33" name="plink" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="34" name="resource_id" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="35" name="resource_type" nullable="false" remarks="" size="16" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="36" name="attach" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="37" name="sig" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="38" name="diaspora_meta" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="39" name="location" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="40" name="coord" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="41" name="public_policy" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="42" name="comment_policy" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="43" name="allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="44" name="allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="45" name="deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="46" name="deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="47" name="item_restrict" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="48" name="item_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="49" name="item_private" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="50" name="item_origin" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="51" name="item_unseen" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="52" name="item_starred" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="53" name="item_uplink" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="54" name="item_consensus" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="55" name="item_wall" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="56" name="item_thread_top" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="57" name="item_notshown" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="58" name="item_nsfw" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="59" name="item_relay" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="60" name="item_mentionsme" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="61" name="item_nocomment" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="62" name="item_obscured" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="63" name="item_verified" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="64" name="item_retained" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="65" name="item_rss" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="66" name="item_deleted" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="67" name="item_type" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="68" name="item_hidden" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="69" name="item_unpublished" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="70" name="item_delayed" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="71" name="item_pending_remove" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="72" name="item_blocked" nullable="false" remarks="" size="0" type="BIT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="aid" unique="false">
+ <column ascending="true" name="aid"/>
+ </index>
+ <index name="allow_cid" unique="false">
+ <column ascending="true" name="allow_cid"/>
+ </index>
+ <index name="allow_gid" unique="false">
+ <column ascending="true" name="allow_gid"/>
+ </index>
+ <index name="author_xchan" unique="false">
+ <column ascending="true" name="author_xchan"/>
+ </index>
+ <index name="body" unique="false">
+ <column ascending="true" name="body"/>
+ </index>
+ <index name="changed" unique="false">
+ <column ascending="true" name="changed"/>
+ </index>
+ <index name="comment_policy" unique="false">
+ <column ascending="true" name="comment_policy"/>
+ </index>
+ <index name="commented" unique="false">
+ <column ascending="true" name="commented"/>
+ </index>
+ <index name="comments_closed" unique="false">
+ <column ascending="true" name="comments_closed"/>
+ </index>
+ <index name="created" unique="false">
+ <column ascending="true" name="created"/>
+ </index>
+ <index name="deny_cid" unique="false">
+ <column ascending="true" name="deny_cid"/>
+ </index>
+ <index name="deny_gid" unique="false">
+ <column ascending="true" name="deny_gid"/>
+ </index>
+ <index name="edited" unique="false">
+ <column ascending="true" name="edited"/>
+ </index>
+ <index name="expires" unique="false">
+ <column ascending="true" name="expires"/>
+ </index>
+ <index name="item_blocked" unique="false">
+ <column ascending="true" name="item_blocked"/>
+ </index>
+ <index name="item_consensus" unique="false">
+ <column ascending="true" name="item_consensus"/>
+ </index>
+ <index name="item_delayed" unique="false">
+ <column ascending="true" name="item_delayed"/>
+ </index>
+ <index name="item_deleted" unique="false">
+ <column ascending="true" name="item_deleted"/>
+ </index>
+ <index name="item_flags" unique="false">
+ <column ascending="true" name="item_flags"/>
+ </index>
+ <index name="item_hidden" unique="false">
+ <column ascending="true" name="item_hidden"/>
+ </index>
+ <index name="item_mentionsme" unique="false">
+ <column ascending="true" name="item_mentionsme"/>
+ </index>
+ <index name="item_nocomment" unique="false">
+ <column ascending="true" name="item_nocomment"/>
+ </index>
+ <index name="item_notshown" unique="false">
+ <column ascending="true" name="item_notshown"/>
+ </index>
+ <index name="item_nsfw" unique="false">
+ <column ascending="true" name="item_nsfw"/>
+ </index>
+ <index name="item_obscured" unique="false">
+ <column ascending="true" name="item_obscured"/>
+ </index>
+ <index name="item_origin" unique="false">
+ <column ascending="true" name="item_origin"/>
+ </index>
+ <index name="item_pending_remove" unique="false">
+ <column ascending="true" name="item_pending_remove"/>
+ </index>
+ <index name="item_private" unique="false">
+ <column ascending="true" name="item_private"/>
+ </index>
+ <index name="item_relay" unique="false">
+ <column ascending="true" name="item_relay"/>
+ </index>
+ <index name="item_restrict" unique="false">
+ <column ascending="true" name="item_restrict"/>
+ </index>
+ <index name="item_retained" unique="false">
+ <column ascending="true" name="item_retained"/>
+ </index>
+ <index name="item_rss" unique="false">
+ <column ascending="true" name="item_rss"/>
+ </index>
+ <index name="item_starred" unique="false">
+ <column ascending="true" name="item_starred"/>
+ </index>
+ <index name="item_thread_top" unique="false">
+ <column ascending="true" name="item_thread_top"/>
+ </index>
+ <index name="item_type" unique="false">
+ <column ascending="true" name="item_type"/>
+ </index>
+ <index name="item_unpublished" unique="false">
+ <column ascending="true" name="item_unpublished"/>
+ </index>
+ <index name="item_unseen" unique="false">
+ <column ascending="true" name="item_unseen"/>
+ </index>
+ <index name="item_uplink" unique="false">
+ <column ascending="true" name="item_uplink"/>
+ </index>
+ <index name="item_verified" unique="false">
+ <column ascending="true" name="item_verified"/>
+ </index>
+ <index name="item_wall" unique="false">
+ <column ascending="true" name="item_wall"/>
+ </index>
+ <index name="layout_mid" unique="false">
+ <column ascending="true" name="layout_mid"/>
+ </index>
+ <index name="llink" unique="false">
+ <column ascending="true" name="llink"/>
+ </index>
+ <index name="mid" unique="false">
+ <column ascending="true" name="mid"/>
+ </index>
+ <index name="mimetype" unique="false">
+ <column ascending="true" name="mimetype"/>
+ </index>
+ <index name="owner_xchan" unique="false">
+ <column ascending="true" name="owner_xchan"/>
+ </index>
+ <index name="parent" unique="false">
+ <column ascending="true" name="parent"/>
+ </index>
+ <index name="parent_mid" unique="false">
+ <column ascending="true" name="parent_mid"/>
+ </index>
+ <index name="public_policy" unique="false">
+ <column ascending="true" name="public_policy"/>
+ </index>
+ <index name="received" unique="false">
+ <column ascending="true" name="received"/>
+ </index>
+ <index name="resource_type" unique="false">
+ <column ascending="true" name="resource_type"/>
+ </index>
+ <index name="revision" unique="false">
+ <column ascending="true" name="revision"/>
+ </index>
+ <index name="title" unique="false">
+ <column ascending="true" name="title"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="uid_commented" unique="false">
+ <column ascending="true" name="uid"/>
+ <column ascending="true" name="commented"/>
+ </index>
+ <index name="uid_created" unique="false">
+ <column ascending="true" name="uid"/>
+ <column ascending="true" name="created"/>
+ </index>
+ <index name="uid_mid" unique="false">
+ <column ascending="true" name="mid"/>
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="verb" unique="false">
+ <column ascending="true" name="verb"/>
+ </index>
+ </table>
+ <table name="item_id" numRows="1" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="iid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="sid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="service" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="iid" unique="false">
+ <column ascending="true" name="iid"/>
+ </index>
+ <index name="service" unique="false">
+ <column ascending="true" name="service"/>
+ </index>
+ <index name="sid" unique="false">
+ <column ascending="true" name="sid"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="likes" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="channel_id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="channel_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="channel"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="liker" nullable="false" remarks="" size="128" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="likee" nullable="false" remarks="" size="128" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="iid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="verb" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="target_type" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="target_id" nullable="false" remarks="" size="128" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="8" name="target" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="channel_id" unique="false">
+ <column ascending="true" name="channel_id"/>
+ </index>
+ <index name="iid" unique="false">
+ <column ascending="true" name="iid"/>
+ </index>
+ <index name="likee" unique="false">
+ <column ascending="true" name="likee"/>
+ </index>
+ <index name="liker" unique="false">
+ <column ascending="true" name="liker"/>
+ </index>
+ <index name="target_id" unique="false">
+ <column ascending="true" name="target_id"/>
+ </index>
+ <index name="target_type" unique="false">
+ <column ascending="true" name="target_type"/>
+ </index>
+ <index name="verb" unique="false">
+ <column ascending="true" name="verb"/>
+ </index>
+ </table>
+ <table name="mail" numRows="7" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="convid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="mail_flags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="from_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="to_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="account_id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="account_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="account"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="6" name="channel_id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="channel_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="channel"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="7" name="title" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="8" name="body" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="9" name="sig" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="10" name="attach" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="11" name="mid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="12" name="parent_mid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="13" name="mail_deleted" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="14" name="mail_replied" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="15" name="mail_isreply" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="16" name="mail_seen" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="17" name="mail_recalled" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="18" name="mail_obscured" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="19" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="20" name="expires" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="account_id" unique="false">
+ <column ascending="true" name="account_id"/>
+ </index>
+ <index name="channel_id" unique="false">
+ <column ascending="true" name="channel_id"/>
+ </index>
+ <index name="convid" unique="false">
+ <column ascending="true" name="convid"/>
+ </index>
+ <index name="created" unique="false">
+ <column ascending="true" name="created"/>
+ </index>
+ <index name="expires" unique="false">
+ <column ascending="true" name="expires"/>
+ </index>
+ <index name="from_xchan" unique="false">
+ <column ascending="true" name="from_xchan"/>
+ </index>
+ <index name="mail_deleted" unique="false">
+ <column ascending="true" name="mail_deleted"/>
+ </index>
+ <index name="mail_flags" unique="false">
+ <column ascending="true" name="mail_flags"/>
+ </index>
+ <index name="mail_isreply" unique="false">
+ <column ascending="true" name="mail_isreply"/>
+ </index>
+ <index name="mail_obscured" unique="false">
+ <column ascending="true" name="mail_obscured"/>
+ </index>
+ <index name="mail_recalled" unique="false">
+ <column ascending="true" name="mail_recalled"/>
+ </index>
+ <index name="mail_replied" unique="false">
+ <column ascending="true" name="mail_replied"/>
+ </index>
+ <index name="mail_seen" unique="false">
+ <column ascending="true" name="mail_seen"/>
+ </index>
+ <index name="mid" unique="false">
+ <column ascending="true" name="mid"/>
+ </index>
+ <index name="parent_mid" unique="false">
+ <column ascending="true" name="parent_mid"/>
+ </index>
+ <index name="to_xchan" unique="false">
+ <column ascending="true" name="to_xchan"/>
+ </index>
+ </table>
+ <table name="manage" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="xchan" unique="false">
+ <column ascending="true" name="xchan"/>
+ </index>
+ </table>
+ <table name="menu" numRows="1" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="menu_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="menu_channel_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="menu_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="menu_desc" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="menu_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="menu_created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="6" name="menu_edited" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="menu_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="menu_id"/>
+ </index>
+ <index name="menu_channel_id" unique="false">
+ <column ascending="true" name="menu_channel_id"/>
+ </index>
+ <index name="menu_created" unique="false">
+ <column ascending="true" name="menu_created"/>
+ </index>
+ <index name="menu_edited" unique="false">
+ <column ascending="true" name="menu_edited"/>
+ </index>
+ <index name="menu_flags" unique="false">
+ <column ascending="true" name="menu_flags"/>
+ </index>
+ <index name="menu_name" unique="false">
+ <column ascending="true" name="menu_name"/>
+ </index>
+ </table>
+ <table name="menu_item" numRows="1" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="mitem_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="mitem_link" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="mitem_desc" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="mitem_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" digits="0" id="4" name="allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="5" name="allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="6" name="deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="7" name="deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="8" name="mitem_channel_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="9" name="mitem_menu_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="10" name="mitem_order" nullable="false" remarks="" size="10" type="INT"/>
+ <primaryKey column="mitem_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="mitem_id"/>
+ </index>
+ <index name="mitem_channel_id" unique="false">
+ <column ascending="true" name="mitem_channel_id"/>
+ </index>
+ <index name="mitem_flags" unique="false">
+ <column ascending="true" name="mitem_flags"/>
+ </index>
+ <index name="mitem_menu_id" unique="false">
+ <column ascending="true" name="mitem_menu_id"/>
+ </index>
+ </table>
+ <table name="notify" numRows="59" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="addon"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="app"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="event"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="fserver"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="fsuggest"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="hook"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="manage"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="pconfig"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="profile"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="spam"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="hash" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="photo" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="date" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" digits="0" id="6" name="msg" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="7" name="aid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="8" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="link" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="parent" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="11" name="seen" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="12" name="type" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="13" name="verb" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="14" name="otype" nullable="false" remarks="" size="16" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="aid" unique="false">
+ <column ascending="true" name="aid"/>
+ </index>
+ <index name="date" unique="false">
+ <column ascending="true" name="date"/>
+ </index>
+ <index name="hash" unique="false">
+ <column ascending="true" name="hash"/>
+ </index>
+ <index name="link" unique="false">
+ <column ascending="true" name="link"/>
+ </index>
+ <index name="otype" unique="false">
+ <column ascending="true" name="otype"/>
+ </index>
+ <index name="parent" unique="false">
+ <column ascending="true" name="parent"/>
+ </index>
+ <index name="seen" unique="false">
+ <column ascending="true" name="seen"/>
+ </index>
+ <index name="type" unique="false">
+ <column ascending="true" name="type"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="obj" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="obj_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="obj_page" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="obj_verb" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="obj_type" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="obj_obj" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="obj_channel" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="6" name="allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="7" name="allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="8" name="deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="9" name="deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="obj_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="obj_id"/>
+ </index>
+ <index name="obj_channel" unique="false">
+ <column ascending="true" name="obj_channel"/>
+ </index>
+ <index name="obj_obj" unique="false">
+ <column ascending="true" name="obj_obj"/>
+ </index>
+ <index name="obj_page" unique="false">
+ <column ascending="true" name="obj_page"/>
+ </index>
+ <index name="obj_type" unique="false">
+ <column ascending="true" name="obj_type"/>
+ </index>
+ <index name="obj_verb" unique="false">
+ <column ascending="true" name="obj_verb"/>
+ </index>
+ </table>
+ <table name="outq" numRows="2" remarks="" type="TABLE">
+ <column autoUpdated="false" digits="0" id="0" name="outq_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="outq_account" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="outq_channel" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="outq_driver" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="outq_posturl" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="outq_async" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="6" name="outq_delivered" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="7" name="outq_created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="8" name="outq_updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" digits="0" id="9" name="outq_notify" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="10" name="outq_msg" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="11" name="outq_priority" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <primaryKey column="outq_hash" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="outq_hash"/>
+ </index>
+ <index name="outq_account" unique="false">
+ <column ascending="true" name="outq_account"/>
+ </index>
+ <index name="outq_async" unique="false">
+ <column ascending="true" name="outq_async"/>
+ </index>
+ <index name="outq_channel" unique="false">
+ <column ascending="true" name="outq_channel"/>
+ </index>
+ <index name="outq_created" unique="false">
+ <column ascending="true" name="outq_created"/>
+ </index>
+ <index name="outq_delivered" unique="false">
+ <column ascending="true" name="outq_delivered"/>
+ </index>
+ <index name="outq_hub" unique="false">
+ <column ascending="true" name="outq_posturl"/>
+ </index>
+ <index name="outq_priority" unique="false">
+ <column ascending="true" name="outq_priority"/>
+ </index>
+ <index name="outq_updated" unique="false">
+ <column ascending="true" name="outq_updated"/>
+ </index>
+ </table>
+ <table name="pconfig" numRows="232" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="cat" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="k" nullable="false" remarks="" size="255" type="CHAR">
+ <parent column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="cache"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="4" name="v" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="access" unique="true">
+ <column ascending="true" name="uid"/>
+ <column ascending="true" name="cat"/>
+ <column ascending="true" name="k"/>
+ </index>
+ </table>
+ <table name="photo" numRows="3495" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="aid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="resource_id" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="6" name="edited" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="title" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="8" name="description" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="album" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="filename" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="image/jpeg" digits="0" id="11" name="type" nullable="false" remarks="" size="128" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="12" name="height" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="13" name="width" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="14" name="size" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="15" name="data" nullable="false" remarks="" size="16777215" type="MEDIUMBLOB"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="16" name="scale" nullable="false" remarks="" size="3" type="TINYINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="17" name="photo_usage" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="18" name="profile" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="19" name="is_nsfw" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="20" name="os_storage" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" digits="0" id="21" name="os_path" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="22" name="display_path" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="23" name="photo_flags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="24" name="allow_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="25" name="allow_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="26" name="deny_cid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="27" name="deny_gid" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="aid" unique="false">
+ <column ascending="true" name="aid"/>
+ </index>
+ <index name="album" unique="false">
+ <column ascending="true" name="album"/>
+ </index>
+ <index name="is_nsfw" unique="false">
+ <column ascending="true" name="is_nsfw"/>
+ </index>
+ <index name="os_storage" unique="false">
+ <column ascending="true" name="os_storage"/>
+ </index>
+ <index name="photo_flags" unique="false">
+ <column ascending="true" name="photo_flags"/>
+ </index>
+ <index name="photo_usage" unique="false">
+ <column ascending="true" name="photo_usage"/>
+ </index>
+ <index name="profile" unique="false">
+ <column ascending="true" name="profile"/>
+ </index>
+ <index name="resource_id" unique="false">
+ <column ascending="true" name="resource_id"/>
+ </index>
+ <index name="scale" unique="false">
+ <column ascending="true" name="scale"/>
+ </index>
+ <index name="size" unique="false">
+ <column ascending="true" name="size"/>
+ </index>
+ <index name="type" unique="false">
+ <column ascending="true" name="type"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="xchan" unique="false">
+ <column ascending="true" name="xchan"/>
+ </index>
+ </table>
+ <table name="poll" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="poll_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="poll_channel" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="2" name="poll_desc" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="poll_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="poll_votes" nullable="false" remarks="" size="10" type="INT"/>
+ <primaryKey column="poll_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="poll_id"/>
+ </index>
+ <index name="poll_channel" unique="false">
+ <column ascending="true" name="poll_channel"/>
+ </index>
+ <index name="poll_flags" unique="false">
+ <column ascending="true" name="poll_flags"/>
+ </index>
+ <index name="poll_votes" unique="false">
+ <column ascending="true" name="poll_votes"/>
+ </index>
+ </table>
+ <table name="poll_elm" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="pelm_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="pelm_poll" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="2" name="pelm_desc" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="pelm_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="pelm_result" nullable="false" remarks="" size="12" type="FLOAT"/>
+ <primaryKey column="pelm_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="pelm_id"/>
+ </index>
+ <index name="pelm_poll" unique="false">
+ <column ascending="true" name="pelm_poll"/>
+ </index>
+ <index name="pelm_result" unique="false">
+ <column ascending="true" name="pelm_result"/>
+ </index>
+ </table>
+ <table name="profdef" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="field_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="field_type" nullable="false" remarks="" size="16" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="field_desc" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="field_help" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="5" name="field_inputs" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="field_name" unique="false">
+ <column ascending="true" name="field_name"/>
+ </index>
+ </table>
+ <table name="profext" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="channel_id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="channel_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="channel"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="k" nullable="false" remarks="" size="255" type="CHAR">
+ <parent column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="cache"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="4" name="v" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="channel_id" unique="false">
+ <column ascending="true" name="channel_id"/>
+ </index>
+ <index name="hash" unique="false">
+ <column ascending="true" name="hash"/>
+ </index>
+ <index name="k" unique="false">
+ <column ascending="true" name="k"/>
+ </index>
+ </table>
+ <table name="profile" numRows="4" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="profile_guid" nullable="false" remarks="" size="64" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="aid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="profile_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="is_default" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="6" name="hide_friends" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="8" name="pdesc" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="9" name="chandesc" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00" digits="0" id="10" name="dob" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="UTC" digits="0" id="11" name="dob_tz" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="12" name="address" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="13" name="locality" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="14" name="region" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="15" name="postal_code" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="16" name="country_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="17" name="hometown" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="18" name="gender" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="19" name="marital" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="20" name="with" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="21" name="howlong" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="22" name="sexual" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="23" name="politic" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="24" name="religion" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="25" name="keywords" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="26" name="likes" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="27" name="dislikes" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="28" name="about" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="29" name="summary" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="30" name="music" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="31" name="book" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="32" name="tv" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="33" name="film" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="34" name="interest" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="35" name="romance" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="36" name="work" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="37" name="education" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="38" name="contact" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="39" name="channels" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="40" name="homepage" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="41" name="photo" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="42" name="thumb" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="43" name="publish" nullable="false" remarks="" size="0" type="BIT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="aid" unique="false">
+ <column ascending="true" name="aid"/>
+ </index>
+ <index name="country_name" unique="false">
+ <column ascending="true" name="country_name"/>
+ </index>
+ <index name="gender" unique="false">
+ <column ascending="true" name="gender"/>
+ </index>
+ <index name="guid" unique="true">
+ <column ascending="true" name="profile_guid"/>
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="hide_friends" unique="false">
+ <column ascending="true" name="hide_friends"/>
+ </index>
+ <index name="hometown" unique="false">
+ <column ascending="true" name="hometown"/>
+ </index>
+ <index name="is_default" unique="false">
+ <column ascending="true" name="is_default"/>
+ </index>
+ <index name="locality" unique="false">
+ <column ascending="true" name="locality"/>
+ </index>
+ <index name="marital" unique="false">
+ <column ascending="true" name="marital"/>
+ </index>
+ <index name="postal_code" unique="false">
+ <column ascending="true" name="postal_code"/>
+ </index>
+ <index name="profile_guid" unique="false">
+ <column ascending="true" name="profile_guid"/>
+ </index>
+ <index name="publish" unique="false">
+ <column ascending="true" name="publish"/>
+ </index>
+ <index name="sexual" unique="false">
+ <column ascending="true" name="sexual"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="profile_check" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="cid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="dfrn_id" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="sec" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="expire" nullable="false" remarks="" size="10" type="INT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="cid" unique="false">
+ <column ascending="true" name="cid"/>
+ </index>
+ <index name="dfrn_id" unique="false">
+ <column ascending="true" name="dfrn_id"/>
+ </index>
+ <index name="expire" unique="false">
+ <column ascending="true" name="expire"/>
+ </index>
+ <index name="sec" unique="false">
+ <column ascending="true" name="sec"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="register" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="2" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="password" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="language" nullable="false" remarks="" size="16" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="created" unique="false">
+ <column ascending="true" name="created"/>
+ </index>
+ <index name="hash" unique="false">
+ <column ascending="true" name="hash"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="session" numRows="23" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="20" type="BIGINT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="sid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="2" name="data" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="expire" nullable="false" remarks="" size="20" type="BIGINT UNSIGNED"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="expire" unique="false">
+ <column ascending="true" name="expire"/>
+ </index>
+ <index name="sid" unique="false">
+ <column ascending="true" name="sid"/>
+ </index>
+ </table>
+ <table name="shares" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="share_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="share_type" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="share_target" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="share_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="share_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="share_id"/>
+ </index>
+ <index name="share_target" unique="false">
+ <column ascending="true" name="share_target"/>
+ </index>
+ <index name="share_type" unique="false">
+ <column ascending="true" name="share_type"/>
+ </index>
+ <index name="share_xchan" unique="false">
+ <column ascending="true" name="share_xchan"/>
+ </index>
+ </table>
+ <table name="sign" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="iid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="retract_iid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" digits="0" id="3" name="signed_text" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" digits="0" id="4" name="signature" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="signer" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="iid" unique="false">
+ <column ascending="true" name="iid"/>
+ </index>
+ <index name="retract_iid" unique="false">
+ <column ascending="true" name="retract_iid"/>
+ </index>
+ </table>
+ <table name="site" numRows="117" remarks="" type="TABLE">
+ <column autoUpdated="false" digits="0" id="0" name="site_url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="site_access" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="site_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="3" name="site_update" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="4" name="site_pull" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="site_sync" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="site_directory" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="7" name="site_register" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="8" name="site_sellpage" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="site_location" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="site_realm" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="11" name="site_valid" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="12" name="site_dead" nullable="false" remarks="" size="5" type="SMALLINT"/>
+ <primaryKey column="site_url" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="site_url"/>
+ </index>
+ <index name="site_access" unique="false">
+ <column ascending="true" name="site_access"/>
+ </index>
+ <index name="site_dead" unique="false">
+ <column ascending="true" name="site_dead"/>
+ </index>
+ <index name="site_directory" unique="false">
+ <column ascending="true" name="site_directory"/>
+ </index>
+ <index name="site_flags" unique="false">
+ <column ascending="true" name="site_flags"/>
+ </index>
+ <index name="site_pull" unique="false">
+ <column ascending="true" name="site_pull"/>
+ </index>
+ <index name="site_realm" unique="false">
+ <column ascending="true" name="site_realm"/>
+ </index>
+ <index name="site_register" unique="false">
+ <column ascending="true" name="site_register"/>
+ </index>
+ <index name="site_sellpage" unique="false">
+ <column ascending="true" name="site_sellpage"/>
+ </index>
+ <index name="site_update" unique="false">
+ <column ascending="true" name="site_update"/>
+ </index>
+ <index name="site_valid" unique="false">
+ <column ascending="true" name="site_valid"/>
+ </index>
+ </table>
+ <table name="source" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="src_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="src_channel_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="src_channel_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="src_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="4" name="src_patt" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="src_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="src_id"/>
+ </index>
+ <index name="src_channel_id" unique="false">
+ <column ascending="true" name="src_channel_id"/>
+ </index>
+ <index name="src_channel_xchan" unique="false">
+ <column ascending="true" name="src_channel_xchan"/>
+ </index>
+ <index name="src_xchan" unique="false">
+ <column ascending="true" name="src_xchan"/>
+ </index>
+ </table>
+ <table name="spam" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="notify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="spam" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="ham" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="term" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="date" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="ham" unique="false">
+ <column ascending="true" name="ham"/>
+ </index>
+ <index name="spam" unique="false">
+ <column ascending="true" name="spam"/>
+ </index>
+ <index name="term" unique="false">
+ <column ascending="true" name="term"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="sys_perms" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="cat" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="k" nullable="false" remarks="" size="255" type="CHAR">
+ <parent column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="cache"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="3" name="v" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="public_perm" nullable="false" remarks="" size="0" type="BIT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ </table>
+ <table name="term" numRows="7585" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="tid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="aid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="uid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="oid" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="4" name="otype" nullable="false" remarks="" size="3" type="TINYINT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="type" nullable="false" remarks="" size="3" type="TINYINT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="term" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="8" name="imgurl" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="term_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="parent_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="tid" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="tid"/>
+ </index>
+ <index name="aid" unique="false">
+ <column ascending="true" name="aid"/>
+ </index>
+ <index name="imgurl" unique="false">
+ <column ascending="true" name="imgurl"/>
+ </index>
+ <index name="oid" unique="false">
+ <column ascending="true" name="oid"/>
+ </index>
+ <index name="otype" unique="false">
+ <column ascending="true" name="otype"/>
+ </index>
+ <index name="parent_hash" unique="false">
+ <column ascending="true" name="parent_hash"/>
+ </index>
+ <index name="term" unique="false">
+ <column ascending="true" name="term"/>
+ </index>
+ <index name="term_hash" unique="false">
+ <column ascending="true" name="term_hash"/>
+ </index>
+ <index name="type" unique="false">
+ <column ascending="true" name="type"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="tokens" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="false" defaultValue="" digits="0" id="0" name="id" nullable="false" remarks="" size="40" type="VARCHAR">
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="auth_codes"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="1" name="secret" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="client_id" nullable="false" remarks="" size="20" type="VARCHAR">
+ <parent column="client_id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="clients"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="expires" nullable="false" remarks="" size="20" type="BIGINT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="scope" nullable="false" remarks="" size="200" type="VARCHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="client_id" unique="false">
+ <column ascending="true" name="client_id"/>
+ </index>
+ <index name="expires" unique="false">
+ <column ascending="true" name="expires"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ </table>
+ <table name="updates" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="ud_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="ud_hash" nullable="false" remarks="" size="128" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="ud_guid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="3" name="ud_date" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="4" name="ud_last" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="5" name="ud_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="ud_addr" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="ud_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="ud_id"/>
+ </index>
+ <index name="ud_addr" unique="false">
+ <column ascending="true" name="ud_addr"/>
+ </index>
+ <index name="ud_date" unique="false">
+ <column ascending="true" name="ud_date"/>
+ </index>
+ <index name="ud_flags" unique="false">
+ <column ascending="true" name="ud_flags"/>
+ </index>
+ <index name="ud_guid" unique="false">
+ <column ascending="true" name="ud_guid"/>
+ </index>
+ <index name="ud_hash" unique="false">
+ <column ascending="true" name="ud_hash"/>
+ </index>
+ <index name="ud_last" unique="false">
+ <column ascending="true" name="ud_last"/>
+ </index>
+ </table>
+ <table name="verify" numRows="1" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="attach"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="config"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="conv"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="fcontact"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="ffinder"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="group_member"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="groups"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="item"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="item_id"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="likes"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="mail"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="photo"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="profdef"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="profext"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="profile_check"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="register"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="sign"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="sys_perms"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="xconfig"/>
+ <child column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="xign"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="channel" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="type" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="token" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="meta" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="created" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="channel" unique="false">
+ <column ascending="true" name="channel"/>
+ </index>
+ <index name="created" unique="false">
+ <column ascending="true" name="created"/>
+ </index>
+ <index name="meta" unique="false">
+ <column ascending="true" name="meta"/>
+ </index>
+ <index name="token" unique="false">
+ <column ascending="true" name="token"/>
+ </index>
+ <index name="type" unique="false">
+ <column ascending="true" name="type"/>
+ </index>
+ </table>
+ <table name="vote" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="vote_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="vote_poll" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="vote_element" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" digits="0" id="3" name="vote_result" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="vote_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="vote_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="vote_id"/>
+ </index>
+ <index name="vote_element" unique="false">
+ <column ascending="true" name="vote_element"/>
+ </index>
+ <index name="vote_poll" unique="false">
+ <column ascending="true" name="vote_poll"/>
+ </index>
+ <index name="vote_vote" unique="true">
+ <column ascending="true" name="vote_poll"/>
+ <column ascending="true" name="vote_element"/>
+ <column ascending="true" name="vote_xchan"/>
+ </index>
+ </table>
+ <table name="xchan" numRows="1168" remarks="" type="TABLE">
+ <column autoUpdated="false" digits="0" id="0" name="xchan_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="xchan_guid" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="2" name="xchan_guid_sig" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="3" name="xchan_pubkey" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="image/jpeg" digits="0" id="4" name="xchan_photo_mimetype" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="xchan_photo_l" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="xchan_photo_m" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="xchan_photo_s" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="8" name="xchan_addr" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="xchan_url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="xchan_connurl" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="11" name="xchan_follow" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="12" name="xchan_connpage" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="13" name="xchan_name" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="14" name="xchan_network" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="15" name="xchan_instance_url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="16" name="xchan_flags" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="17" name="xchan_photo_date" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="18" name="xchan_name_date" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="19" name="xchan_hidden" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="20" name="xchan_orphan" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="21" name="xchan_censored" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="22" name="xchan_selfcensored" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="23" name="xchan_system" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="24" name="xchan_pubforum" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="25" name="xchan_deleted" nullable="false" remarks="" size="0" type="BIT"/>
+ <primaryKey column="xchan_hash" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="xchan_hash"/>
+ </index>
+ <index name="xchan_addr" unique="false">
+ <column ascending="true" name="xchan_addr"/>
+ </index>
+ <index name="xchan_censored" unique="false">
+ <column ascending="true" name="xchan_censored"/>
+ </index>
+ <index name="xchan_connurl" unique="false">
+ <column ascending="true" name="xchan_connurl"/>
+ </index>
+ <index name="xchan_deleted" unique="false">
+ <column ascending="true" name="xchan_deleted"/>
+ </index>
+ <index name="xchan_flags" unique="false">
+ <column ascending="true" name="xchan_flags"/>
+ </index>
+ <index name="xchan_follow" unique="false">
+ <column ascending="true" name="xchan_follow"/>
+ </index>
+ <index name="xchan_guid" unique="false">
+ <column ascending="true" name="xchan_guid"/>
+ </index>
+ <index name="xchan_hidden" unique="false">
+ <column ascending="true" name="xchan_hidden"/>
+ </index>
+ <index name="xchan_instance_url" unique="false">
+ <column ascending="true" name="xchan_instance_url"/>
+ </index>
+ <index name="xchan_name" unique="false">
+ <column ascending="true" name="xchan_name"/>
+ </index>
+ <index name="xchan_network" unique="false">
+ <column ascending="true" name="xchan_network"/>
+ </index>
+ <index name="xchan_orphan" unique="false">
+ <column ascending="true" name="xchan_orphan"/>
+ </index>
+ <index name="xchan_pubforum" unique="false">
+ <column ascending="true" name="xchan_pubforum"/>
+ </index>
+ <index name="xchan_selfcensored" unique="false">
+ <column ascending="true" name="xchan_selfcensored"/>
+ </index>
+ <index name="xchan_system" unique="false">
+ <column ascending="true" name="xchan_system"/>
+ </index>
+ <index name="xchan_url" unique="false">
+ <column ascending="true" name="xchan_url"/>
+ </index>
+ </table>
+ <table name="xchat" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="xchat_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="xchat_url" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="xchat_desc" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="xchat_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="4" name="xchat_edited" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <primaryKey column="xchat_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="xchat_id"/>
+ </index>
+ <index name="xchat_desc" unique="false">
+ <column ascending="true" name="xchat_desc"/>
+ </index>
+ <index name="xchat_edited" unique="false">
+ <column ascending="true" name="xchat_edited"/>
+ </index>
+ <index name="xchat_url" unique="false">
+ <column ascending="true" name="xchat_url"/>
+ </index>
+ <index name="xchat_xchan" unique="false">
+ <column ascending="true" name="xchat_xchan"/>
+ </index>
+ </table>
+ <table name="xconfig" numRows="4" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="cat" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="k" nullable="false" remarks="" size="255" type="CHAR">
+ <parent column="k" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="cache"/>
+ </column>
+ <column autoUpdated="false" digits="0" id="4" name="v" nullable="false" remarks="" size="16777215" type="MEDIUMTEXT"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="cat" unique="false">
+ <column ascending="true" name="cat"/>
+ </index>
+ <index name="k" unique="false">
+ <column ascending="true" name="k"/>
+ </index>
+ <index name="xchan" unique="false">
+ <column ascending="true" name="xchan"/>
+ </index>
+ </table>
+ <table name="xign" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="INT UNSIGNED">
+ <parent column="id" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" table="verify"/>
+ </column>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="uid" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="id"/>
+ </index>
+ <index name="uid" unique="false">
+ <column ascending="true" name="uid"/>
+ </index>
+ <index name="xchan" unique="false">
+ <column ascending="true" name="xchan"/>
+ </index>
+ </table>
+ <table name="xlink" numRows="244" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="xlink_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="xlink_xchan" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="xlink_link" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="xlink_rating" nullable="false" remarks="" size="10" type="INT"/>
+ <column autoUpdated="false" digits="0" id="4" name="xlink_rating_text" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="0000-00-00 00:00:00" digits="0" id="5" name="xlink_updated" nullable="false" remarks="" size="19" type="DATETIME"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="6" name="xlink_static" nullable="false" remarks="" size="0" type="BIT"/>
+ <column autoUpdated="false" digits="0" id="7" name="xlink_sig" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <primaryKey column="xlink_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="xlink_id"/>
+ </index>
+ <index name="xlink_link" unique="false">
+ <column ascending="true" name="xlink_link"/>
+ </index>
+ <index name="xlink_rating" unique="false">
+ <column ascending="true" name="xlink_rating"/>
+ </index>
+ <index name="xlink_static" unique="false">
+ <column ascending="true" name="xlink_static"/>
+ </index>
+ <index name="xlink_updated" unique="false">
+ <column ascending="true" name="xlink_updated"/>
+ </index>
+ <index name="xlink_xchan" unique="false">
+ <column ascending="true" name="xlink_xchan"/>
+ </index>
+ </table>
+ <table name="xperm" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="xp_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="xp_client" nullable="false" remarks="" size="20" type="VARCHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="2" name="xp_channel" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="xp_perm" nullable="false" remarks="" size="64" type="VARCHAR"/>
+ <primaryKey column="xp_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="xp_id"/>
+ </index>
+ <index name="xp_channel" unique="false">
+ <column ascending="true" name="xp_channel"/>
+ </index>
+ <index name="xp_client" unique="false">
+ <column ascending="true" name="xp_client"/>
+ </index>
+ <index name="xp_perm" unique="false">
+ <column ascending="true" name="xp_perm"/>
+ </index>
+ </table>
+ <table name="xprof" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="false" digits="0" id="0" name="xprof_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="1" name="xprof_age" nullable="false" remarks="" size="3" type="TINYINT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="xprof_desc" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="3" name="xprof_dob" nullable="false" remarks="" size="12" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="4" name="xprof_gender" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="5" name="xprof_marital" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="6" name="xprof_sexual" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="7" name="xprof_locale" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="8" name="xprof_region" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="9" name="xprof_postcode" nullable="false" remarks="" size="32" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="10" name="xprof_country" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" digits="0" id="11" name="xprof_keywords" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" digits="0" id="12" name="xprof_about" nullable="false" remarks="" size="65535" type="TEXT"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="13" name="xprof_homepage" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="14" name="xprof_hometown" nullable="false" remarks="" size="255" type="CHAR"/>
+ <primaryKey column="xprof_hash" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="xprof_hash"/>
+ </index>
+ <index name="xprof_age" unique="false">
+ <column ascending="true" name="xprof_age"/>
+ </index>
+ <index name="xprof_country" unique="false">
+ <column ascending="true" name="xprof_country"/>
+ </index>
+ <index name="xprof_desc" unique="false">
+ <column ascending="true" name="xprof_desc"/>
+ </index>
+ <index name="xprof_dob" unique="false">
+ <column ascending="true" name="xprof_dob"/>
+ </index>
+ <index name="xprof_gender" unique="false">
+ <column ascending="true" name="xprof_gender"/>
+ </index>
+ <index name="xprof_hometown" unique="false">
+ <column ascending="true" name="xprof_hometown"/>
+ </index>
+ <index name="xprof_locale" unique="false">
+ <column ascending="true" name="xprof_locale"/>
+ </index>
+ <index name="xprof_marital" unique="false">
+ <column ascending="true" name="xprof_marital"/>
+ </index>
+ <index name="xprof_postcode" unique="false">
+ <column ascending="true" name="xprof_postcode"/>
+ </index>
+ <index name="xprof_region" unique="false">
+ <column ascending="true" name="xprof_region"/>
+ </index>
+ <index name="xprof_sexual" unique="false">
+ <column ascending="true" name="xprof_sexual"/>
+ </index>
+ </table>
+ <table name="xtag" numRows="0" remarks="" type="TABLE">
+ <column autoUpdated="true" digits="0" id="0" name="xtag_id" nullable="false" remarks="" size="10" type="INT UNSIGNED"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="1" name="xtag_hash" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="" digits="0" id="2" name="xtag_term" nullable="false" remarks="" size="255" type="CHAR"/>
+ <column autoUpdated="false" defaultValue="0" digits="0" id="3" name="xtag_flags" nullable="false" remarks="" size="10" type="INT"/>
+ <primaryKey column="xtag_id" sequenceNumberInPK="1"/>
+ <index name="PRIMARY" unique="true">
+ <column ascending="true" name="xtag_id"/>
+ </index>
+ <index name="xtag_flags" unique="false">
+ <column ascending="true" name="xtag_flags"/>
+ </index>
+ <index name="xtag_hash" unique="false">
+ <column ascending="true" name="xtag_hash"/>
+ </index>
+ <index name="xtag_term" unique="false">
+ <column ascending="true" name="xtag_term"/>
+ </index>
+ </table>
+ </tables>
+</database>
diff --git a/images/.directory b/images/.directory
new file mode 100644
index 000000000..3eb341071
--- /dev/null
+++ b/images/.directory
@@ -0,0 +1,3 @@
+[Dolphin]
+PreviewsShown=true
+Timestamp=2015,11,5,6,48,22
diff --git a/include/ItemObject.php b/include/ItemObject.php
index 34500efb9..512e12838 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -258,6 +258,15 @@ class Item extends BaseObject {
if ($shareable)
$share = array( t('Share This'), t('share'));
+ $dreport = '';
+
+ $keep_reports = intval(get_config('system','expire_delivery_reports'));
+ if($keep_reports === 0)
+ $keep_reports = 30;
+
+ if(strcmp(datetime_convert('UTC','UTC',$item['created']),datetime_convert('UTC','UTC',"now - $keep_reports days")) > 0)
+ $dreport = t('Delivery Report');
+
if(strcmp(datetime_convert('UTC','UTC',$item['created']),datetime_convert('UTC','UTC','now - 12 hours')) > 0)
$indent .= ' shiny';
@@ -277,6 +286,10 @@ class Item extends BaseObject {
$comment_count_txt = sprintf( tt('%d comment','%d comments',$total_children),$total_children );
$list_unseen_txt = (($unseen_comments) ? sprintf('%d unseen',$unseen_comments) : '');
+
+
+
+
$children = $this->get_children();
$has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false);
@@ -309,7 +322,7 @@ class Item extends BaseObject {
'vwall' => t('via Wall-To-Wall:'),
'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item),
- 'dreport' => t('Delivery Report'),
+ 'dreport' => $dreport,
'name' => $profile_name,
'thumb' => $profile_avatar,
'osparkle' => $osparkle,
diff --git a/include/RedDAV/RedDirectory.php b/include/RedDAV/RedDirectory.php
index 87bdf8f13..8d8af5bd3 100644
--- a/include/RedDAV/RedDirectory.php
+++ b/include/RedDAV/RedDirectory.php
@@ -363,6 +363,27 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
}
/**
+ * @brief delete directory
+ */
+
+ public function delete() {
+ logger('delete file ' . basename($this->red_path), LOGGER_DEBUG);
+
+ if ((! $this->auth->owner_id) || (! perm_is_allowed($this->auth->owner_id, $this->auth->observer, 'write_storage'))) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ }
+
+ if ($this->auth->owner_id !== $this->auth->channel_id) {
+ if (($this->auth->observer !== $this->data['creator']) || intval($this->data['is_dir'])) {
+ throw new DAV\Exception\Forbidden('Permission denied.');
+ }
+ }
+
+ attach_delete($this->auth->owner_id, $this->folder_hash);
+ }
+
+
+ /**
* @brief Checks if a child exists.
*
* @param string $name
diff --git a/include/RedDAV/RedFile.php b/include/RedDAV/RedFile.php
index 2bc3f40e5..3283a6e88 100644
--- a/include/RedDAV/RedFile.php
+++ b/include/RedDAV/RedFile.php
@@ -127,7 +127,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
}
$fname = dbunescbin($d[0]['data']);
if(strpos($fname,'store') === false)
- $f = 'store/' . $this->auth->owner_nick . '/' . (($fname) ? $fname : '');
+ $f = 'store/' . $this->auth->owner_nick . '/' . $fname ;
else
$f = $fname;
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index cb2266473..4d44ec12e 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -231,6 +231,7 @@ function populate_acl($defaults = null,$show_jotnets = true) {
$jotnets = '';
if($show_jotnets) {
+logger('jot_networks');
call_hooks('jot_networks', $jotnets);
}
@@ -243,6 +244,7 @@ function populate_acl($defaults = null,$show_jotnets = true) {
'$allowgid' => json_encode($allow_gid),
'$denycid' => json_encode($deny_cid),
'$denygid' => json_encode($deny_gid),
+ '$jnetModalTitle' => t('Other networks and post services'),
'$jotnets' => $jotnets,
'$aclModalTitle' => t('Permissions'),
'$aclModalDismiss' => t('Close')
diff --git a/include/api.php b/include/api.php
index b51bcc5f0..f279b2aa3 100644
--- a/include/api.php
+++ b/include/api.php
@@ -9,6 +9,7 @@ require_once('include/security.php');
require_once('include/photos.php');
require_once('include/items.php');
require_once('include/attach.php');
+require_once('include/api_auth.php');
/*
*
@@ -66,96 +67,6 @@ require_once('include/attach.php');
'auth'=>$auth);
}
- /**
- * Simple HTTP Login
- */
-
- function api_login(&$a){
- // login with oauth
- try {
- $oauth = new FKOAuth1();
- $req = OAuthRequest::from_request();
-
- list($consumer,$token) = $oauth->verify_request($req);
-
- if (!is_null($token)){
- $oauth->loginUser($token->uid);
-
- $a->set_oauth_key($consumer->key);
-
- call_hooks('logged_in', $a->user);
- return;
- }
- echo __file__.__line__.__function__."<pre>";
-// var_dump($consumer, $token);
- die();
- }
- catch(Exception $e) {
- logger(__file__.__line__.__function__."\n".$e);
- }
-
-
- // workaround for HTTP-auth in CGI mode
- if(x($_SERVER,'REDIRECT_REMOTE_USER')) {
- $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"],6)) ;
- if(strlen($userpass)) {
- list($name, $password) = explode(':', $userpass);
- $_SERVER['PHP_AUTH_USER'] = $name;
- $_SERVER['PHP_AUTH_PW'] = $password;
- }
- }
-
- if(x($_SERVER,'HTTP_AUTHORIZATION')) {
- $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"],6)) ;
- if(strlen($userpass)) {
- list($name, $password) = explode(':', $userpass);
- $_SERVER['PHP_AUTH_USER'] = $name;
- $_SERVER['PHP_AUTH_PW'] = $password;
- }
- }
-
-
- if (!isset($_SERVER['PHP_AUTH_USER'])) {
- logger('API_login: ' . print_r($_SERVER,true), LOGGER_DEBUG);
- header('WWW-Authenticate: Basic realm="Red"');
- header('HTTP/1.0 401 Unauthorized');
- die('This api requires login');
- }
-
- // process normal login request
- require_once('include/auth.php');
- $channel_login = 0;
- $record = account_verify_password($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']);
- if(! $record) {
- $r = q("select * from channel where channel_address = '%s' limit 1",
- dbesc($_SERVER['PHP_AUTH_USER'])
- );
- if ($r) {
- $x = q("select * from account where account_id = %d limit 1",
- intval($r[0]['channel_account_id'])
- );
- if ($x) {
- $record = account_verify_password($x[0]['account_email'],$_SERVER['PHP_AUTH_PW']);
- if($record)
- $channel_login = $r[0]['channel_id'];
- }
- }
- if(! $record) {
- logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG);
- header('WWW-Authenticate: Basic realm="Red"');
- header('HTTP/1.0 401 Unauthorized');
- die('This api requires login');
- }
- }
-
- require_once('include/security.php');
- authenticate_success($record);
-
- if($channel_login)
- change_channel($channel_login);
-
- $_SESSION['allow_api'] = true;
- }
/**************************
* MAIN API ENTRY POINT *
@@ -831,6 +742,8 @@ require_once('include/attach.php');
}
$user_info = api_get_user($a);
+// logger('status_with_media: ' . print_r($_REQUEST,true), LOGGER_DEBUG);
+
$_REQUEST['type'] = 'wall';
$_REQUEST['profile_uid'] = api_user();
$_REQUEST['api_source'] = true;
@@ -998,7 +911,7 @@ require_once('include/attach.php');
function red_item(&$a, $type) {
if (api_user() === false) {
- logger('api_red_item_new: no user');
+ logger('api_red_item_full: no user');
return false;
}
@@ -2285,7 +2198,7 @@ require_once('include/attach.php');
}
}
- $id = send_message($recipient['id'], $_POST['text'], $sub, $replyto);
+ $id = send_message(api_user(),$recipient['guid'], $_POST['text'], $sub, $replyto);
if ($id>-1) {
$r = q("SELECT * FROM `mail` WHERE id=%d", intval($id));
@@ -2416,6 +2329,7 @@ logger('Req: ' . var_export($req,true));
api_register_func('api/oauth/request_token', 'api_oauth_request_token', false);
api_register_func('api/oauth/access_token', 'api_oauth_access_token', false);
+
/*
Not implemented by now:
statuses/retweets_of_me
diff --git a/include/api_auth.php b/include/api_auth.php
new file mode 100644
index 000000000..ee9db3f55
--- /dev/null
+++ b/include/api_auth.php
@@ -0,0 +1,95 @@
+<?php /** @file */
+
+require_once("oauth.php");
+
+
+/**
+ * Simple HTTP Login
+ */
+
+function api_login(&$a){
+ // login with oauth
+ try {
+ $oauth = new FKOAuth1();
+ $req = OAuthRequest::from_request();
+
+ list($consumer,$token) = $oauth->verify_request($req);
+
+ if (!is_null($token)){
+ $oauth->loginUser($token->uid);
+
+ $a->set_oauth_key($consumer->key);
+
+ call_hooks('logged_in', $a->user);
+ return;
+ }
+ echo __file__.__line__.__function__."<pre>";
+// var_dump($consumer, $token);
+ die();
+ }
+ catch(Exception $e) {
+ logger(__file__.__line__.__function__."\n".$e);
+ }
+
+
+ // workaround for HTTP-auth in CGI mode
+ if(x($_SERVER,'REDIRECT_REMOTE_USER')) {
+ $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"],6)) ;
+ if(strlen($userpass)) {
+ list($name, $password) = explode(':', $userpass);
+ $_SERVER['PHP_AUTH_USER'] = $name;
+ $_SERVER['PHP_AUTH_PW'] = $password;
+ }
+ }
+
+ if(x($_SERVER,'HTTP_AUTHORIZATION')) {
+ $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"],6)) ;
+ if(strlen($userpass)) {
+ list($name, $password) = explode(':', $userpass);
+ $_SERVER['PHP_AUTH_USER'] = $name;
+ $_SERVER['PHP_AUTH_PW'] = $password;
+ }
+ }
+
+
+ if (!isset($_SERVER['PHP_AUTH_USER'])) {
+ logger('API_login: ' . print_r($_SERVER,true), LOGGER_DEBUG);
+ header('WWW-Authenticate: Basic realm="Red"');
+ header('HTTP/1.0 401 Unauthorized');
+ die('This api requires login');
+ }
+
+ // process normal login request
+ require_once('include/auth.php');
+ $channel_login = 0;
+ $record = account_verify_password($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']);
+ if(! $record) {
+ $r = q("select * from channel where channel_address = '%s' limit 1",
+ dbesc($_SERVER['PHP_AUTH_USER'])
+ );
+ if ($r) {
+ $x = q("select * from account where account_id = %d limit 1",
+ intval($r[0]['channel_account_id'])
+ );
+ if ($x) {
+ $record = account_verify_password($x[0]['account_email'],$_SERVER['PHP_AUTH_PW']);
+ if($record)
+ $channel_login = $r[0]['channel_id'];
+ }
+ }
+ if(! $record) {
+ logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG);
+ header('WWW-Authenticate: Basic realm="Red"');
+ header('HTTP/1.0 401 Unauthorized');
+ die('This api requires login');
+ }
+ }
+
+ require_once('include/security.php');
+ authenticate_success($record);
+
+ if($channel_login)
+ change_channel($channel_login);
+
+ $_SESSION['allow_api'] = true;
+}
diff --git a/include/auth.php b/include/auth.php
index 643894e32..4f0c4c928 100644
--- a/include/auth.php
+++ b/include/auth.php
@@ -9,6 +9,7 @@
* Also provides a function for OpenID identiy matching.
*/
+require_once('include/api_auth.php');
require_once('include/security.php');
/**
diff --git a/include/bbcode.php b/include/bbcode.php
index 05802aa57..a8372d728 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -570,7 +570,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,\@]';
if (strpos($Text,'http') !== false) {
- $Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" target="_newwin" >$2</a>', $Text);
+ $Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" target="_blank" >$2</a>', $Text);
}
if (strpos($Text,'[/share]') !== false) {
@@ -582,21 +582,21 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
}
}
if (strpos($Text,'[/url]') !== false) {
- $Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_newwin" >$1</a>', $Text);
- $Text = preg_replace("/\#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_newwin" >$2</a>', $Text);
- $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" target="_newwin" >$1</a>', $Text);
- $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" target="_newwin" >$2</a>', $Text);
+ $Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_blank" >$1</a>', $Text);
+ $Text = preg_replace("/\#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_blank" >$2</a>', $Text);
+ $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" target="_blank" >$1</a>', $Text);
+ $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" target="_blank" >$2</a>', $Text);
}
if (strpos($Text,'[/zrl]') !== false) {
- $Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_newwin" >$1</a>', $Text);
- $Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_newwin" >$2</a>', $Text);
- $Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_newwin" >$1</a>', $Text);
- $Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_newwin" >$2</a>', $Text);
+ $Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_blank" >$1</a>', $Text);
+ $Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_blank" >$2</a>', $Text);
+ $Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_blank" >$1</a>', $Text);
+ $Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_blank" >$2</a>', $Text);
}
// Perform MAIL Search
if (strpos($Text,'[/mail]') !== false) {
- $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1" target="_newwin" >$1</a>', $Text);
- $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1" target="_newwin" >$2</a>', $Text);
+ $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1" target="_blank" >$1</a>', $Text);
+ $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1" target="_blank" >$2</a>', $Text);
}
@@ -886,17 +886,17 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
// if video couldn't be embedded, link to it instead.
if (strpos($Text,'[/video]') !== false) {
- $Text = preg_replace("/\[video\](.*?)\[\/video\]/", '<a href="$1" target="_newwin" >$1</a>', $Text);
+ $Text = preg_replace("/\[video\](.*?)\[\/video\]/", '<a href="$1" target="_blank" >$1</a>', $Text);
}
if (strpos($Text,'[/audio]') !== false) {
- $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '<a href="$1" target="_newwin" >$1</a>', $Text);
+ $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '<a href="$1" target="_blank" >$1</a>', $Text);
}
if (strpos($Text,'[/zvideo]') !== false) {
- $Text = preg_replace("/\[zvideo\](.*?)\[\/zvideo\]/", '<a class="zid" href="$1" target="_newwin" >$1</a>', $Text);
+ $Text = preg_replace("/\[zvideo\](.*?)\[\/zvideo\]/", '<a class="zid" href="$1" target="_blank" >$1</a>', $Text);
}
if (strpos($Text,'[/zaudio]') !== false) {
- $Text = preg_replace("/\[zaudio\](.*?)\[\/zaudio\]/", '<a class="zid" href="$1" target="_newwin" >$1</a>', $Text);
+ $Text = preg_replace("/\[zaudio\](.*?)\[\/zaudio\]/", '<a class="zid" href="$1" target="_blank" >$1</a>', $Text);
}
if ($tryoembed){
@@ -905,7 +905,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
}
} else {
if (strpos($Text,'[/iframe]') !== false) {
- $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1" target="_newwin" >$1</a>', $Text);
+ $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1" target="_blank" >$1</a>', $Text);
}
}
diff --git a/include/conversation.php b/include/conversation.php
index a5fe573cd..2c447acbc 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -674,7 +674,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
$unverified = '';
// $tags=array();
-// $terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION,TERM_UNKNOWN));
+// $terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION,TERM_UNKNOWN,TERM_COMMUNITYTAG));
// if(count($terms))
// foreach($terms as $tag)
// $tags[] = format_term_for_display($tag);
@@ -944,7 +944,7 @@ function item_photo_menu($item){
$menu = Array(
t("View Source") => $vsrc_link,
t("Follow Thread") => $sub_link,
- t("Stop Following") => $unsub_link,
+ t("Unfollow Thread") => $unsub_link,
t("View Status") => $status_link,
t("View Profile") => $profile_link,
t("View Photos") => $photos_link,
@@ -1024,8 +1024,8 @@ function builtin_activity_puller($item, &$conv_responses) {
if((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) {
$name = (($item['author']['xchan_name']) ? $item['author']['xchan_name'] : t('Unknown'));
- $url = (($item['author']['xchan_url'])
- ? '<a href="' . chanlink_url($item['author']['xchan_url']) . '">' . $name . '</a>'
+ $url = (($item['author']['xchan_url'] && $item['author']['xchan_photo_s'])
+ ? '<a href="' . chanlink_url($item['author']['xchan_url']) . '">' . '<img class="dropdown-menu-img-xs" src="' . zid($item['author']['xchan_photo_s']) . '" alt="' . urlencode($name) . '" />' . $name . '</a>'
: '<a href="#" class="disabled">' . $name . '</a>'
);
@@ -1089,6 +1089,11 @@ function format_like($cnt, $arr, $type, $id) {
return $o;
}
+/**
+ * This is our general purpose content editor.
+ * It was once nicknamed "jot" and you may see references to "jot" littered throughout the code.
+ * They are referring to the content editor or components thereof.
+ */
function status_editor($a, $x, $popup = false) {
diff --git a/include/datetime.php b/include/datetime.php
index b0167edb2..ab9b061b6 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -198,7 +198,7 @@ function timesel($format, $h, $m, $id='timepicker') {
* @todo Once browser support is better this could probably be replaced with
* native HTML5 date picker.
*/
-function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) {
+function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false, $first_day = 0) {
$o = '';
$dateformat = '';
@@ -207,11 +207,11 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
if($pickdate && $picktime) $dateformat .= ' ';
if($picktime) $dateformat .= 'H:i';
- $minjs = $min ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : '';
- $maxjs = $max ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : '';
+ $minjs = $min->getTimestamp() ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : '';
+ $maxjs = $max->getTimestamp() ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : '';
- $input_text = $default ? 'value="' . date($dateformat, $default->getTimestamp()) . '"' : '';
- $defaultdatejs = $default ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : '';
+ $input_text = $default->getTimestamp() ? date($dateformat, $default->getTimestamp()) : '';
+ $defaultdatejs = $default->getTimestamp() ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : '';
$pickers = '';
if(!$pickdate) $pickers .= ',datepicker: false';
@@ -219,10 +219,10 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
$extra_js = '';
if($minfrom != '')
- $extra_js .= "\$('#$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
+ $extra_js .= "\$('#id_$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
if($maxfrom != '')
- $extra_js .= "\$('#$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
+ $extra_js .= "\$('#id_$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
$readable_format = $dateformat;
$readable_format = str_replace('Y','yyyy',$readable_format);
@@ -231,10 +231,11 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
$readable_format = str_replace('H','HH',$readable_format);
$readable_format = str_replace('i','MM',$readable_format);
- $o .= "<div class='date'><input type='text' placeholder='$readable_format' name='$id' id='$id' $input_text />";
- $o .= (($required) ? '<span class="required" title="' . t('Required') . '" >*</span>' : '');
- $o .= '</div>';
- $o .= "<script type='text/javascript'>\$(function () {var picker = \$('#$id').datetimepicker({step:5,format:'$dateformat' $minjs $maxjs $pickers $defaultdatejs}); $extra_js})</script>";
+ $tpl = get_markup_template('field_input.tpl');
+ $o .= replace_macros($tpl,array(
+ '$field' => array($id, $label, $input_text, (($required) ? t('Required') : ''), (($required) ? '*' : ''), 'placeholder="' . $readable_format . '"'),
+ ));
+ $o .= "<script>\$(function () {var picker = \$('#id_$id').datetimepicker({step:5,format:'$dateformat' $minjs $maxjs $pickers $defaultdatejs,dayOfWeekStart:$first_day}); $extra_js})</script>";
return $o;
}
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
index 708d8e709..1fb3d5c00 100755
--- a/include/dba/dba_driver.php
+++ b/include/dba/dba_driver.php
@@ -137,7 +137,7 @@ abstract class dba_driver {
}
if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
- if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
+ if((! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) && (! filter_var($server, FILTER_VALIDATE_IP))) {
$this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
$this->connected = false;
$this->db = null;
diff --git a/include/deliver.php b/include/deliver.php
index 11c1b249e..de93e316e 100644
--- a/include/deliver.php
+++ b/include/deliver.php
@@ -107,15 +107,10 @@ function deliver_run($argv, $argc) {
$notify = json_decode($r[0]['outq_notify'],true);
- // Check if this is a conversation request packet. It won't have outq_msg
- // but will be an encrypted packet - so will need to be handed off to
- // web delivery rather than processed inline.
+ // Messages without an outq_msg will need to go via the web, even if it's a
+ // local delivery. This includes conversation requests and refresh packets.
- $sendtoweb = false;
- if(array_key_exists('iv',$notify) && (! $r[0]['outq_msg']))
- $sendtoweb = true;
-
- if(($r[0]['outq_posturl'] === z_root() . '/post') && (! $sendtoweb)) {
+ if(($r[0]['outq_posturl'] === z_root() . '/post') && ($r[0]['outq_msg'])) {
logger('deliver: local delivery', LOGGER_DEBUG);
// local delivery
// we should probably batch these and save a few delivery processes
@@ -166,6 +161,7 @@ function deliver_run($argv, $argc) {
}
else {
logger('deliver: remote zot delivery failed to ' . $r[0]['outq_posturl']);
+ logger('deliver: remote zot delivery fail data: ' . print_r($result,true), LOGGER_DATA);
$y = q("update outq set outq_updated = '%s' where outq_hash = '%s'",
dbesc(datetime_convert()),
dbesc($argv[$x])
diff --git a/include/dir_fns.php b/include/dir_fns.php
index e5f0e1e2b..b9f221bd1 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -15,6 +15,19 @@ function find_upstream_directory($dirmode) {
global $DIRECTORY_FALLBACK_SERVERS;
$preferred = get_config('system','directory_server');
+
+ // Thwart attempts to use a private directory
+
+ if(($preferred) && ($preferred != z_root())) {
+ $r = q("select * from site where site_url = '%s' limit 1",
+ dbesc($preferred)
+ );
+ if(($r) && ($r[0]['site_flags'] & DIRECTORY_MODE_STADALONE)) {
+ $preferred = '';
+ }
+ }
+
+
if (! $preferred) {
/*
diff --git a/include/enotify.php b/include/enotify.php
index bbddcdd14..c9b6e0463 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -152,6 +152,8 @@ function notification($params) {
// $private = $p[0]['item_private'];
$parent_id = $p[0]['id'];
+ $parent_item = $p[0];
+
//$possess_desc = str_replace('<!item_type!>',$possess_desc);
// "a post"
@@ -358,6 +360,7 @@ function notification($params) {
$datarray['uid'] = $recip['channel_id'];
$datarray['link'] = $itemlink;
$datarray['parent'] = $parent_mid;
+ $datarray['parent_item'] = $parent_item;
$datarray['type'] = $params['type'];
$datarray['verb'] = $params['verb'];
$datarray['otype'] = $params['otype'];
diff --git a/include/features.php b/include/features.php
index 74ae7b3d7..4e962b00e 100644
--- a/include/features.php
+++ b/include/features.php
@@ -60,6 +60,7 @@ function get_features() {
array('content_encrypt', t('Even More Encryption'), t('Allow optional encryption of content end-to-end with a shared secret key'),false),
array('consensus_tools', t('Enable Voting Tools'), t('Provide a class of post which others can vote on'),false),
array('delayed_posting', t('Delayed Posting'), t('Allow posts to be published at a later date'),false),
+ array('suppress_duplicates', t('Suppress Duplicate Posts/Comments'), t('Prevent posts with identical content to be published with less than two minutes in between submissions.'),true),
),
diff --git a/include/identity.php b/include/identity.php
index 0c4a9df45..95ade3b28 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -710,7 +710,8 @@ function identity_export_year($channel_id,$year,$month = 0) {
else
$maxdate = datetime_convert('UTC','UTC',$year+1 . '-01-01 00:00:00');
- $r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d and created >= '%s' and created < '%s' and resource_type = '' order by created",
+ $r = q("select * from item where ( item_wall = 1 or item_type != %d ) and item_deleted = 0 and uid = %d and created >= '%s' and created < '%s' and resource_type = '' order by created",
+ intval(ITEM_TYPE_POST),
intval($channel_id),
dbesc($mindate),
dbesc($maxdate)
@@ -904,19 +905,6 @@ function profile_load(&$a, $nickname, $profile = '') {
}
/**
- * @brief
- *
- * @param App &$a
- * @param boolean $connect
- */
-function profile_create_sidebar(&$a, $connect = true) {
-
- $block = (((get_config('system', 'block_public')) && (! local_channel()) && (! remote_channel())) ? true : false);
-
- $a->set_widget('profile', profile_sidebar($a->profile, $block, $connect));
-}
-
-/**
* @brief Formats a profile for display in the sidebar.
*
* It is very difficult to templatise the HTML completely
@@ -1702,3 +1690,14 @@ function get_channel_default_perms($uid) {
return 0;
}
+
+
+function profiles_build_sync($channel_id) {
+
+ $r = q("select * from profile where uid = %d",
+ intval($channel_id)
+ );
+ if($r) {
+ build_sync_packet($channel_id,array('profile' => $r));
+ }
+}
diff --git a/include/import.php b/include/import.php
index 0fd1ab2a5..ffaea6c1a 100644
--- a/include/import.php
+++ b/include/import.php
@@ -2,7 +2,7 @@
require_once('include/menu.php');
-function import_channel($channel) {
+function import_channel($channel, $account_id) {
if(! array_key_exists('channel_system',$channel)) {
$channel['channel_system'] = (($channel['channel_pageflags'] & 0x1000) ? 1 : 0);
@@ -48,7 +48,7 @@ function import_channel($channel) {
}
unset($channel['channel_id']);
- $channel['channel_account_id'] = get_account_id();
+ $channel['channel_account_id'] = $account_id;
$channel['channel_primary'] = (($seize) ? 1 : 0);
if($channel['channel_pageflags'] & PAGE_ALLOWCODE) {
@@ -72,7 +72,7 @@ function import_channel($channel) {
}
$r = q("select * from channel where channel_account_id = %d and channel_guid = '%s' limit 1",
- intval(get_account_id()),
+ intval($account_id),
$channel['channel_guid'] // Already dbesc'd
);
if(! $r) {
@@ -83,7 +83,7 @@ function import_channel($channel) {
// reset
$channel = $r[0];
- set_default_login_identity(get_account_id(),$channel['channel_id'],false);
+ set_default_login_identity($account_id,$channel['channel_id'],false);
logger('import step 1');
$_SESSION['import_step'] = 1;
ref_session_write(session_id(), serialize($_SESSION));
diff --git a/include/items.php b/include/items.php
index 3e4805212..7d349c631 100755
--- a/include/items.php
+++ b/include/items.php
@@ -1408,7 +1408,7 @@ function encode_item_xchan($xchan) {
function encode_item_terms($terms,$mirror = false) {
$ret = array();
- $allowed_export_terms = array( TERM_UNKNOWN, TERM_HASHTAG, TERM_MENTION, TERM_CATEGORY, TERM_BOOKMARK );
+ $allowed_export_terms = array( TERM_UNKNOWN, TERM_HASHTAG, TERM_MENTION, TERM_CATEGORY, TERM_BOOKMARK, TERM_COMMUNITYTAG );
if($mirror) {
$allowed_export_terms[] = TERM_PCATEGORY;
@@ -1432,7 +1432,7 @@ function encode_item_terms($terms,$mirror = false) {
* @return string
*/
function termtype($t) {
- $types = array('unknown','hashtag','mention','category','private_category','file','search','thing','bookmark');
+ $types = array('unknown','hashtag','mention','category','private_category','file','search','thing','bookmark', 'hierarchy', 'communitytag');
return(($types[$t]) ? $types[$t] : 'unknown');
}
@@ -1478,6 +1478,9 @@ function decode_tags($t) {
case 'bookmark':
$tag['type'] = TERM_BOOKMARK;
break;
+ case 'communitytag':
+ $tag['type'] = TERM_COMMUNITYTAG;
+ break;
default:
case 'unknown':
$tag['type'] = TERM_UNKNOWN;
@@ -2962,9 +2965,12 @@ function tag_deliver($uid, $item_id) {
if(($item['source_xchan']) && intval($item['item_uplink'])
&& intval($item['item_thread_top']) && ($item['edited'] != $item['created'])) {
+
// this is an update (edit) to a post which was already processed by us and has a second delivery chain
// Just start the second delivery chain to deliver the updated post
- proc_run('php','include/notifier.php','tgroup',$item['id']);
+ // after resetting ownership and permission bits
+
+ start_delivery_chain($u[0], $item, $item_id, 0);
return;
}
@@ -3029,7 +3035,7 @@ function tag_deliver($uid, $item_id) {
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']);
+ store_item_tag($u[0]['channel_id'],$p[0]['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$j_obj['title'],$j_obj['id']);
$x = q("update item set edited = '%s', received = '%s', changed = '%s' where mid = '%s' and uid = %d",
dbesc(datetime_convert()),
dbesc(datetime_convert()),
@@ -3181,7 +3187,7 @@ function tag_deliver($uid, $item_id) {
}
if((! $mention) && (! $union)) {
- logger('tag_deliver: no mention and no union.');
+ logger('tag_deliver: no mention for ' . $u[0]['channel_name'] . ' and no union.');
return;
}
@@ -3434,7 +3440,7 @@ function check_item_source($uid, $item) {
foreach($words as $word) {
if(substr($word,0,1) === '#' && $tags) {
foreach($tags as $t)
- if(($t['type'] == TERM_HASHTAG) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
+ if((($t['type'] == TERM_HASHTAG) || ($t['type'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
return true;
}
elseif((strpos($word,'/') === 0) && preg_match($word,$text))
@@ -3487,7 +3493,7 @@ function post_is_importable($item,$abook) {
continue;
if(substr($word,0,1) === '#' && $tags) {
foreach($tags as $t)
- if(($t['type'] == TERM_HASHTAG) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
+ if((($t['type'] == TERM_HASHTAG) || ($t['type'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
return false;
}
elseif((strpos($word,'/') === 0) && preg_match($word,$text))
@@ -3508,7 +3514,7 @@ function post_is_importable($item,$abook) {
continue;
if(substr($word,0,1) === '#' && $tags) {
foreach($tags as $t)
- if(($t['type'] == TERM_HASHTAG) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
+ if((($t['type'] == TERM_HASHTAG) || ($t['type'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
return true;
}
elseif((strpos($word,'/') === 0) && preg_match($word,$text))
@@ -4159,12 +4165,12 @@ function enumerate_permissions($obj) {
function item_getfeedtags($item) {
- $terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION));
+ $terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION,TERM_COMMUNITYTAG));
$ret = array();
if(count($terms)) {
foreach($terms as $term) {
- if($term['type'] == TERM_HASHTAG)
+ if(($term['type'] == TERM_HASHTAG) || ($term['type'] == TERM_COMMUNITYTAG))
$ret[] = array('#',$term['url'],$term['term']);
else
$ret[] = array('@',$term['url'],$term['term']);
@@ -4872,7 +4878,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
if($arr['search']) {
if(strpos($arr['search'],'#') === 0)
- $sql_extra .= term_query('item',substr($arr['search'],1),TERM_HASHTAG);
+ $sql_extra .= term_query('item',substr($arr['search'],1),TERM_HASHTAG,TERM_COMMUNITYTAG);
else
$sql_extra .= sprintf(" AND item.body like '%s' ",
dbesc(protect_sprintf('%' . $arr['search'] . '%'))
diff --git a/include/network.php b/include/network.php
index c67c019ef..026f5ee0a 100644
--- a/include/network.php
+++ b/include/network.php
@@ -320,17 +320,18 @@ function xml_status($st, $message = '') {
killme();
}
+
+
/**
- * @brief Send HTTP status header and exit.
+ * @brief Send HTTP status header
*
* @param int $val
* integer HTTP status result value
* @param string $msg
* optional message
- * @returns (does not return, process is terminated)
+ * @returns nil
*/
-function http_status_exit($val, $msg = '') {
-
+function http_status($val, $msg = '') {
if ($val >= 400)
$msg = (($msg) ? $msg : 'Error');
if ($val >= 200 && $val < 300)
@@ -338,10 +339,26 @@ function http_status_exit($val, $msg = '') {
logger('http_status_exit ' . $val . ' ' . $msg);
header($_SERVER['SERVER_PROTOCOL'] . ' ' . $val . ' ' . $msg);
+}
+
+
+
+/**
+ * @brief 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 = '') {
+ http_status($val, $msg);
killme();
}
+
// convert an XML document to a normalised, case-corrected array
// used by webfinger
@@ -526,28 +543,6 @@ function allowed_email($email) {
-function avatar_img($email) {
-
- $avatar = array();
- $a = get_app();
-
- $avatar['size'] = 300;
- $avatar['email'] = $email;
- $avatar['url'] = '';
- $avatar['success'] = false;
-
- call_hooks('avatar_lookup', $avatar);
-
- if (! $avatar['success'])
- $avatar['url'] = $a->get_baseurl() . '/' . get_default_profile_photo();
-
- logger('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], LOGGER_DEBUG);
-
- return $avatar['url'];
-}
-
-
-
function parse_xml_string($s,$strict = true) {
if($strict) {
if(! strstr($s,'<?xml'))
diff --git a/include/notifier.php b/include/notifier.php
index 34a527e15..b7830285a 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -101,7 +101,7 @@ function notifier_run($argv, $argc){
$dead_hubs = array();
$dh = q("select site_url from site where site_dead = 1");
- if(dh) {
+ if($dh) {
foreach($dh as $dead) {
$dead_hubs[] = $dead['site_url'];
}
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 285cbc8fb..0de3b9c97 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -3,6 +3,17 @@
function photo_factory($data, $type = null) {
$ph = null;
+
+ $unsupported_types = array(
+ 'image/bmp',
+ 'image/vnd.microsoft.icon',
+ 'image/tiff',
+ 'image/svg+xml'
+ );
+
+ if($type && in_array(strtolower($type),$unsupported_types))
+ return null;
+
$ignore_imagick = get_config('system', 'ignore_imagick');
if(class_exists('Imagick') && !$ignore_imagick) {
diff --git a/include/system_unavailable.php b/include/system_unavailable.php
index dfe7c5e6b..4e0e6717b 100644
--- a/include/system_unavailable.php
+++ b/include/system_unavailable.php
@@ -1,6 +1,9 @@
<?php /** @file */
+require_once("include/network.php");
+
function system_down() {
+http_status(503, 'Service Unavailable');
echo <<< EOT
<html>
<head><title>System Unavailable</title></head>
diff --git a/include/taxonomy.php b/include/taxonomy.php
index e68b9659f..b396d53f1 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -26,12 +26,21 @@ function file_tag_file_query($table,$s,$type = 'file') {
);
}
-function term_query($table,$s,$type = TERM_UNKNOWN) {
+function term_query($table,$s,$type = TERM_UNKNOWN, $type2 = '') {
- 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))
- );
+ if($type2) {
+ return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type in (%d, %d) and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
+ intval($type),
+ intval($type2),
+ protect_sprintf(dbesc($s))
+ );
+ }
+ else {
+ 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))
+ );
+ }
}
@@ -84,7 +93,7 @@ function get_terms_oftype($arr,$type) {
function format_term_for_display($term) {
$s = '';
- if($term['type'] == TERM_HASHTAG)
+ if(($term['type'] == TERM_HASHTAG) || ($term['type'] == TERM_COMMUNITYTAG))
$s .= '#';
elseif($term['type'] == TERM_MENTION)
$s .= '@';
diff --git a/include/text.php b/include/text.php
index c2573da0c..eb9171b40 100644
--- a/include/text.php
+++ b/include/text.php
@@ -94,6 +94,8 @@ function z_input_filter($channel_id,$s,$type = 'text/bbcode') {
return escape_tags($s);
if($type == 'text/plain')
return escape_tags($s);
+ if($type == 'application/x-pdl')
+ return escape_tags($s);
$a = get_app();
if($a->is_sys) {
@@ -529,11 +531,12 @@ function attribute_contains($attr, $s) {
* LOGGER_DATA and LOGGER_ALL.
*
* Since PHP5.4 we get the file, function and line automatically where the logger
- * was caleld, so no need to add it to the message anymore.
+ * was called, so no need to add it to the message anymore.
*
* @param string $msg Message to log
* @param int $level A log level.
*/
+
function logger($msg, $level = 0) {
// turn off logger in install mode
global $a;
@@ -555,7 +558,13 @@ function logger($msg, $level = 0) {
$where = basename($stack[0]['file']) . ':' . $stack[0]['line'] . ':' . $stack[1]['function'] . ': ';
}
- @file_put_contents($logfile, datetime_convert() . ':' . session_id() . ' ' . $where . $msg . PHP_EOL, FILE_APPEND);
+ $s = datetime_convert() . ':' . session_id() . ' ' . $where . $msg . PHP_EOL;
+ $pluginfo = array('filename' => $logfile, 'loglevel' => $level, 'message' => $s,'logged' => false);
+
+ call_hooks('logger',$pluginfo);
+
+ if(! $pluginfo['logged'])
+ @file_put_contents($pluginfo['filename'], $pluginfo['message'], FILE_APPEND);
}
/**
@@ -872,15 +881,17 @@ function searchbox($s,$id='search-box',$url='/search',$save = false) {
));
}
+function valid_email_regex($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;
+}
function valid_email($x){
if(get_config('system','disable_email_validation'))
return true;
- if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
- return true;
-
- return false;
+ return valid_email_regex($x);
}
/**
@@ -1287,7 +1298,7 @@ function format_categories(&$item,$writeable) {
function format_hashtags(&$item) {
$s = '';
- $terms = get_terms_oftype($item['term'], TERM_HASHTAG);
+ $terms = get_terms_oftype($item['term'], array(TERM_HASHTAG,TERM_COMMUNITYTAG));
if($terms) {
foreach($terms as $t) {
$term = htmlspecialchars($t['term'], ENT_COMPAT, 'UTF-8', false) ;
@@ -1392,13 +1403,13 @@ function prepare_body(&$item,$attach = false) {
// if original photo width is <= 640px prepend it to item body
if($object['link'][0]['width'] && $object['link'][0]['width'] <= 640) {
- $s = '<div class="inline-photo-item-wrapper"><a href="' . zid(rawurldecode($object['id'])) . '" target="_newwin"><img class="inline-photo-item" style="max-width:' . $object['link'][0]['width'] . 'px; width:100%; height:auto;" src="' . zid(rawurldecode($object['link'][0]['href'])) . '"></a></div>' . $s;
+ $s = '<div class="inline-photo-item-wrapper"><a href="' . zid(rawurldecode($object['id'])) . '" target="_blank"><img class="inline-photo-item" style="max-width:' . $object['link'][0]['width'] . 'px; width:100%; height:auto;" src="' . zid(rawurldecode($object['link'][0]['href'])) . '"></a></div>' . $s;
}
// if original photo width is > 640px make it a cover photo
if($object['link'][0]['width'] && $object['link'][0]['width'] > 640) {
$scale = ((($object['link'][1]['width'] == 1024) || ($object['link'][1]['height'] == 1024)) ? 1 : 0);
- $photo = '<a href="' . zid(rawurldecode($object['id'])) . '" target="_newwin"><img style="max-width:' . $object['link'][$scale]['width'] . 'px; width:100%; height:auto;" src="' . zid(rawurldecode($object['link'][$scale]['href'])) . '"></a>';
+ $photo = '<a href="' . zid(rawurldecode($object['id'])) . '" target="_blank"><img style="max-width:' . $object['link'][$scale]['width'] . 'px; width:100%; height:auto;" src="' . zid(rawurldecode($object['link'][$scale]['href'])) . '"></a>';
}
}
@@ -1515,6 +1526,11 @@ function prepare_text($text, $content_type = 'text/bbcode', $cache = false) {
$s = Markdown($text);
break;
+
+ case 'application/x-pdl';
+ $s = escape_tags($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
@@ -1679,7 +1695,8 @@ function mimetype_select($channel_id, $current = 'text/bbcode') {
'text/bbcode',
'text/html',
'text/markdown',
- 'text/plain'
+ 'text/plain',
+ 'application/x-pdl'
);
$a = get_app();
diff --git a/include/widgets.php b/include/widgets.php
index 0f61a04a0..a3f7444ec 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -7,6 +7,7 @@
require_once('include/dir_fns.php');
require_once('include/contact_widgets.php');
+require_once('include/attach.php');
function widget_profile($args) {
@@ -661,6 +662,20 @@ function widget_conversations($arr) {
return $o;
}
+function widget_eventsmenu($arr) {
+ if (! local_channel())
+ return;
+
+ return replace_macros(get_markup_template('events_side.tpl'), array(
+ '$title' => t('Events Menu'),
+ '$day' => t('Day View'),
+ '$week' => t('Week View'),
+ '$month' => t('Month View'),
+ '$export' => t('Export'),
+ '$upload' => t('Import'),
+ '$submit' => t('Submit')
+ ));
+}
function widget_design_tools($arr) {
$a = get_app();
@@ -1221,3 +1236,102 @@ function widget_admin($arr) {
return $o;
}
+
+
+
+function widget_album($args) {
+
+ $owner_uid = get_app()->profile_uid;
+ $sql_extra = permissions_sql($owner_uid);
+
+
+ if(! perm_is_allowed($owner_uid,get_observer_hash(),'view_storage'))
+ return '';
+
+ if($args['album'])
+ $album = $args['album'];
+ if($args['title'])
+ $title = $args['title'];
+
+ /**
+ * This may return incorrect permissions if you have multiple directories of the same name.
+ * It is a limitation of the photo table using a name for a photo album instead of a folder hash
+ */
+
+ if($album) {
+ $x = q("select hash from attach where filename = '%s' and uid = %d limit 1",
+ dbesc($album),
+ intval($owner_uid)
+ );
+ if($x) {
+ $y = attach_can_view_folder($owner_uid,get_observer_hash(),$x[0]['hash']);
+ if(! $y)
+ return '';
+ }
+ }
+
+ $order = 'DESC';
+
+ $r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.scale, p.description, p.created FROM photo p INNER JOIN
+ (SELECT resource_id, max(scale) scale FROM photo WHERE uid = %d AND album = '%s' AND scale <= 4 AND photo_usage IN ( %d, %d ) $sql_extra GROUP BY resource_id) ph
+ ON (p.resource_id = ph.resource_id AND p.scale = ph.scale)
+ ORDER BY created $order ",
+ intval($owner_uid),
+ dbesc($album),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE)
+ );
+
+ //edit album name
+ $album_edit = null;
+
+
+ $photos = array();
+ if($r) {
+ $twist = 'rotright';
+ foreach($r as $rr) {
+
+ if($twist == 'rotright')
+ $twist = 'rotleft';
+ else
+ $twist = 'rotright';
+
+ $ext = $phototypes[$rr['type']];
+
+ $imgalt_e = $rr['filename'];
+ $desc_e = $rr['description'];
+
+ $imagelink = (z_root() . '/photos/' . get_app()->profile['channel_address'] . '/image/' . $rr['resource_id']);
+
+
+ $photos[] = array(
+ 'id' => $rr['id'],
+ 'twist' => ' ' . $twist . rand(2,4),
+ 'link' => $imagelink,
+ 'title' => t('View Photo'),
+ 'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext,
+ 'alt' => $imgalt_e,
+ 'desc'=> $desc_e,
+ 'ext' => $ext,
+ 'hash'=> $rr['resource_id'],
+ 'unknown' => t('Unknown')
+ );
+ }
+ }
+
+
+ $tpl = get_markup_template('photo_album.tpl');
+ $o .= replace_macros($tpl, array(
+ '$photos' => $photos,
+ '$album' => (($title) ? $title : $album),
+ '$album_edit' => array(t('Edit Album'), $album_edit),
+ '$can_post' => false,
+ '$upload' => array(t('Upload'), z_root() . '/photos/' . get_app()->profile['channel_address'] . '/upload/' . bin2hex($album)),
+ '$order' => false,
+ '$upload_form' => $upload_form,
+ '$usage' => $usage_message
+ ));
+
+ return $o;
+}
+
diff --git a/include/zot.php b/include/zot.php
index d5d68f72c..2366c1d2d 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -745,8 +745,8 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
|| ($r[0]['xchan_follow'] != $arr['follow_url'])
|| ($r[0]['xchan_connpage'] != $arr['connect_url'])
|| ($r[0]['xchan_url'] != $arr['url'])
- || $hidden_changed || adult_changed || deleted_changed || $pubforum_changed ) {
- $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
+ || $hidden_changed || $adult_changed || $deleted_changed || $pubforum_changed ) {
+ $rup = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
xchan_connpage = '%s', xchan_hidden = %d, xchan_selfcensored = %d, xchan_deleted = %d, xchan_pubforum = %d,
xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s'",
dbesc(($arr['name']) ? $arr['name'] : '-'),
@@ -763,8 +763,8 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
dbesc($xchan_hash)
);
- logger('import_xchan: existing: ' . print_r($r[0],true), LOGGER_DATA);
- logger('import_xchan: new: ' . print_r($arr,true), LOGGER_DATA);
+ logger('import_xchan: update: existing: ' . print_r($r[0],true), LOGGER_DATA);
+ logger('import_xchan: update: new: ' . print_r($arr,true), LOGGER_DATA);
$what .= 'xchan ';
$changed = true;
}
@@ -1933,11 +1933,12 @@ function remove_community_tag($sender, $arr, $uid) {
return;
}
- q("delete from term where uid = %d and oid = %d and otype = %d and type = %d and term = '%s' and url = '%s'",
+ q("delete from term where uid = %d and oid = %d and otype = %d and type in ( %d, %d ) and term = '%s' and url = '%s'",
intval($uid),
intval($r[0]['id']),
intval(TERM_OBJ_POST),
intval(TERM_HASHTAG),
+ intval(TERM_COMMUNITYTAG),
dbesc($i['object']['title']),
dbesc(get_rel_link($i['object']['link'],'alternate'))
);
@@ -3949,6 +3950,10 @@ function delivery_report_is_storable($dr) {
if(! $c)
return false;
+
+
+
+
// is the recipient one of our connections, or do we want to store every report?
$r = explode(' ', $dr['recipient']);
@@ -3957,6 +3962,14 @@ function delivery_report_is_storable($dr) {
if($pcf)
return true;
+ // We always add ourself as a recipient to private and relayed posts
+ // So if a remote site says they can't find us, that's no big surprise
+ // and just creates a lot of extra report noise
+
+ if(($dr['location'] !== z_root()) && ($dr['sender'] === $rxchan) && ($dr['status'] === 'recipient_not_found'))
+ return false;
+
+
$r = q("select abook_id from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
dbesc($rxchan),
intval($c[0]['channel_id'])
diff --git a/index.php b/index.php
index 3758b38b0..6ed7eeb11 100755
--- a/index.php
+++ b/index.php
@@ -36,6 +36,10 @@ require_once('include/dba/dba_driver.php');
if(! $a->install) {
$db = dba_factory($db_host, $db_port, $db_user, $db_pass, $db_data, $db_type, $a->install);
+ if(! $db->connected) {
+ system_unavailable();
+ }
+
unset($db_host, $db_port, $db_user, $db_pass, $db_data, $db_type);
/**
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index 70a7a576a..95ed9acb7 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -44,7 +44,6 @@ CREATE TABLE "abook" (
create index "abook_profile" on abook ("abook_profile");
create index "abook_dob" on abook ("abook_dob");
create index "abook_connected" on abook ("abook_connected");
- create index "abook_rating" on abook ("abook_rating");
create index "abook_channel_closeness" on abook ("abook_channel", "abook_closeness");
CREATE TABLE "account" (
@@ -342,8 +341,8 @@ create index "conv_created_idx" on conv ("created");
create index "conv_updated_idx" on conv ("updated");
CREATE TABLE IF NOT EXISTS "dreport" (
- "dreport_id" int(11) NOT NULL,
- "dreport_channel" int(11) NOT NULL DEFAULT '0',
+ "dreport_id" int NOT NULL,
+ "dreport_channel" int NOT NULL DEFAULT '0',
"dreport_mid" char(255) NOT NULL DEFAULT '',
"dreport_site" char(255) NOT NULL DEFAULT '',
"dreport_recip" char(255) NOT NULL DEFAULT '',
@@ -388,7 +387,7 @@ CREATE TABLE "event" (
"deny_gid" text NOT NULL,
"event_status" char(255) NOT NULL DEFAULT '',
"event_status_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
- "event_percent" smallint(6) NOT NULL DEFAULT '0',
+ "event_percent" smallint NOT NULL DEFAULT '0',
"event_repeat" text NOT NULL,
"event_sequence" smallint NOT NULL DEFAULT '0',
"event_priority" smallint NOT NULL DEFAULT '0',
@@ -623,7 +622,7 @@ CREATE TABLE "item" (
"item_retained" smallint NOT NULL DEFAULT '0',
"item_rss" smallint NOT NULL DEFAULT '0',
"item_deleted" smallint NOT NULL DEFAULT '0',
- "item_type" int(11) NOT NULL DEFAULT '0',
+ "item_type" int NOT NULL DEFAULT '0',
"item_hidden" smallint NOT NULL DEFAULT '0',
"item_unpublished" smallint NOT NULL DEFAULT '0',
"item_delayed" smallint NOT NULL DEFAULT '0',
@@ -918,11 +917,11 @@ CREATE TABLE "photo" (
"data" bytea NOT NULL,
"scale" numeric(3) NOT NULL,
"profile" numeric(1) NOT NULL DEFAULT '0',
- "photo_usage" smallint(6) NOT NULL DEFAULT '0',
+ "photo_usage" smallint NOT NULL DEFAULT '0',
"is_nsfw" smallint NOT NULL DEFAULT '0',
"os_storage" smallint NOT NULL DEFAULT '0',
- "os_path" mediumtext NOT NULL,
- "display_path" mediumtext NOT NULL,
+ "os_path" text NOT NULL,
+ "display_path" text NOT NULL,
"photo_flags" bigint NOT NULL DEFAULT '0',
"allow_cid" text NOT NULL,
"allow_gid" text NOT NULL,
diff --git a/install/update.php b/install/update.php
index 38e76afda..10ae6725e 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1159 );
+define( 'UPDATE_VERSION' , 1160 );
/**
*
@@ -1932,3 +1932,21 @@ function update_r1158() {
}
+function update_r1159() {
+ $r = q("select attach.id, attach.data, attach.hash, channel_address from attach left join channel on attach.uid = channel_id where os_storage = 1 ");
+ if($r) {
+ foreach($r as $rr) {
+ $x = dbunescbin($rr['data']);
+ $has_slash = (($x === 'store/' . $rr['channel_address'] . '/') ? true : false);
+ if(($x === 'store/' . $rr['channel_address']) || ($has_slash)) {
+ q("update attach set data = '%s' where id = %d",
+ dbesc('store/' . $rr['channel_address']. (($has_slash) ? '' : '/' . $rr['hash'])),
+ dbesc($rr['id'])
+ );
+ }
+ }
+ }
+ return UPDATE_SUCCESS;
+}
+
+
diff --git a/library/bootstrap/css/bootstrap-theme.css b/library/bootstrap/css/bootstrap-theme.css
index b0fdfcbf9..c19cd5c4b 100644
--- a/library/bootstrap/css/bootstrap-theme.css
+++ b/library/bootstrap/css/bootstrap-theme.css
@@ -1,9 +1,8 @@
/*!
- * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-
.btn-default,
.btn-primary,
.btn-success,
@@ -29,6 +28,27 @@
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
+.btn-default.disabled,
+.btn-primary.disabled,
+.btn-success.disabled,
+.btn-info.disabled,
+.btn-warning.disabled,
+.btn-danger.disabled,
+.btn-default[disabled],
+.btn-primary[disabled],
+.btn-success[disabled],
+.btn-info[disabled],
+.btn-warning[disabled],
+.btn-danger[disabled],
+fieldset[disabled] .btn-default,
+fieldset[disabled] .btn-primary,
+fieldset[disabled] .btn-success,
+fieldset[disabled] .btn-info,
+fieldset[disabled] .btn-warning,
+fieldset[disabled] .btn-danger {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
@@ -64,8 +84,23 @@
border-color: #dbdbdb;
}
.btn-default.disabled,
-.btn-default:disabled,
-.btn-default[disabled] {
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
@@ -90,8 +125,23 @@
border-color: #245580;
}
.btn-primary.disabled,
-.btn-primary:disabled,
-.btn-primary[disabled] {
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
@@ -116,8 +166,23 @@
border-color: #3e8f3e;
}
.btn-success.disabled,
-.btn-success:disabled,
-.btn-success[disabled] {
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
@@ -142,8 +207,23 @@
border-color: #28a4c9;
}
.btn-info.disabled,
-.btn-info:disabled,
-.btn-info[disabled] {
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
@@ -168,8 +248,23 @@
border-color: #e38d13;
}
.btn-warning.disabled,
-.btn-warning:disabled,
-.btn-warning[disabled] {
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
@@ -194,8 +289,23 @@
border-color: #b92c28;
}
.btn-danger.disabled,
-.btn-danger:disabled,
-.btn-danger[disabled] {
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
@@ -260,6 +370,7 @@
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
+ border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
diff --git a/library/bootstrap/css/bootstrap-theme.min.css b/library/bootstrap/css/bootstrap-theme.min.css
index cefa3d1ae..61358b13d 100644
--- a/library/bootstrap/css/bootstrap-theme.min.css
+++ b/library/bootstrap/css/bootstrap-theme.min.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file
+ */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.css b/library/bootstrap/css/bootstrap.css
index fb15e3d69..680e76878 100644
--- a/library/bootstrap/css/bootstrap.css
+++ b/library/bootstrap/css/bootstrap.css
@@ -1,10 +1,9 @@
/*!
- * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
-webkit-text-size-adjust: 100%;
@@ -239,9 +238,6 @@ th {
h3 {
page-break-after: avoid;
}
- select {
- background: #fff !important;
- }
.navbar {
display: none;
}
@@ -1344,62 +1340,72 @@ mark,
.text-primary {
color: #337ab7;
}
-a.text-primary:hover {
+a.text-primary:hover,
+a.text-primary:focus {
color: #286090;
}
.text-success {
color: #3c763d;
}
-a.text-success:hover {
+a.text-success:hover,
+a.text-success:focus {
color: #2b542c;
}
.text-info {
color: #31708f;
}
-a.text-info:hover {
+a.text-info:hover,
+a.text-info:focus {
color: #245269;
}
.text-warning {
color: #8a6d3b;
}
-a.text-warning:hover {
+a.text-warning:hover,
+a.text-warning:focus {
color: #66512c;
}
.text-danger {
color: #a94442;
}
-a.text-danger:hover {
+a.text-danger:hover,
+a.text-danger:focus {
color: #843534;
}
.bg-primary {
color: #fff;
background-color: #337ab7;
}
-a.bg-primary:hover {
+a.bg-primary:hover,
+a.bg-primary:focus {
background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
}
-a.bg-success:hover {
+a.bg-success:hover,
+a.bg-success:focus {
background-color: #c1e2b3;
}
.bg-info {
background-color: #d9edf7;
}
-a.bg-info:hover {
+a.bg-info:hover,
+a.bg-info:focus {
background-color: #afd9ee;
}
.bg-warning {
background-color: #fcf8e3;
}
-a.bg-warning:hover {
+a.bg-warning:hover,
+a.bg-warning:focus {
background-color: #f7ecb5;
}
.bg-danger {
background-color: #f2dede;
}
-a.bg-danger:hover {
+a.bg-danger:hover,
+a.bg-danger:focus {
background-color: #e4b9b9;
}
.page-header {
@@ -2593,10 +2599,10 @@ input[type="search"] {
-webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
- input[type="date"],
- input[type="time"],
- input[type="datetime-local"],
- input[type="month"] {
+ input[type="date"].form-control,
+ input[type="time"].form-control,
+ input[type="datetime-local"].form-control,
+ input[type="month"].form-control {
line-height: 34px;
}
input[type="date"].input-sm,
@@ -2718,18 +2724,18 @@ select[multiple].input-sm {
line-height: 1.5;
border-radius: 3px;
}
-select.form-group-sm .form-control {
+.form-group-sm select.form-control {
height: 30px;
line-height: 30px;
}
-textarea.form-group-sm .form-control,
-select[multiple].form-group-sm .form-control {
+.form-group-sm textarea.form-control,
+.form-group-sm select[multiple].form-control {
height: auto;
}
.form-group-sm .form-control-static {
height: 30px;
min-height: 32px;
- padding: 5px 10px;
+ padding: 6px 10px;
font-size: 12px;
line-height: 1.5;
}
@@ -2755,18 +2761,18 @@ select[multiple].input-lg {
line-height: 1.3333333;
border-radius: 6px;
}
-select.form-group-lg .form-control {
+.form-group-lg select.form-control {
height: 46px;
line-height: 46px;
}
-textarea.form-group-lg .form-control,
-select[multiple].form-group-lg .form-control {
+.form-group-lg textarea.form-control,
+.form-group-lg select[multiple].form-control {
height: auto;
}
.form-group-lg .form-control-static {
height: 46px;
min-height: 38px;
- padding: 10px 16px;
+ padding: 11px 16px;
font-size: 18px;
line-height: 1.3333333;
}
@@ -2788,12 +2794,16 @@ select[multiple].form-group-lg .form-control {
text-align: center;
pointer-events: none;
}
-.input-lg + .form-control-feedback {
+.input-lg + .form-control-feedback,
+.input-group-lg + .form-control-feedback,
+.form-group-lg .form-control + .form-control-feedback {
width: 46px;
height: 46px;
line-height: 46px;
}
-.input-sm + .form-control-feedback {
+.input-sm + .form-control-feedback,
+.input-group-sm + .form-control-feedback,
+.form-group-sm .form-control + .form-control-feedback {
width: 30px;
height: 30px;
line-height: 30px;
@@ -2979,11 +2989,13 @@ select[multiple].form-group-lg .form-control {
@media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label {
padding-top: 14.333333px;
+ font-size: 18px;
}
}
@media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label {
padding-top: 6px;
+ font-size: 12px;
}
}
.btn {
@@ -3033,21 +3045,32 @@ select[multiple].form-group-lg .form-control {
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
- pointer-events: none;
cursor: not-allowed;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
opacity: .65;
}
+a.btn.disabled,
+fieldset[disabled] a.btn {
+ pointer-events: none;
+}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
-.btn-default:hover,
.btn-default:focus,
-.btn-default.focus,
+.btn-default.focus {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #8c8c8c;
+}
+.btn-default:hover {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #adadad;
+}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
@@ -3055,6 +3078,19 @@ fieldset[disabled] .btn {
background-color: #e6e6e6;
border-color: #adadad;
}
+.btn-default:active:hover,
+.btn-default.active:hover,
+.open > .dropdown-toggle.btn-default:hover,
+.btn-default:active:focus,
+.btn-default.active:focus,
+.open > .dropdown-toggle.btn-default:focus,
+.btn-default:active.focus,
+.btn-default.active.focus,
+.open > .dropdown-toggle.btn-default.focus {
+ color: #333;
+ background-color: #d4d4d4;
+ border-color: #8c8c8c;
+}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
@@ -3090,9 +3126,17 @@ fieldset[disabled] .btn-default.active {
background-color: #337ab7;
border-color: #2e6da4;
}
-.btn-primary:hover,
.btn-primary:focus,
-.btn-primary.focus,
+.btn-primary.focus {
+ color: #fff;
+ background-color: #286090;
+ border-color: #122b40;
+}
+.btn-primary:hover {
+ color: #fff;
+ background-color: #286090;
+ border-color: #204d74;
+}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
@@ -3100,6 +3144,19 @@ fieldset[disabled] .btn-default.active {
background-color: #286090;
border-color: #204d74;
}
+.btn-primary:active:hover,
+.btn-primary.active:hover,
+.open > .dropdown-toggle.btn-primary:hover,
+.btn-primary:active:focus,
+.btn-primary.active:focus,
+.open > .dropdown-toggle.btn-primary:focus,
+.btn-primary:active.focus,
+.btn-primary.active.focus,
+.open > .dropdown-toggle.btn-primary.focus {
+ color: #fff;
+ background-color: #204d74;
+ border-color: #122b40;
+}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
@@ -3135,9 +3192,17 @@ fieldset[disabled] .btn-primary.active {
background-color: #5cb85c;
border-color: #4cae4c;
}
-.btn-success:hover,
.btn-success:focus,
-.btn-success.focus,
+.btn-success.focus {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #255625;
+}
+.btn-success:hover {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #398439;
+}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
@@ -3145,6 +3210,19 @@ fieldset[disabled] .btn-primary.active {
background-color: #449d44;
border-color: #398439;
}
+.btn-success:active:hover,
+.btn-success.active:hover,
+.open > .dropdown-toggle.btn-success:hover,
+.btn-success:active:focus,
+.btn-success.active:focus,
+.open > .dropdown-toggle.btn-success:focus,
+.btn-success:active.focus,
+.btn-success.active.focus,
+.open > .dropdown-toggle.btn-success.focus {
+ color: #fff;
+ background-color: #398439;
+ border-color: #255625;
+}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
@@ -3180,9 +3258,17 @@ fieldset[disabled] .btn-success.active {
background-color: #5bc0de;
border-color: #46b8da;
}
-.btn-info:hover,
.btn-info:focus,
-.btn-info.focus,
+.btn-info.focus {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #1b6d85;
+}
+.btn-info:hover {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #269abc;
+}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
@@ -3190,6 +3276,19 @@ fieldset[disabled] .btn-success.active {
background-color: #31b0d5;
border-color: #269abc;
}
+.btn-info:active:hover,
+.btn-info.active:hover,
+.open > .dropdown-toggle.btn-info:hover,
+.btn-info:active:focus,
+.btn-info.active:focus,
+.open > .dropdown-toggle.btn-info:focus,
+.btn-info:active.focus,
+.btn-info.active.focus,
+.open > .dropdown-toggle.btn-info.focus {
+ color: #fff;
+ background-color: #269abc;
+ border-color: #1b6d85;
+}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
@@ -3225,9 +3324,17 @@ fieldset[disabled] .btn-info.active {
background-color: #f0ad4e;
border-color: #eea236;
}
-.btn-warning:hover,
.btn-warning:focus,
-.btn-warning.focus,
+.btn-warning.focus {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #985f0d;
+}
+.btn-warning:hover {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #d58512;
+}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
@@ -3235,6 +3342,19 @@ fieldset[disabled] .btn-info.active {
background-color: #ec971f;
border-color: #d58512;
}
+.btn-warning:active:hover,
+.btn-warning.active:hover,
+.open > .dropdown-toggle.btn-warning:hover,
+.btn-warning:active:focus,
+.btn-warning.active:focus,
+.open > .dropdown-toggle.btn-warning:focus,
+.btn-warning:active.focus,
+.btn-warning.active.focus,
+.open > .dropdown-toggle.btn-warning.focus {
+ color: #fff;
+ background-color: #d58512;
+ border-color: #985f0d;
+}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
@@ -3270,9 +3390,17 @@ fieldset[disabled] .btn-warning.active {
background-color: #d9534f;
border-color: #d43f3a;
}
-.btn-danger:hover,
.btn-danger:focus,
-.btn-danger.focus,
+.btn-danger.focus {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #761c19;
+}
+.btn-danger:hover {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #ac2925;
+}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
@@ -3280,6 +3408,19 @@ fieldset[disabled] .btn-warning.active {
background-color: #c9302c;
border-color: #ac2925;
}
+.btn-danger:active:hover,
+.btn-danger.active:hover,
+.open > .dropdown-toggle.btn-danger:hover,
+.btn-danger:active:focus,
+.btn-danger.active:focus,
+.open > .dropdown-toggle.btn-danger:focus,
+.btn-danger:active.focus,
+.btn-danger.active.focus,
+.open > .dropdown-toggle.btn-danger.focus {
+ color: #fff;
+ background-color: #ac2925;
+ border-color: #761c19;
+}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
@@ -3418,6 +3559,7 @@ tbody.collapse.in {
margin-left: 2px;
vertical-align: middle;
border-top: 4px dashed;
+ border-top: 4px solid \9;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
@@ -3534,7 +3676,8 @@ tbody.collapse.in {
.navbar-fixed-bottom .dropdown .caret {
content: "";
border-top: 0;
- border-bottom: 4px solid;
+ border-bottom: 4px dashed;
+ border-bottom: 4px solid \9;
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
@@ -3582,6 +3725,7 @@ tbody.collapse.in {
.btn-toolbar {
margin-left: -5px;
}
+.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
float: left;
@@ -3872,6 +4016,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
+ z-index: 2;
margin-left: -1px;
}
.nav {
@@ -4647,6 +4792,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
+ z-index: 3;
color: #23527c;
background-color: #eee;
border-color: #ddd;
@@ -4678,6 +4824,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
.pagination-lg > li > span {
padding: 10px 16px;
font-size: 18px;
+ line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
@@ -4693,6 +4840,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
.pagination-sm > li > span {
padding: 5px 10px;
font-size: 12px;
+ line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
@@ -4819,7 +4967,7 @@ a.label:focus {
color: #fff;
text-align: center;
white-space: nowrap;
- vertical-align: baseline;
+ vertical-align: middle;
background-color: #777;
border-radius: 10px;
}
@@ -4856,7 +5004,8 @@ a.badge:focus {
margin-left: 3px;
}
.jumbotron {
- padding: 30px 15px;
+ padding-top: 30px;
+ padding-bottom: 30px;
margin-bottom: 30px;
color: inherit;
background-color: #eee;
@@ -4882,7 +5031,8 @@ a.badge:focus {
}
@media screen and (min-width: 768px) {
.jumbotron {
- padding: 48px 0;
+ padding-top: 48px;
+ padding-bottom: 48px;
}
.container .jumbotron,
.container-fluid .jumbotron {
@@ -5106,6 +5256,9 @@ a.thumbnail.active {
.media-object {
display: block;
}
+.media-object.img-thumbnail {
+ max-width: none;
+}
.media-right,
.media > .pull-right {
padding-left: 10px;
@@ -5155,18 +5308,26 @@ a.thumbnail.active {
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
-a.list-group-item {
+a.list-group-item,
+button.list-group-item {
color: #555;
}
-a.list-group-item .list-group-item-heading {
+a.list-group-item .list-group-item-heading,
+button.list-group-item .list-group-item-heading {
color: #333;
}
a.list-group-item:hover,
-a.list-group-item:focus {
+button.list-group-item:hover,
+a.list-group-item:focus,
+button.list-group-item:focus {
color: #555;
text-decoration: none;
background-color: #f5f5f5;
}
+button.list-group-item {
+ width: 100%;
+ text-align: left;
+}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
@@ -5212,20 +5373,27 @@ a.list-group-item:focus {
color: #3c763d;
background-color: #dff0d8;
}
-a.list-group-item-success {
+a.list-group-item-success,
+button.list-group-item-success {
color: #3c763d;
}
-a.list-group-item-success .list-group-item-heading {
+a.list-group-item-success .list-group-item-heading,
+button.list-group-item-success .list-group-item-heading {
color: inherit;
}
a.list-group-item-success:hover,
-a.list-group-item-success:focus {
+button.list-group-item-success:hover,
+a.list-group-item-success:focus,
+button.list-group-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-group-item-success.active,
+button.list-group-item-success.active,
a.list-group-item-success.active:hover,
-a.list-group-item-success.active:focus {
+button.list-group-item-success.active:hover,
+a.list-group-item-success.active:focus,
+button.list-group-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
@@ -5234,20 +5402,27 @@ a.list-group-item-success.active:focus {
color: #31708f;
background-color: #d9edf7;
}
-a.list-group-item-info {
+a.list-group-item-info,
+button.list-group-item-info {
color: #31708f;
}
-a.list-group-item-info .list-group-item-heading {
+a.list-group-item-info .list-group-item-heading,
+button.list-group-item-info .list-group-item-heading {
color: inherit;
}
a.list-group-item-info:hover,
-a.list-group-item-info:focus {
+button.list-group-item-info:hover,
+a.list-group-item-info:focus,
+button.list-group-item-info:focus {
color: #31708f;
background-color: #c4e3f3;
}
a.list-group-item-info.active,
+button.list-group-item-info.active,
a.list-group-item-info.active:hover,
-a.list-group-item-info.active:focus {
+button.list-group-item-info.active:hover,
+a.list-group-item-info.active:focus,
+button.list-group-item-info.active:focus {
color: #fff;
background-color: #31708f;
border-color: #31708f;
@@ -5256,20 +5431,27 @@ a.list-group-item-info.active:focus {
color: #8a6d3b;
background-color: #fcf8e3;
}
-a.list-group-item-warning {
+a.list-group-item-warning,
+button.list-group-item-warning {
color: #8a6d3b;
}
-a.list-group-item-warning .list-group-item-heading {
+a.list-group-item-warning .list-group-item-heading,
+button.list-group-item-warning .list-group-item-heading {
color: inherit;
}
a.list-group-item-warning:hover,
-a.list-group-item-warning:focus {
+button.list-group-item-warning:hover,
+a.list-group-item-warning:focus,
+button.list-group-item-warning:focus {
color: #8a6d3b;
background-color: #faf2cc;
}
a.list-group-item-warning.active,
+button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
-a.list-group-item-warning.active:focus {
+button.list-group-item-warning.active:hover,
+a.list-group-item-warning.active:focus,
+button.list-group-item-warning.active:focus {
color: #fff;
background-color: #8a6d3b;
border-color: #8a6d3b;
@@ -5278,20 +5460,27 @@ a.list-group-item-warning.active:focus {
color: #a94442;
background-color: #f2dede;
}
-a.list-group-item-danger {
+a.list-group-item-danger,
+button.list-group-item-danger {
color: #a94442;
}
-a.list-group-item-danger .list-group-item-heading {
+a.list-group-item-danger .list-group-item-heading,
+button.list-group-item-danger .list-group-item-heading {
color: inherit;
}
a.list-group-item-danger:hover,
-a.list-group-item-danger:focus {
+button.list-group-item-danger:hover,
+a.list-group-item-danger:focus,
+button.list-group-item-danger:focus {
color: #a94442;
background-color: #ebcccc;
}
a.list-group-item-danger.active,
+button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
-a.list-group-item-danger.active:focus {
+button.list-group-item-danger.active:hover,
+a.list-group-item-danger.active:focus,
+button.list-group-item-danger.active:focus {
color: #fff;
background-color: #a94442;
border-color: #a94442;
@@ -5365,6 +5554,10 @@ a.list-group-item-danger.active:focus {
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
+.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
.panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0;
}
@@ -5846,10 +6039,23 @@ button.close {
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
+ font-style: normal;
font-weight: normal;
- line-height: 1.4;
+ line-height: 1.42857143;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
+ white-space: normal;
filter: alpha(opacity=0);
opacity: 0;
+
+ line-break: auto;
}
.tooltip.in {
filter: alpha(opacity=90);
@@ -5876,7 +6082,6 @@ button.close {
padding: 3px 8px;
color: #fff;
text-align: center;
- text-decoration: none;
background-color: #000;
border-radius: 4px;
}
@@ -5953,9 +6158,18 @@ button.close {
padding: 1px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
+ font-style: normal;
font-weight: normal;
line-height: 1.42857143;
text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
white-space: normal;
background-color: #fff;
-webkit-background-clip: padding-box;
@@ -5965,6 +6179,8 @@ button.close {
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
+
+ line-break: auto;
}
.popover.top {
margin-top: -10px;
@@ -6092,8 +6308,8 @@ button.close {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
- -webkit-perspective: 1000;
- perspective: 1000;
+ -webkit-perspective: 1000px;
+ perspective: 1000px;
}
.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
@@ -6192,6 +6408,7 @@ button.close {
top: 50%;
z-index: 5;
display: inline-block;
+ margin-top: -10px;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
@@ -6207,7 +6424,6 @@ button.close {
.carousel-control .icon-next {
width: 20px;
height: 20px;
- margin-top: -10px;
font-family: serif;
line-height: 1;
}
@@ -6399,7 +6615,7 @@ button.close {
display: block !important;
}
table.visible-xs {
- display: table;
+ display: table !important;
}
tr.visible-xs {
display: table-row !important;
@@ -6429,7 +6645,7 @@ button.close {
display: block !important;
}
table.visible-sm {
- display: table;
+ display: table !important;
}
tr.visible-sm {
display: table-row !important;
@@ -6459,7 +6675,7 @@ button.close {
display: block !important;
}
table.visible-md {
- display: table;
+ display: table !important;
}
tr.visible-md {
display: table-row !important;
@@ -6489,7 +6705,7 @@ button.close {
display: block !important;
}
table.visible-lg {
- display: table;
+ display: table !important;
}
tr.visible-lg {
display: table-row !important;
@@ -6542,7 +6758,7 @@ button.close {
display: block !important;
}
table.visible-print {
- display: table;
+ display: table !important;
}
tr.visible-print {
display: table-row !important;
diff --git a/library/bootstrap/css/bootstrap.min.css b/library/bootstrap/css/bootstrap.min.css
index cd1c616ad..d65c66b1b 100644
--- a/library/bootstrap/css/bootstrap.min.css
+++ b/library/bootstrap/css/bootstrap.min.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.js b/library/bootstrap/js/bootstrap.js
index 1c88b71e8..5debfd7de 100644
--- a/library/bootstrap/js/bootstrap.js
+++ b/library/bootstrap/js/bootstrap.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under the MIT license
*/
if (typeof jQuery === 'undefined') {
@@ -17,7 +17,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: transition.js v3.3.4
+ * Bootstrap: transition.js v3.3.5
* http://getbootstrap.com/javascript/#transitions
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -77,7 +77,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: alert.js v3.3.4
+ * Bootstrap: alert.js v3.3.5
* http://getbootstrap.com/javascript/#alerts
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
$(el).on('click', dismiss, this.close)
}
- Alert.VERSION = '3.3.4'
+ Alert.VERSION = '3.3.5'
Alert.TRANSITION_DURATION = 150
@@ -172,7 +172,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: button.js v3.3.4
+ * Bootstrap: button.js v3.3.5
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -192,7 +192,7 @@ if (typeof jQuery === 'undefined') {
this.isLoading = false
}
- Button.VERSION = '3.3.4'
+ Button.VERSION = '3.3.5'
Button.DEFAULTS = {
loadingText: 'loading...'
@@ -204,7 +204,7 @@ if (typeof jQuery === 'undefined') {
var val = $el.is('input') ? 'val' : 'html'
var data = $el.data()
- state = state + 'Text'
+ state += 'Text'
if (data.resetText == null) $el.data('resetText', $el[val]())
@@ -229,15 +229,19 @@ if (typeof jQuery === 'undefined') {
if ($parent.length) {
var $input = this.$element.find('input')
if ($input.prop('type') == 'radio') {
- if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
- else $parent.find('.active').removeClass('active')
+ if ($input.prop('checked')) changed = false
+ $parent.find('.active').removeClass('active')
+ this.$element.addClass('active')
+ } else if ($input.prop('type') == 'checkbox') {
+ if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
+ this.$element.toggleClass('active')
}
- if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
+ $input.prop('checked', this.$element.hasClass('active'))
+ if (changed) $input.trigger('change')
} else {
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
+ this.$element.toggleClass('active')
}
-
- if (changed) this.$element.toggleClass('active')
}
@@ -280,7 +284,7 @@ if (typeof jQuery === 'undefined') {
var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
Plugin.call($btn, 'toggle')
- e.preventDefault()
+ if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
})
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
@@ -289,7 +293,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: carousel.js v3.3.4
+ * Bootstrap: carousel.js v3.3.5
* http://getbootstrap.com/javascript/#carousel
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -320,7 +324,7 @@ if (typeof jQuery === 'undefined') {
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
}
- Carousel.VERSION = '3.3.4'
+ Carousel.VERSION = '3.3.5'
Carousel.TRANSITION_DURATION = 600
@@ -527,7 +531,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: collapse.js v3.3.4
+ * Bootstrap: collapse.js v3.3.5
* http://getbootstrap.com/javascript/#collapse
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -557,7 +561,7 @@ if (typeof jQuery === 'undefined') {
if (this.options.toggle) this.toggle()
}
- Collapse.VERSION = '3.3.4'
+ Collapse.VERSION = '3.3.5'
Collapse.TRANSITION_DURATION = 350
@@ -739,7 +743,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: dropdown.js v3.3.4
+ * Bootstrap: dropdown.js v3.3.5
* http://getbootstrap.com/javascript/#dropdowns
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -759,7 +763,41 @@ if (typeof jQuery === 'undefined') {
$(element).on('click.bs.dropdown', this.toggle)
}
- Dropdown.VERSION = '3.3.4'
+ Dropdown.VERSION = '3.3.5'
+
+ function getParent($this) {
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ var $parent = selector && $(selector)
+
+ return $parent && $parent.length ? $parent : $this.parent()
+ }
+
+ function clearMenus(e) {
+ if (e && e.which === 3) return
+ $(backdrop).remove()
+ $(toggle).each(function () {
+ var $this = $(this)
+ var $parent = getParent($this)
+ var relatedTarget = { relatedTarget: this }
+
+ if (!$parent.hasClass('open')) return
+
+ if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
+
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
+ if (e.isDefaultPrevented()) return
+
+ $this.attr('aria-expanded', 'false')
+ $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
+ })
+ }
Dropdown.prototype.toggle = function (e) {
var $this = $(this)
@@ -774,7 +812,10 @@ if (typeof jQuery === 'undefined') {
if (!isActive) {
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
// if mobile we use a backdrop because click events don't delegate
- $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
+ $(document.createElement('div'))
+ .addClass('dropdown-backdrop')
+ .insertAfter($(this))
+ .on('click', clearMenus)
}
var relatedTarget = { relatedTarget: this }
@@ -807,57 +848,25 @@ if (typeof jQuery === 'undefined') {
var $parent = getParent($this)
var isActive = $parent.hasClass('open')
- if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
+ if (!isActive && e.which != 27 || isActive && e.which == 27) {
if (e.which == 27) $parent.find(toggle).trigger('focus')
return $this.trigger('click')
}
var desc = ' li:not(.disabled):visible a'
- var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
+ var $items = $parent.find('.dropdown-menu' + desc)
if (!$items.length) return
var index = $items.index(e.target)
- if (e.which == 38 && index > 0) index-- // up
- if (e.which == 40 && index < $items.length - 1) index++ // down
- if (!~index) index = 0
+ if (e.which == 38 && index > 0) index-- // up
+ if (e.which == 40 && index < $items.length - 1) index++ // down
+ if (!~index) index = 0
$items.eq(index).trigger('focus')
}
- function clearMenus(e) {
- if (e && e.which === 3) return
- $(backdrop).remove()
- $(toggle).each(function () {
- var $this = $(this)
- var $parent = getParent($this)
- var relatedTarget = { relatedTarget: this }
-
- if (!$parent.hasClass('open')) return
-
- $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
-
- if (e.isDefaultPrevented()) return
-
- $this.attr('aria-expanded', 'false')
- $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
- })
- }
-
- function getParent($this) {
- var selector = $this.attr('data-target')
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
- }
-
- var $parent = selector && $(selector)
-
- return $parent && $parent.length ? $parent : $this.parent()
- }
-
// DROPDOWN PLUGIN DEFINITION
// ==========================
@@ -895,13 +904,12 @@ if (typeof jQuery === 'undefined') {
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
- .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
- .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
}(jQuery);
/* ========================================================================
- * Bootstrap: modal.js v3.3.4
+ * Bootstrap: modal.js v3.3.5
* http://getbootstrap.com/javascript/#modals
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -935,7 +943,7 @@ if (typeof jQuery === 'undefined') {
}
}
- Modal.VERSION = '3.3.4'
+ Modal.VERSION = '3.3.5'
Modal.TRANSITION_DURATION = 300
Modal.BACKDROP_TRANSITION_DURATION = 150
@@ -992,9 +1000,7 @@ if (typeof jQuery === 'undefined') {
that.$element[0].offsetWidth // force reflow
}
- that.$element
- .addClass('in')
- .attr('aria-hidden', false)
+ that.$element.addClass('in')
that.enforceFocus()
@@ -1028,7 +1034,6 @@ if (typeof jQuery === 'undefined') {
this.$element
.removeClass('in')
- .attr('aria-hidden', true)
.off('click.dismiss.bs.modal')
.off('mouseup.dismiss.bs.modal')
@@ -1092,7 +1097,8 @@ if (typeof jQuery === 'undefined') {
if (this.isShown && this.options.backdrop) {
var doAnimate = $.support.transition && animate
- this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
+ this.$backdrop = $(document.createElement('div'))
+ .addClass('modal-backdrop ' + animate)
.appendTo(this.$body)
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
@@ -1241,7 +1247,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: tooltip.js v3.3.4
+ * Bootstrap: tooltip.js v3.3.5
* http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame
* ========================================================================
@@ -1263,11 +1269,12 @@ if (typeof jQuery === 'undefined') {
this.timeout = null
this.hoverState = null
this.$element = null
+ this.inState = null
this.init('tooltip', element, options)
}
- Tooltip.VERSION = '3.3.4'
+ Tooltip.VERSION = '3.3.5'
Tooltip.TRANSITION_DURATION = 150
@@ -1292,7 +1299,8 @@ if (typeof jQuery === 'undefined') {
this.type = type
this.$element = $(element)
this.options = this.getOptions(options)
- this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
+ this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
+ this.inState = { click: false, hover: false, focus: false }
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
@@ -1351,16 +1359,20 @@ if (typeof jQuery === 'undefined') {
var self = obj instanceof this.constructor ?
obj : $(obj.currentTarget).data('bs.' + this.type)
- if (self && self.$tip && self.$tip.is(':visible')) {
- self.hoverState = 'in'
- return
- }
-
if (!self) {
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
$(obj.currentTarget).data('bs.' + this.type, self)
}
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
+ }
+
+ if (self.tip().hasClass('in') || self.hoverState == 'in') {
+ self.hoverState = 'in'
+ return
+ }
+
clearTimeout(self.timeout)
self.hoverState = 'in'
@@ -1372,6 +1384,14 @@ if (typeof jQuery === 'undefined') {
}, self.options.delay.show)
}
+ Tooltip.prototype.isInStateTrue = function () {
+ for (var key in this.inState) {
+ if (this.inState[key]) return true
+ }
+
+ return false
+ }
+
Tooltip.prototype.leave = function (obj) {
var self = obj instanceof this.constructor ?
obj : $(obj.currentTarget).data('bs.' + this.type)
@@ -1381,6 +1401,12 @@ if (typeof jQuery === 'undefined') {
$(obj.currentTarget).data('bs.' + this.type, self)
}
+ if (obj instanceof $.Event) {
+ self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
+ }
+
+ if (self.isInStateTrue()) return
+
clearTimeout(self.timeout)
self.hoverState = 'out'
@@ -1427,6 +1453,7 @@ if (typeof jQuery === 'undefined') {
.data('bs.' + this.type, this)
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+ this.$element.trigger('inserted.bs.' + this.type)
var pos = this.getPosition()
var actualWidth = $tip[0].offsetWidth
@@ -1434,13 +1461,12 @@ if (typeof jQuery === 'undefined') {
if (autoPlace) {
var orgPlacement = placement
- var $container = this.options.container ? $(this.options.container) : this.$element.parent()
- var containerDim = this.getPosition($container)
+ var viewportDim = this.getPosition(this.$viewport)
- placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
- placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
- placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
- placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
+ placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
+ placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
+ placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
+ placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
placement
$tip
@@ -1481,8 +1507,8 @@ if (typeof jQuery === 'undefined') {
if (isNaN(marginTop)) marginTop = 0
if (isNaN(marginLeft)) marginLeft = 0
- offset.top = offset.top + marginTop
- offset.left = offset.left + marginLeft
+ offset.top += marginTop
+ offset.left += marginLeft
// $.fn.offset doesn't round pixel values
// so we use setOffset directly with our own function B-0
@@ -1564,7 +1590,7 @@ if (typeof jQuery === 'undefined') {
Tooltip.prototype.fixTitle = function () {
var $e = this.$element
- if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
+ if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
}
}
@@ -1619,7 +1645,7 @@ if (typeof jQuery === 'undefined') {
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
delta.left = viewportDimensions.left - leftEdgeOffset
- } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
+ } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
}
}
@@ -1645,7 +1671,13 @@ if (typeof jQuery === 'undefined') {
}
Tooltip.prototype.tip = function () {
- return (this.$tip = this.$tip || $(this.options.template))
+ if (!this.$tip) {
+ this.$tip = $(this.options.template)
+ if (this.$tip.length != 1) {
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
+ }
+ }
+ return this.$tip
}
Tooltip.prototype.arrow = function () {
@@ -1674,7 +1706,13 @@ if (typeof jQuery === 'undefined') {
}
}
- self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+ if (e) {
+ self.inState.click = !self.inState.click
+ if (self.isInStateTrue()) self.enter(self)
+ else self.leave(self)
+ } else {
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+ }
}
Tooltip.prototype.destroy = function () {
@@ -1682,6 +1720,12 @@ if (typeof jQuery === 'undefined') {
clearTimeout(this.timeout)
this.hide(function () {
that.$element.off('.' + that.type).removeData('bs.' + that.type)
+ if (that.$tip) {
+ that.$tip.detach()
+ }
+ that.$tip = null
+ that.$arrow = null
+ that.$viewport = null
})
}
@@ -1718,7 +1762,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: popover.js v3.3.4
+ * Bootstrap: popover.js v3.3.5
* http://getbootstrap.com/javascript/#popovers
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -1738,7 +1782,7 @@ if (typeof jQuery === 'undefined') {
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
- Popover.VERSION = '3.3.4'
+ Popover.VERSION = '3.3.5'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right',
@@ -1827,7 +1871,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.4
+ * Bootstrap: scrollspy.js v3.3.5
* http://getbootstrap.com/javascript/#scrollspy
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -1856,7 +1900,7 @@ if (typeof jQuery === 'undefined') {
this.process()
}
- ScrollSpy.VERSION = '3.3.4'
+ ScrollSpy.VERSION = '3.3.5'
ScrollSpy.DEFAULTS = {
offset: 10
@@ -2000,7 +2044,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: tab.js v3.3.4
+ * Bootstrap: tab.js v3.3.5
* http://getbootstrap.com/javascript/#tabs
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -2015,10 +2059,12 @@ if (typeof jQuery === 'undefined') {
// ====================
var Tab = function (element) {
+ // jscs:disable requireDollarBeforejQueryAssignment
this.element = $(element)
+ // jscs:enable requireDollarBeforejQueryAssignment
}
- Tab.VERSION = '3.3.4'
+ Tab.VERSION = '3.3.5'
Tab.TRANSITION_DURATION = 150
@@ -2066,7 +2112,7 @@ if (typeof jQuery === 'undefined') {
var $active = container.find('> .active')
var transition = callback
&& $.support.transition
- && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
+ && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
function next() {
$active
@@ -2154,7 +2200,7 @@ if (typeof jQuery === 'undefined') {
}(jQuery);
/* ========================================================================
- * Bootstrap: affix.js v3.3.4
+ * Bootstrap: affix.js v3.3.5
* http://getbootstrap.com/javascript/#affix
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
@@ -2183,7 +2229,7 @@ if (typeof jQuery === 'undefined') {
this.checkPosition()
}
- Affix.VERSION = '3.3.4'
+ Affix.VERSION = '3.3.5'
Affix.RESET = 'affix affix-top affix-bottom'
@@ -2233,7 +2279,7 @@ if (typeof jQuery === 'undefined') {
var offset = this.options.offset
var offsetTop = offset.top
var offsetBottom = offset.bottom
- var scrollHeight = $(document.body).height()
+ var scrollHeight = Math.max($(document).height(), $(document.body).height())
if (typeof offset != 'object') offsetBottom = offsetTop = offset
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
diff --git a/library/bootstrap/js/bootstrap.min.js b/library/bootstrap/js/bootstrap.min.js
index c8f82e592..133aeecb9 100644
--- a/library/bootstrap/js/bootstrap.min.js
+++ b/library/bootstrap/js/bootstrap.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under the MIT license
*/
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){
-var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
+d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file
diff --git a/library/datetimepicker/jquery.datetimepicker.css b/library/datetimepicker/jquery.datetimepicker.css
index acf674af7..a26fccec4 100644
--- a/library/datetimepicker/jquery.datetimepicker.css
+++ b/library/datetimepicker/jquery.datetimepicker.css
@@ -1,37 +1,38 @@
-.xdsoft_datetimepicker{
- box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.506);
- background: #FFFFFF;
- border-bottom: 1px solid #BBBBBB;
- border-left: 1px solid #CCCCCC;
- border-right: 1px solid #CCCCCC;
- border-top: 1px solid #CCCCCC;
- color: #333333;
- font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
+.xdsoft_datetimepicker {
+ box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506);
+ background: #fff;
+ border-bottom: 1px solid #bbb;
+ border-left: 1px solid #ccc;
+ border-right: 1px solid #ccc;
+ border-top: 1px solid #ccc;
+ color: #333;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 8px;
- padding-left: 0px;
+ padding-left: 0;
padding-top: 2px;
position: absolute;
z-index: 9999;
-moz-box-sizing: border-box;
box-sizing: border-box;
- display:none;
+ display: none;
}
.xdsoft_datetimepicker iframe {
- position: absolute;
- left: 0;
- top: 0;
- width: 75px;
- height: 210px;
- background: transparent;
- border:none;
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 75px;
+ height: 210px;
+ background: transparent;
+ border: none;
}
+
/*For IE8 or lower*/
.xdsoft_datetimepicker button {
- border:none !important;
+ border: none !important;
}
-.xdsoft_noselect{
+.xdsoft_noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
@@ -40,379 +41,505 @@
-o-user-select: none;
user-select: none;
}
-.xdsoft_noselect::selection { background: transparent; }
-.xdsoft_noselect::-moz-selection { background: transparent; }
-.xdsoft_datetimepicker.xdsoft_inline{
+
+.xdsoft_noselect::selection { background: transparent }
+.xdsoft_noselect::-moz-selection { background: transparent }
+
+.xdsoft_datetimepicker.xdsoft_inline {
display: inline-block;
position: static;
box-shadow: none;
}
-.xdsoft_datetimepicker *{
+
+.xdsoft_datetimepicker * {
-moz-box-sizing: border-box;
box-sizing: border-box;
- padding:0px;
- margin:0px;
+ padding: 0;
+ margin: 0;
}
-.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker{
- display:none;
+
+.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker {
+ display: none;
}
-.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active{
- display:block;
+
+.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active {
+ display: block;
}
-.xdsoft_datetimepicker .xdsoft_datepicker{
+
+.xdsoft_datetimepicker .xdsoft_datepicker {
width: 224px;
- float:left;
- margin-left:8px;
+ float: left;
+ margin-left: 8px;
}
-.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{
+
+.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
width: 256px;
}
-.xdsoft_datetimepicker .xdsoft_timepicker{
+
+.xdsoft_datetimepicker .xdsoft_timepicker {
width: 58px;
- float:left;
- text-align:center;
- margin-left:8px;
- margin-top:0px;
+ float: left;
+ text-align: center;
+ margin-left: 8px;
+ margin-top: 0;
}
-.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{
- margin-top:8px;
- margin-bottom:3px
+
+.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker {
+ margin-top: 8px;
+ margin-bottom: 3px
}
-.xdsoft_datetimepicker .xdsoft_mounthpicker{
+
+.xdsoft_datetimepicker .xdsoft_mounthpicker {
position: relative;
text-align: center;
}
.xdsoft_datetimepicker .xdsoft_label i,
-.xdsoft_datetimepicker .xdsoft_prev,
-.xdsoft_datetimepicker .xdsoft_next,
-.xdsoft_datetimepicker .xdsoft_today_button{
+.xdsoft_datetimepicker .xdsoft_prev,
+.xdsoft_datetimepicker .xdsoft_next,
+.xdsoft_datetimepicker .xdsoft_today_button {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC);
}
-.xdsoft_datetimepicker .xdsoft_label i{
- opacity:0.5;
- background-position:-92px -19px;
+.xdsoft_datetimepicker .xdsoft_label i {
+ opacity: 0.5;
+ background-position: -92px -19px;
display: inline-block;
width: 9px;
height: 20px;
vertical-align: middle;
}
-.xdsoft_datetimepicker .xdsoft_prev{
- float: left;
- background-position:-20px 0px;
+.xdsoft_datetimepicker .xdsoft_prev {
+ float: left;
+ background-position: -20px 0;
}
-.xdsoft_datetimepicker .xdsoft_today_button{
- float: left;
- background-position:-70px 0px;
- margin-left:5px;
+.xdsoft_datetimepicker .xdsoft_today_button {
+ float: left;
+ background-position: -70px 0;
+ margin-left: 5px;
}
-.xdsoft_datetimepicker .xdsoft_next{
- float: right;
- background-position:0px 0px;
+.xdsoft_datetimepicker .xdsoft_next {
+ float: right;
+ background-position: 0 0;
}
-.xdsoft_datetimepicker .xdsoft_next,
-.xdsoft_datetimepicker .xdsoft_prev ,
-.xdsoft_datetimepicker .xdsoft_today_button{
+.xdsoft_datetimepicker .xdsoft_next,
+.xdsoft_datetimepicker .xdsoft_prev ,
+.xdsoft_datetimepicker .xdsoft_today_button {
background-color: transparent;
background-repeat: no-repeat;
- border: 0px none currentColor;
+ border: 0 none;
cursor: pointer;
display: block;
height: 30px;
opacity: 0.5;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
- outline: medium none currentColor;
+ outline: medium none;
overflow: hidden;
- padding: 0px;
+ padding: 0;
position: relative;
text-indent: 100%;
white-space: nowrap;
width: 20px;
+ min-width: 0;
}
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next{
- float:none;
- background-position:-40px -15px;
+
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
+ float: none;
+ background-position: -40px -15px;
height: 15px;
width: 30px;
display: block;
- margin-left:14px;
- margin-top:7px;
-}
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{
- background-position:-40px 0px;
- margin-bottom:7px;
- margin-top:0px;
-}
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{
- height:151px;
- overflow:hidden;
- border-bottom:1px solid #DDDDDD;
-}
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div{
- background: #F5F5F5;
- border-top:1px solid #DDDDDD;
- color: #666666;
+ margin-left: 14px;
+ margin-top: 7px;
+}
+
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
+ background-position: -40px 0;
+ margin-bottom: 7px;
+ margin-top: 0;
+}
+
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
+ height: 151px;
+ overflow: hidden;
+ border-bottom: 1px solid #ddd;
+}
+
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {
+ background: #f5f5f5;
+ border-top: 1px solid #ddd;
+ color: #666;
font-size: 12px;
text-align: center;
- border-collapse:collapse;
- cursor:pointer;
- border-bottom-width:0px;
- height:25px;
- line-height:25px;
+ border-collapse: collapse;
+ cursor: pointer;
+ border-bottom-width: 0;
+ height: 25px;
+ line-height: 25px;
}
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child{
- border-top-width:0px;
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child {
+ border-top-width: 0;
}
-.xdsoft_datetimepicker .xdsoft_today_button:hover,
-.xdsoft_datetimepicker .xdsoft_next:hover,
-.xdsoft_datetimepicker .xdsoft_prev:hover {
- opacity: 1;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+
+.xdsoft_datetimepicker .xdsoft_today_button:hover,
+.xdsoft_datetimepicker .xdsoft_next:hover,
+.xdsoft_datetimepicker .xdsoft_prev:hover {
+ opacity: 1;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
-.xdsoft_datetimepicker .xdsoft_label{
+
+.xdsoft_datetimepicker .xdsoft_label {
display: inline;
- position: relative;
- z-index: 9999;
- margin: 0;
- padding: 5px 3px;
- font-size: 14px;
- line-height: 20px;
- font-weight: bold;
- background-color: #fff;
- float:left;
- width:182px;
- text-align:center;
- cursor:pointer;
-}
-.xdsoft_datetimepicker .xdsoft_label:hover>span{
- text-decoration:underline;
-}
-.xdsoft_datetimepicker .xdsoft_label:hover i{
- opacity:1.0;
-}
-.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select{
- border:1px solid #ccc;
- position:absolute;
- right:0px;
- top:30px;
- z-index:101;
- display:none;
- background:#fff;
- max-height:160px;
- overflow-y:hidden;
-}
-.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{right:-7px;}
-.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{right:2px;}
-.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover{
+ position: relative;
+ z-index: 9999;
+ margin: 0;
+ padding: 5px 3px;
+ font-size: 14px;
+ line-height: 20px;
+ font-weight: bold;
+ background-color: #fff;
+ float: left;
+ width: 182px;
+ text-align: center;
+ cursor: pointer;
+}
+
+.xdsoft_datetimepicker .xdsoft_label:hover>span {
+ text-decoration: underline;
+}
+
+.xdsoft_datetimepicker .xdsoft_label:hover i {
+ opacity: 1.0;
+}
+
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
+ border: 1px solid #ccc;
+ position: absolute;
+ right: 0;
+ top: 30px;
+ z-index: 101;
+ display: none;
+ background: #fff;
+ max-height: 160px;
+ overflow-y: hidden;
+}
+
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{ right: -7px }
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{ right: 2px }
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
color: #fff;
- background: #ff8000;
+ background: #ff8000;
}
-.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option{
- padding:2px 10px 2px 5px;
- text-decoration:none !important;
+
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
+ padding: 2px 10px 2px 5px;
+ text-decoration: none !important;
}
-.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current{
- background: #33AAFF;
- box-shadow: #178FE5 0px 1px 3px 0px inset;
- color:#fff;
+
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
+ background: #33aaff;
+ box-shadow: #178fe5 0 1px 3px 0 inset;
+ color: #fff;
font-weight: 700;
}
-.xdsoft_datetimepicker .xdsoft_month{
- width:100px;
- text-align:right;
+
+.xdsoft_datetimepicker .xdsoft_month {
+ width: 100px;
+ text-align: right;
}
-.xdsoft_datetimepicker .xdsoft_calendar{
- clear:both;
+
+.xdsoft_datetimepicker .xdsoft_calendar {
+ clear: both;
}
-.xdsoft_datetimepicker .xdsoft_year{
+
+.xdsoft_datetimepicker .xdsoft_year{
width: 48px;
margin-left: 5px;
}
-.xdsoft_datetimepicker .xdsoft_calendar table{
- border-collapse:collapse;
- width:100%;
-
+
+.xdsoft_datetimepicker .xdsoft_calendar table {
+ border-collapse: collapse;
+ width: 100%;
+
}
-.xdsoft_datetimepicker .xdsoft_calendar td > div{
- padding-right:5px;
+
+.xdsoft_datetimepicker .xdsoft_calendar td > div {
+ padding-right: 5px;
}
-.xdsoft_datetimepicker .xdsoft_calendar th{
+
+.xdsoft_datetimepicker .xdsoft_calendar th {
height: 25px;
}
-.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{
- width:14.2857142%;
- background: #F5F5F5;
- border:1px solid #DDDDDD;
- color: #666666;
+
+.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th {
+ width: 14.2857142%;
+ background: #f5f5f5;
+ border: 1px solid #ddd;
+ color: #666;
font-size: 12px;
text-align: right;
vertical-align: middle;
- padding:0px;
- border-collapse:collapse;
- cursor:pointer;
+ padding: 0;
+ border-collapse: collapse;
+ cursor: pointer;
height: 25px;
}
-.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{
- width:12.5%;
+.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th {
+ width: 12.5%;
}
-.xdsoft_datetimepicker .xdsoft_calendar th{
- background: #F1F1F1;
+
+.xdsoft_datetimepicker .xdsoft_calendar th {
+ background: #f1f1f1;
+}
+
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
+ color: #33aaff;
}
-.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{
- color:#33AAFF;
+
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default {
+ background: #ffe9d2;
+ box-shadow: #ffb871 0 1px 4px 0 inset;
+ color: #000;
}
-.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
-.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current{
- background: #33AAFF;
- box-shadow: #178FE5 0px 1px 3px 0px inset;
- color:#fff;
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint {
+ background: #c1ffc9;
+ box-shadow: #00dd1c 0 1px 4px 0 inset;
+ color: #000;
+}
+
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
+ background: #33aaff;
+ box-shadow: #178fe5 0 1px 3px 0 inset;
+ color: #fff;
font-weight: 700;
}
-.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
-.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
-.xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled{
- opacity:0.5;
+
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
+.xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled {
+ opacity: 0.5;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+ cursor: default;
}
-.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{
- opacity:0.2;
+
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled {
+ opacity: 0.2;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
}
-.xdsoft_datetimepicker .xdsoft_calendar td:hover,
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover{
+
+.xdsoft_datetimepicker .xdsoft_calendar td:hover,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
+ color: #fff !important;
+ background: #ff8000 !important;
+ box-shadow: none !important;
+}
+
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover {
+ background: #33aaff !important;
+ box-shadow: #178fe5 0 1px 3px 0 inset !important;
color: #fff !important;
- background: #ff8000 !important;
- box-shadow: none !important;
}
-.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
-.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover{
+
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover {
color: inherit !important;
- background: inherit !important;
- box-shadow: inherit !important;
+ background: inherit !important;
+ box-shadow: inherit !important;
}
-.xdsoft_datetimepicker .xdsoft_calendar th{
+
+.xdsoft_datetimepicker .xdsoft_calendar th {
font-weight: 700;
text-align: center;
color: #999;
- cursor:default;
+ cursor: default;
}
-.xdsoft_datetimepicker .xdsoft_copyright{ color:#ccc !important; font-size:10px;clear:both;float:none;margin-left:8px;}
-.xdsoft_datetimepicker .xdsoft_copyright a{ color:#eee !important;}
-.xdsoft_datetimepicker .xdsoft_copyright a:hover{ color:#aaa !important;}
+.xdsoft_datetimepicker .xdsoft_copyright {
+ color: #ccc !important;
+ font-size: 10px;
+ clear: both;
+ float: none;
+ margin-left: 8px;
+}
+
+.xdsoft_datetimepicker .xdsoft_copyright a { color: #eee !important }
+.xdsoft_datetimepicker .xdsoft_copyright a:hover { color: #aaa !important }
-.xdsoft_time_box{
- position:relative;
- border:1px solid #ccc;
+.xdsoft_time_box {
+ position: relative;
+ border: 1px solid #ccc;
}
-.xdsoft_scrollbar >.xdsoft_scroller{
- background:#ccc !important;
- height:20px;
- border-radius:3px;
+.xdsoft_scrollbar >.xdsoft_scroller {
+ background: #ccc !important;
+ height: 20px;
+ border-radius: 3px;
}
-.xdsoft_scrollbar{
- position:absolute;
- width:7px;
- right:0px;
- top:0px;
- bottom:0px;
- cursor:pointer;
+.xdsoft_scrollbar {
+ position: absolute;
+ width: 7px;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ cursor: pointer;
}
-.xdsoft_scroller_box{
-position:relative;
+.xdsoft_scroller_box {
+ position: relative;
}
-
-.xdsoft_datetimepicker.xdsoft_dark{
- box-shadow: 0px 5px 15px -5px rgba(255, 255, 255, 0.506);
- background: #000000;
- border-bottom: 1px solid #444444;
- border-left: 1px solid #333333;
- border-right: 1px solid #333333;
- border-top: 1px solid #333333;
- color: #cccccc;
+.xdsoft_datetimepicker.xdsoft_dark {
+ box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506);
+ background: #000;
+ border-bottom: 1px solid #444;
+ border-left: 1px solid #333;
+ border-right: 1px solid #333;
+ border-top: 1px solid #333;
+ color: #ccc;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{
- border-bottom:1px solid #222222;
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box {
+ border-bottom: 1px solid #222;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div {
background: #0a0a0a;
- border-top:1px solid #222222;
- color: #999999;
+ border-top: 1px solid #222;
+ color: #999;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{
- background-color: #000;
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label {
+ background-color: #000;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select{
- border:1px solid #333;
- background:#000;
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select {
+ border: 1px solid #333;
+ background: #000;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
color: #000;
- background: #007fff;
+ background: #007fff;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
background: #cc5500;
- box-shadow: #b03e00 0px 1px 3px 0px inset;
- color:#000;
+ box-shadow: #b03e00 0 1px 3px 0 inset;
+ color: #000;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==);
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
background: #0a0a0a;
- border:1px solid #222222;
- color: #999999;
+ border: 1px solid #222;
+ color: #999;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
background: #0e0e0e;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{
- color:#cc5500;
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today {
+ color: #cc5500;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current{
- background: #cc5500;
- box-shadow: #b03e00 0px 1px 3px 0px inset;
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default {
+ background: #ffe9d2;
+ box-shadow: #ffb871 0 1px 4px 0 inset;
color:#000;
}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint {
+ background: #c1ffc9;
+ box-shadow: #00dd1c 0 1px 4px 0 inset;
+ color:#000;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
+ background: #cc5500;
+ box-shadow: #b03e00 0 1px 3px 0 inset;
+ color: #000;
+}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
color: #000 !important;
- background: #007fff !important;
+ background: #007fff !important;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
color: #666;
}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{ color:#333 !important;}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{ color:#111 !important;}
-.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{ color:#555 !important;}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright { color: #333 !important }
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a { color: #111 !important }
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover { color: #555 !important }
-.xdsoft_dark .xdsoft_time_box{
- border:1px solid #333;
+.xdsoft_dark .xdsoft_time_box {
+ border: 1px solid #333;
}
-.xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller{
- background:#333 !important;
+
+.xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller {
+ background: #333 !important;
+}
+.xdsoft_datetimepicker .xdsoft_save_selected {
+ display: block;
+ border: 1px solid #dddddd !important;
+ margin-top: 5px;
+ width: 100%;
+ color: #454551;
+ font-size: 13px;
+}
+.xdsoft_datetimepicker .blue-gradient-button {
+ font-family: "museo-sans", "Book Antiqua", sans-serif;
+ font-size: 12px;
+ font-weight: 300;
+ color: #82878c;
+ height: 28px;
+ position: relative;
+ padding: 4px 17px 4px 33px;
+ border: 1px solid #d7d8da;
+ background: -moz-linear-gradient(top, #fff 0%, #f4f8fa 73%);
+ /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(73%, #f4f8fa));
+ /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #fff 0%, #f4f8fa 73%);
+ /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #fff 0%, #f4f8fa 73%);
+ /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #fff 0%, #f4f8fa 73%);
+ /* IE10+ */
+ background: linear-gradient(to bottom, #fff 0%, #f4f8fa 73%);
+ /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#f4f8fa',GradientType=0 );
+/* IE6-9 */
+}
+.xdsoft_datetimepicker .blue-gradient-button:hover, .xdsoft_datetimepicker .blue-gradient-button:focus, .xdsoft_datetimepicker .blue-gradient-button:hover span, .xdsoft_datetimepicker .blue-gradient-button:focus span {
+ color: #454551;
+ background: -moz-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
+ /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4f8fa), color-stop(73%, #FFF));
+ /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
+ /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
+ /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
+ /* IE10+ */
+ background: linear-gradient(to bottom, #f4f8fa 0%, #FFF 73%);
+ /* W3C */
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f8fa', endColorstr='#FFF',GradientType=0 );
+ /* IE6-9 */
}
diff --git a/library/datetimepicker/jquery.datetimepicker.js b/library/datetimepicker/jquery.datetimepicker.js
index d4e93dd13..9c00413c2 100644
--- a/library/datetimepicker/jquery.datetimepicker.js
+++ b/library/datetimepicker/jquery.datetimepicker.js
@@ -1,9 +1,9 @@
/**
- * @preserve jQuery DateTimePicker plugin v2.4.0
+ * @preserve jQuery DateTimePicker plugin v2.4.5
* @homepage http://xdsoft.net/jqplugins/datetimepicker/
* (c) 2014, Chupurnov Valeriy.
*/
-/*global document,window,jQuery,setTimeout,clearTimeout*/
+/*global document,window,jQuery,setTimeout,clearTimeout,HighlightedDate,getCurrentValue*/
(function ($) {
'use strict';
var default_options = {
@@ -29,7 +29,15 @@
"Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"
],
dayOfWeek: [
- "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"
+ "Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"
+ ]
+ },
+ is: { // Icelandic
+ months: [
+ "Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ãgúst", "September", "Október", "Nóvember", "Desember"
+ ],
+ dayOfWeek: [
+ "Sun", "Mán", "Þrið", "Mið", "Fim", "Fös", "Lau"
]
},
bg: { // Bulgarian
@@ -231,7 +239,207 @@
dayOfWeek: [
"Va", "Hé", "Ke", "Sze", "Cs", "Pé", "Szo"
]
- }
+ },
+ az: { //Azerbaijanian (Azeri)
+ months: [
+ "Yanvar", "Fevral", "Mart", "Aprel", "May", "Iyun", "Iyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"
+ ],
+ dayOfWeek: [
+ "B", "Be", "Ça", "Ç", "Ca", "C", "Ş"
+ ]
+ },
+ bs: { //Bosanski
+ months: [
+ "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"
+ ],
+ dayOfWeek: [
+ "Ned", "Pon", "Uto", "Sri", "ÄŒet", "Pet", "Sub"
+ ]
+ },
+ ca: { //Català
+ months: [
+ "Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"
+ ],
+ dayOfWeek: [
+ "Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"
+ ]
+ },
+ 'en-GB': { //English (British)
+ months: [
+ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
+ ],
+ dayOfWeek: [
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ ]
+ },
+ et: { //"Eesti"
+ months: [
+ "Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"
+ ],
+ dayOfWeek: [
+ "P", "E", "T", "K", "N", "R", "L"
+ ]
+ },
+ eu: { //Euskara
+ months: [
+ "Urtarrila", "Otsaila", "Martxoa", "Apirila", "Maiatza", "Ekaina", "Uztaila", "Abuztua", "Iraila", "Urria", "Azaroa", "Abendua"
+ ],
+ dayOfWeek: [
+ "Ig.", "Al.", "Ar.", "Az.", "Og.", "Or.", "La."
+ ]
+ },
+ fi: { //Finnish (Suomi)
+ months: [
+ "Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"
+ ],
+ dayOfWeek: [
+ "Su", "Ma", "Ti", "Ke", "To", "Pe", "La"
+ ]
+ },
+ gl: { //Galego
+ months: [
+ "Xan", "Feb", "Maz", "Abr", "Mai", "Xun", "Xul", "Ago", "Set", "Out", "Nov", "Dec"
+ ],
+ dayOfWeek: [
+ "Dom", "Lun", "Mar", "Mer", "Xov", "Ven", "Sab"
+ ]
+ },
+ hr: { //Hrvatski
+ months: [
+ "SijeÄanj", "VeljaÄa", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"
+ ],
+ dayOfWeek: [
+ "Ned", "Pon", "Uto", "Sri", "ÄŒet", "Pet", "Sub"
+ ]
+ },
+ ko: { //Korean (한국어)
+ months: [
+ "1ì›”", "2ì›”", "3ì›”", "4ì›”", "5ì›”", "6ì›”", "7ì›”", "8ì›”", "9ì›”", "10ì›”", "11ì›”", "12ì›”"
+ ],
+ dayOfWeek: [
+ "ì¼", "ì›”", "í™”", "수", "목", "금", "토"
+ ]
+ },
+ lt: { //Lithuanian (lietuvių)
+ months: [
+ "Sausio", "Vasario", "Kovo", "Balandžio", "Gegužės", "Birželio", "Liepos", "RugpjÅ«Äio", "RugsÄ—jo", "Spalio", "LapkriÄio", "Gruodžio"
+ ],
+ dayOfWeek: [
+ "Sek", "Pir", "Ant", "Tre", "Ket", "Pen", "Šeš"
+ ]
+ },
+ lv: { //Latvian (Latviešu)
+ months: [
+ "JanvÄris", "FebruÄris", "Marts", "AprÄ«lis ", "Maijs", "JÅ«nijs", "JÅ«lijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"
+ ],
+ dayOfWeek: [
+ "Sv", "Pr", "Ot", "Tr", "Ct", "Pk", "St"
+ ]
+ },
+ mk: { //Macedonian (МакедонÑки)
+ months: [
+ "јануари", "февруари", "март", "април", "мај", "јуни", "јули", "авгуÑÑ‚", "Ñептември", "октомври", "ноември", "декември"
+ ],
+ dayOfWeek: [
+ "нед", "пон", "вто", "Ñре", "чет", "пет", "Ñаб"
+ ]
+ },
+ mn: { //Mongolian (Монгол)
+ months: [
+ "1-Ñ€ Ñар", "2-Ñ€ Ñар", "3-Ñ€ Ñар", "4-Ñ€ Ñар", "5-Ñ€ Ñар", "6-Ñ€ Ñар", "7-Ñ€ Ñар", "8-Ñ€ Ñар", "9-Ñ€ Ñар", "10-Ñ€ Ñар", "11-Ñ€ Ñар", "12-Ñ€ Ñар"
+ ],
+ dayOfWeek: [
+ "Дав", "ÐœÑг", "Лха", "Пүр", "БÑн", "БÑм", "ÐÑм"
+ ]
+ },
+ 'pt-BR': { //Português(Brasil)
+ months: [
+ "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
+ ],
+ dayOfWeek: [
+ "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"
+ ]
+ },
+ sk: { //SlovenÄina
+ months: [
+ "Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"
+ ],
+ dayOfWeek: [
+ "Ne", "Po", "Ut", "St", "Å t", "Pi", "So"
+ ]
+ },
+ sq: { //Albanian (Shqip)
+ months: [
+ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
+ ],
+ dayOfWeek: [
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ ]
+ },
+ 'sr-YU': { //Serbian (Srpski)
+ months: [
+ "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"
+ ],
+ dayOfWeek: [
+ "Ned", "Pon", "Uto", "Sre", "Äet", "Pet", "Sub"
+ ]
+ },
+ sr: { //Serbian Cyrillic (СрпÑки)
+ months: [
+ "јануар", "фебруар", "март", "април", "мај", "јун", "јул", "авгуÑÑ‚", "Ñептембар", "октобар", "новембар", "децембар"
+ ],
+ dayOfWeek: [
+ "нед", "пон", "уто", "Ñре", "чет", "пет", "Ñуб"
+ ]
+ },
+ sv: { //Svenska
+ months: [
+ "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"
+ ],
+ dayOfWeek: [
+ "Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"
+ ]
+ },
+ 'zh-TW': { //Traditional Chinese (ç¹é«”中文)
+ months: [
+ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "ä¹æœˆ", "å月", "å一月", "å二月"
+ ],
+ dayOfWeek: [
+ "日", "一", "二", "三", "四", "五", "六"
+ ]
+ },
+ zh: { //Simplified Chinese (简体中文)
+ months: [
+ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "ä¹æœˆ", "å月", "å一月", "å二月"
+ ],
+ dayOfWeek: [
+ "日", "一", "二", "三", "四", "五", "六"
+ ]
+ },
+ he: { //Hebrew (עברית)
+ months: [
+ 'ינו×ר', 'פברו×ר', 'מרץ', '×פריל', 'מ××™', 'יוני', 'יולי', '×וגוסט', 'ספטמבר', '×וקטובר', 'נובמבר', 'דצמבר'
+ ],
+ dayOfWeek: [
+ '×\'', 'ב\'', '×’\'', 'ד\'', '×”\'', 'ו\'', 'שבת'
+ ]
+ },
+ hy: { // Armenian
+ months: [
+ "Õ€Õ¸Ö‚Õ¶Õ¾Õ¡Ö€", "Õ“Õ¥Õ¿Ö€Õ¾Õ¡Ö€", "Õ„Õ¡Ö€Õ¿", "Ô±ÕºÖ€Õ«Õ¬", "Õ„Õ¡ÕµÕ«Õ½", "Õ€Õ¸Ö‚Õ¶Õ«Õ½", "Õ€Õ¸Ö‚Õ¬Õ«Õ½", "Õ•Õ£Õ¸Õ½Õ¿Õ¸Õ½", "ÕÕ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€", "Õ€Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€", "Õ†Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€", "Ô´Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€"
+ ],
+ dayOfWeek: [
+ "Ô¿Õ«", "ÔµÖ€Õ¯", "ÔµÖ€Ö„", "Õ‰Õ¸Ö€", "Õ€Õ¶Õ£", "ÕˆÖ‚Ö€Õ¢", "Õ‡Õ¢Õ©"
+ ]
+ },
+ kg: { // Kyrgyz
+ months: [
+ 'Үчтүн айы', 'Бирдин айы', 'Жалган Куран', 'Чын Куран', 'Бугу', 'Кулжа', 'Теке', 'Баш Оона', 'ÐÑк Оона', 'Тогуздун айы', 'Жетинин айы', 'Бештин айы'
+ ],
+ dayOfWeek: [
+ "Жек", "Дүй", "Шей", "Шар", "Бей", "Жум", "Ише"
+ ]
+ }
},
value: '',
lang: 'en',
@@ -245,6 +453,7 @@
monthChangeSpinner: true,
closeOnDateSelect: false,
+ closeOnTimeSelect: true,
closeOnWithoutClick: true,
closeOnInputClick: true,
@@ -259,6 +468,8 @@
maxDate: false,
minTime: false,
maxTime: false,
+ disabledMinTime: false,
+ disabledMaxTime: false,
allowTimes: [],
opened: false,
@@ -278,13 +489,15 @@
withoutCopyright: true,
inverseButton: false,
hours12: false,
- next: 'xdsoft_next',
+ next: 'xdsoft_next',
prev : 'xdsoft_prev',
dayOfWeekStart: 0,
parentID: 'body',
timeHeightInTimePicker: 25,
timepickerScrollbar: true,
todayButton: true,
+ prevButton: true,
+ nextButton: true,
defaultSelect: true,
scrollMonth: true,
@@ -297,19 +510,43 @@
allowBlank: true,
yearStart: 1950,
yearEnd: 2050,
+ monthStart: 0,
+ monthEnd: 11,
style: '',
id: '',
fixed: false,
roundTime: 'round', // ceil, floor
className: '',
weekends: [],
+ highlightedDates: [],
+ highlightedPeriods: [],
disabledDates : [],
+ disabledWeekDays: [],
yearOffset: 0,
beforeShowDay: null,
- enterLikeTab: true
+ enterLikeTab: true,
+ showApplyButton: false
};
// fix for ie8
+ if (!window.getComputedStyle) {
+ window.getComputedStyle = function (el, pseudo) {
+ this.el = el;
+ this.getPropertyValue = function (prop) {
+ var re = /(\-([a-z]){1})/g;
+ if (prop === 'float') {
+ prop = 'styleFloat';
+ }
+ if (re.test(prop)) {
+ prop = prop.replace(re, function (a, b, c) {
+ return c.toUpperCase();
+ });
+ }
+ return el.currentStyle[prop] || null;
+ };
+ return this;
+ };
+ }
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (obj, start) {
var i, j;
@@ -506,12 +743,11 @@
lazyInitTimer = 0,
createDateTimePicker,
destroyDateTimePicker,
- _xdsoft_datetime,
lazyInit = function (input) {
input
.on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function initOnActionCallback(event) {
- if (input.is(':disabled') || input.is(':hidden') || !input.is(':visible') || input.data('xdsoft_datetimepicker')) {
+ if (input.is(':disabled') || input.data('xdsoft_datetimepicker')) {
return;
}
clearTimeout(lazyInitTimer);
@@ -528,7 +764,7 @@
};
createDateTimePicker = function (input) {
- var datetimepicker = $('<div ' + (options.id ? 'id="' + options.id + '"' : '') + ' ' + (options.style ? 'style="' + options.style + '"' : '') + ' class="xdsoft_datetimepicker xdsoft_' + options.theme + ' xdsoft_noselect ' + (options.weeks ? ' xdsoft_showweeks' : '') + options.className + '"></div>'),
+ var datetimepicker = $('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'),
xdsoft_copyright = $('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),
datepicker = $('<div class="xdsoft_datepicker active"></div>'),
mounth_picker = $('<div class="xdsoft_mounthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button>' +
@@ -539,6 +775,7 @@
timepicker = $('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),
timeboxparent = timepicker.find('.xdsoft_time_box').eq(0),
timebox = $('<div class="xdsoft_time_variant"></div>'),
+ applyButton = $('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'),
/*scrollbar = $('<div class="xdsoft_scrollbar"></div>'),
scroller = $('<div class="xdsoft_scroller"></div>'),*/
monthselect = $('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),
@@ -551,7 +788,21 @@
current_time_index,
setPos,
timer = 0,
- timer1 = 0;
+ timer1 = 0,
+ _xdsoft_datetime;
+
+ if (options.id) {
+ datetimepicker.attr('id', options.id);
+ }
+ if (options.style) {
+ datetimepicker.attr('style', options.style);
+ }
+ if (options.weeks) {
+ datetimepicker.addClass('xdsoft_showweeks');
+ }
+
+ datetimepicker.addClass('xdsoft_' + options.theme);
+ datetimepicker.addClass(options.className);
mounth_picker
.find('.xdsoft_month span')
@@ -599,6 +850,11 @@
event.preventDefault();
})
.on('mousedown.xdsoft', '.xdsoft_option', function (event) {
+
+ if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) {
+ _xdsoft_datetime.currentTime = _xdsoft_datetime.now();
+ }
+
var year = _xdsoft_datetime.currentTime.getFullYear();
if (_xdsoft_datetime && _xdsoft_datetime.currentTime) {
_xdsoft_datetime.currentTime[$(this).parent().parent().hasClass('xdsoft_monthselect') ? 'setMonth' : 'setFullYear']($(this).data('value'));
@@ -617,6 +873,48 @@
});
datetimepicker.setOptions = function (_options) {
+ var highlightedDates = {},
+ getCaretPos = function (input) {
+ try {
+ if (document.selection && document.selection.createRange) {
+ var range = document.selection.createRange();
+ return range.getBookmark().charCodeAt(2) - 2;
+ }
+ if (input.setSelectionRange) {
+ return input.selectionStart;
+ }
+ } catch (e) {
+ return 0;
+ }
+ },
+ setCaretPos = function (node, pos) {
+ node = (typeof node === "string" || node instanceof String) ? document.getElementById(node) : node;
+ if (!node) {
+ return false;
+ }
+ if (node.createTextRange) {
+ var textRange = node.createTextRange();
+ textRange.collapse(true);
+ textRange.moveEnd('character', pos);
+ textRange.moveStart('character', pos);
+ textRange.select();
+ return true;
+ }
+ if (node.setSelectionRange) {
+ node.setSelectionRange(pos, pos);
+ return true;
+ }
+ return false;
+ },
+ isValidValue = function (mask, value) {
+ var reg = mask
+ .replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g, '\\$1')
+ .replace(/_/g, '{digit+}')
+ .replace(/([0-9]{1})/g, '{digit$1}')
+ .replace(/\{digit([0-9]{1})\}/g, '[0-$1_]{1}')
+ .replace(/\{digit[\+]\}/g, '[0-9_]{1}');
+ return (new RegExp(reg)).test(value);
+ };
options = $.extend(true, {}, options, _options);
if (_options.allowTimes && $.isArray(_options.allowTimes) && _options.allowTimes.length) {
@@ -627,9 +925,62 @@
options.weekends = $.extend(true, [], _options.weekends);
}
+ if (_options.highlightedDates && $.isArray(_options.highlightedDates) && _options.highlightedDates.length) {
+ $.each(_options.highlightedDates, function (index, value) {
+ var splitData = $.map(value.split(','), $.trim),
+ exDesc,
+ hDate = new HighlightedDate(Date.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style
+ keyDate = hDate.date.dateFormat(options.formatDate);
+ if (highlightedDates[keyDate] !== undefined) {
+ exDesc = highlightedDates[keyDate].desc;
+ if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) {
+ highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc;
+ }
+ } else {
+ highlightedDates[keyDate] = hDate;
+ }
+ });
+
+ options.highlightedDates = $.extend(true, [], highlightedDates);
+ }
+
+ if (_options.highlightedPeriods && $.isArray(_options.highlightedPeriods) && _options.highlightedPeriods.length) {
+ highlightedDates = $.extend(true, [], options.highlightedDates);
+ $.each(_options.highlightedPeriods, function (index, value) {
+ var splitData = $.map(value.split(','), $.trim),
+ dateTest = Date.parseDate(splitData[0], options.formatDate), // start date
+ dateEnd = Date.parseDate(splitData[1], options.formatDate),
+ desc = splitData[2],
+ hDate,
+ keyDate,
+ exDesc,
+ style = splitData[3];
+
+ while (dateTest <= dateEnd) {
+ hDate = new HighlightedDate(dateTest, desc, style);
+ keyDate = dateTest.dateFormat(options.formatDate);
+ dateTest.setDate(dateTest.getDate() + 1);
+ if (highlightedDates[keyDate] !== undefined) {
+ exDesc = highlightedDates[keyDate].desc;
+ if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) {
+ highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc;
+ }
+ } else {
+ highlightedDates[keyDate] = hDate;
+ }
+ }
+ });
+
+ options.highlightedDates = $.extend(true, [], highlightedDates);
+ }
+
if (_options.disabledDates && $.isArray(_options.disabledDates) && _options.disabledDates.length) {
- options.disabledDates = $.extend(true, [], _options.disabledDates);
- }
+ options.disabledDates = $.extend(true, [], _options.disabledDates);
+ }
+
+ if (_options.disabledWeekDays && $.isArray(_options.disabledWeekDays) && _options.disabledWeekDays.length) {
+ options.disabledWeekDays = $.extend(true, [], _options.disabledWeekDays);
+ }
if ((options.open || options.opened) && (!options.inline)) {
input.trigger('open.xdsoft');
@@ -659,10 +1010,10 @@
}
if (options.value) {
+ _xdsoft_datetime.setCurrentTime(options.value);
if (input && input.val) {
- input.val(options.value);
+ input.val(_xdsoft_datetime.str);
}
- _xdsoft_datetime.setCurrentTime(options.value);
}
if (isNaN(options.dayOfWeekStart)) {
@@ -683,53 +1034,21 @@
options.maxDate = _xdsoft_datetime.strToDateTime(options.maxDate).dateFormat(options.formatDate);
}
+ applyButton.toggle(options.showApplyButton);
+
mounth_picker
.find('.xdsoft_today_button')
.css('visibility', !options.todayButton ? 'hidden' : 'visible');
+ mounth_picker
+ .find('.' + options.prev)
+ .css('visibility', !options.prevButton ? 'hidden' : 'visible');
+
+ mounth_picker
+ .find('.' + options.next)
+ .css('visibility', !options.nextButton ? 'hidden' : 'visible');
+
if (options.mask) {
- var e,
- getCaretPos = function (input) {
- try {
- if (document.selection && document.selection.createRange) {
- var range = document.selection.createRange();
- return range.getBookmark().charCodeAt(2) - 2;
- }
- if (input.setSelectionRange) {
- return input.selectionStart;
- }
- } catch (e) {
- return 0;
- }
- },
- setCaretPos = function (node, pos) {
- node = (typeof node === "string" || node instanceof String) ? document.getElementById(node) : node;
- if (!node) {
- return false;
- }
- if (node.createTextRange) {
- var textRange = node.createTextRange();
- textRange.collapse(true);
- textRange.moveEnd('character', pos);
- textRange.moveStart('character', pos);
- textRange.select();
- return true;
- }
- if (node.setSelectionRange) {
- node.setSelectionRange(pos, pos);
- return true;
- }
- return false;
- },
- isValidValue = function (mask, value) {
- var reg = mask
- .replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g, '\\$1')
- .replace(/_/g, '{digit+}')
- .replace(/([0-9]{1})/g, '{digit$1}')
- .replace(/\{digit([0-9]{1})\}/g, '[0-$1_]{1}')
- .replace(/\{digit[\+]\}/g, '[0-9_]{1}');
- return (new RegExp(reg)).test(value);
- };
input.off('keydown.xdsoft');
if (options.mask === true) {
@@ -809,11 +1128,23 @@
$(this).val(null);
datetimepicker.data('xdsoft_datetime').empty();
} else if (!Date.parseDate($(this).val(), options.format)) {
- $(this).val((_xdsoft_datetime.now()).dateFormat(options.format));
+ var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')),
+ splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join(''));
+
+ // parse the numbers as 0312 => 03:12
+ if (!options.datepicker && options.timepicker && splittedHours >= 0 && splittedHours < 24 && splittedMinutes >= 0 && splittedMinutes < 60) {
+ $(this).val([splittedHours, splittedMinutes].map(function (item) {
+ return item > 9 ? item : '0' + item;
+ }).join(':'));
+ } else {
+ $(this).val((_xdsoft_datetime.now()).dateFormat(options.format));
+ }
+
datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
} else {
datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
}
+
datetimepicker.trigger('changedatetime.xdsoft');
});
}
@@ -853,7 +1184,8 @@
datepicker
.append(mounth_picker)
- .append(calendar);
+ .append(calendar)
+ .append(applyButton);
$(options.parentID)
.append(datetimepicker);
@@ -866,7 +1198,7 @@
time;
if (!norecursion && options.defaultDate) {
- date = _this.strToDate(options.defaultDate);
+ date = _this.strToDateTime(options.defaultDate);
d.setFullYear(date.getFullYear());
d.setMonth(date.getMonth());
d.setDate(date.getDate());
@@ -881,7 +1213,6 @@
d.setHours(time.getHours());
d.setMinutes(time.getMinutes());
}
-
return d;
};
@@ -906,6 +1237,11 @@
};
_this.nextMonth = function () {
+
+ if (_this.currentTime === undefined || _this.currentTime === null) {
+ _this.currentTime = _this.now();
+ }
+
var month = _this.currentTime.getMonth() + 1,
year;
if (month === 12) {
@@ -936,6 +1272,11 @@
};
_this.prevMonth = function () {
+
+ if (_this.currentTime === undefined || _this.currentTime === null) {
+ _this.currentTime = _this.now();
+ }
+
var month = _this.currentTime.getMonth() - 1;
if (month === -1) {
_this.currentTime.setFullYear(_this.currentTime.getFullYear() - 1);
@@ -973,7 +1314,7 @@
}
if (tmpDate && tmpDate[2]) {
timeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000;
- currentTime = new Date((_xdsoft_datetime.now()).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset);
+ currentTime = new Date((_this.now(true)).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset);
} else {
currentTime = sDateTime ? Date.parseDate(sDateTime, options.format) : _this.now();
}
@@ -1016,6 +1357,13 @@
_xdsoft_datetime = new XDSoft_datetime();
+ applyButton.on('click', function (e) {//pathbrite
+ e.preventDefault();
+ datetimepicker.data('changed', true);
+ _xdsoft_datetime.setCurrentTime(getCurrentValue());
+ input.val(_xdsoft_datetime.str());
+ datetimepicker.trigger('close.xdsoft');
+ });
mounth_picker
.find('.xdsoft_today_button')
.on('mousedown.xdsoft', function () {
@@ -1023,6 +1371,18 @@
_xdsoft_datetime.setCurrentTime(0);
datetimepicker.trigger('afterOpen.xdsoft');
}).on('dblclick.xdsoft', function () {
+ var currentDate = _xdsoft_datetime.getCurrentTime(), minDate, maxDate;
+ currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
+ minDate = _xdsoft_datetime.strToDate(options.minDate);
+ minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());
+ if (currentDate < minDate) {
+ return;
+ }
+ maxDate = _xdsoft_datetime.strToDate(options.maxDate);
+ maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate());
+ if (currentDate > maxDate) {
+ return;
+ }
input.val(_xdsoft_datetime.str());
datetimepicker.trigger('close.xdsoft');
});
@@ -1034,7 +1394,6 @@
stop = false;
(function arguments_callee1(v) {
- var month = _xdsoft_datetime.currentTime.getMonth();
if ($this.hasClass(options.next)) {
_xdsoft_datetime.nextMonth();
} else if ($this.hasClass(options.prev)) {
@@ -1090,6 +1449,11 @@
.on('xchange.xdsoft', function (event) {
clearTimeout(xchangeTimer);
xchangeTimer = setTimeout(function () {
+
+ if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) {
+ _xdsoft_datetime.currentTime = _xdsoft_datetime.now();
+ }
+
var table = '',
start = new Date(_xdsoft_datetime.currentTime.getFullYear(), _xdsoft_datetime.currentTime.getMonth(), 1, 12, 0, 0),
i = 0,
@@ -1097,6 +1461,8 @@
today = _xdsoft_datetime.now(),
maxDate = false,
minDate = false,
+ hDate,
+ day,
d,
y,
m,
@@ -1106,7 +1472,8 @@
newRow = true,
time = '',
h = '',
- line_time;
+ line_time,
+ description;
while (start.getDay() !== options.dayOfWeekStart) {
start.setDate(start.getDate() - 1);
@@ -1139,10 +1506,12 @@
classes = [];
i += 1;
+ day = start.getDay();
d = start.getDate();
y = start.getFullYear();
m = start.getMonth();
w = _xdsoft_datetime.getWeekOfYear(start);
+ description = '';
classes.push('xdsoft_date');
@@ -1156,6 +1525,8 @@
classes.push('xdsoft_disabled');
} else if (options.disabledDates.indexOf(start.dateFormat(options.formatDate)) !== -1) {
classes.push('xdsoft_disabled');
+ } else if (options.disabledWeekDays.indexOf(day) !== -1) {
+ classes.push('xdsoft_disabled');
}
if (customDateSettings && customDateSettings[1] !== "") {
@@ -1174,10 +1545,16 @@
classes.push('xdsoft_today');
}
- if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(start.dateFormat(options.formatDate)) === -1) {
+ if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(start.dateFormat(options.formatDate)) !== -1) {
classes.push('xdsoft_weekend');
}
+ if (options.highlightedDates[start.dateFormat(options.formatDate)] !== undefined) {
+ hDate = options.highlightedDates[start.dateFormat(options.formatDate)];
+ classes.push(hDate.style === undefined ? 'xdsoft_highlighted_default' : hDate.style);
+ description = hDate.desc === undefined ? '' : hDate.desc;
+ }
+
if (options.beforeShowDay && $.isFunction(options.beforeShowDay)) {
classes.push(options.beforeShowDay(start));
}
@@ -1190,7 +1567,7 @@
}
}
- table += '<td data-date="' + d + '" data-month="' + m + '" data-year="' + y + '"' + ' class="xdsoft_date xdsoft_day_of_week' + start.getDay() + ' ' + classes.join(' ') + '">' +
+ table += '<td data-date="' + d + '" data-month="' + m + '" data-year="' + y + '"' + ' class="xdsoft_date xdsoft_day_of_week' + start.getDay() + ' ' + classes.join(' ') + '" title="' + description + '">' +
'<div>' + d + '</div>' +
'</td>';
@@ -1213,17 +1590,27 @@
h = '';
m = '';
line_time = function line_time(h, m) {
- var now = _xdsoft_datetime.now();
+ var now = _xdsoft_datetime.now(), optionDateTime, current_time;
now.setHours(h);
h = parseInt(now.getHours(), 10);
now.setMinutes(m);
m = parseInt(now.getMinutes(), 10);
-
+ optionDateTime = new Date(_xdsoft_datetime.currentTime);
+ optionDateTime.setHours(h);
+ optionDateTime.setMinutes(m);
classes = [];
- if ((options.maxTime !== false && _xdsoft_datetime.strtotime(options.maxTime).getTime() < now.getTime()) || (options.minTime !== false && _xdsoft_datetime.strtotime(options.minTime).getTime() > now.getTime())) {
+ if ((options.minDateTime !== false && options.minDateTime > optionDateTime) || (options.maxTime !== false && _xdsoft_datetime.strtotime(options.maxTime).getTime() < now.getTime()) || (options.minTime !== false && _xdsoft_datetime.strtotime(options.minTime).getTime() > now.getTime())) {
classes.push('xdsoft_disabled');
}
- if ((options.initTime || options.defaultSelect || datetimepicker.data('changed')) && parseInt(_xdsoft_datetime.currentTime.getHours(), 10) === parseInt(h, 10) && (options.step > 59 || Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step === parseInt(m, 10))) {
+ if ((options.minDateTime !== false && options.minDateTime > optionDateTime) || ((options.disabledMinTime !== false && now.getTime() > _xdsoft_datetime.strtotime(options.disabledMinTime).getTime()) && (options.disabledMaxTime !== false && now.getTime() < _xdsoft_datetime.strtotime(options.disabledMaxTime).getTime()))) {
+ classes.push('xdsoft_disabled');
+ }
+
+ current_time = new Date(_xdsoft_datetime.currentTime);
+ current_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10));
+ current_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step);
+
+ if ((options.initTime || options.defaultSelect || datetimepicker.data('changed')) && current_time.getHours() === parseInt(h, 10) && (options.step > 59 || current_time.getMinutes() === parseInt(m, 10))) {
if (options.defaultSelect || datetimepicker.data('changed')) {
classes.push('xdsoft_current');
} else if (options.initTime) {
@@ -1263,7 +1650,7 @@
yearselect.children().eq(0)
.html(opt);
- for (i = 0, opt = ''; i <= 11; i += 1) {
+ for (i = parseInt(options.monthStart, 10), opt = ''; i <= parseInt(options.monthEnd, 10); i += 1) {
opt += '<div class="xdsoft_option ' + (_xdsoft_datetime.currentTime.getMonth() === i ? 'xdsoft_current' : '') + '" data-value="' + i + '">' + options.i18n[options.lang].months[i] + '</div>';
}
monthselect.children().eq(0).html(opt);
@@ -1319,7 +1706,7 @@
datetimepicker.trigger('select.xdsoft', [currentTime]);
input.val(_xdsoft_datetime.str());
- if ((timerclick > 1 || (options.closeOnDateSelect === true || (options.closeOnDateSelect === 0 && !options.timepicker))) && !options.inline) {
+ if ((timerclick > 1 || (options.closeOnDateSelect === true || (options.closeOnDateSelect === false && !options.timepicker))) && !options.inline) {
datetimepicker.trigger('close.xdsoft');
}
@@ -1354,9 +1741,10 @@
datetimepicker.trigger('select.xdsoft', [currentTime]);
datetimepicker.data('input').val(_xdsoft_datetime.str());
- if (!options.inline) {
- datetimepicker.trigger('close.xdsoft');
- }
+
+ if (options.inline !== true && options.closeOnTimeSelect === true) {
+ datetimepicker.trigger('close.xdsoft');
+ }
if (options.onSelectTime && $.isFunction(options.onSelectTime)) {
options.onSelectTime.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent);
@@ -1430,7 +1818,7 @@
current_time_index = 0;
setPos = function () {
- var offset = datetimepicker.data('input').offset(), top = offset.top + datetimepicker.data('input')[0].offsetHeight - 1, left = offset.left, position = "absolute";
+ var offset = datetimepicker.data('input').offset(), top = offset.top + datetimepicker.data('input')[0].offsetHeight - 1, left = offset.left, position = "absolute", node;
if (options.fixed) {
top -= $(window).scrollTop();
left -= $(window).scrollLeft();
@@ -1446,6 +1834,15 @@
left = $(window).width() - datetimepicker[0].offsetWidth;
}
}
+
+ node = datetimepicker[0];
+ do {
+ node = node.parentNode;
+ if (window.getComputedStyle(node).getPropertyValue('position') === 'relative' && $(window).width() >= node.offsetWidth) {
+ left = left - (($(window).width() - node.offsetWidth) / 2);
+ break;
+ }
+ } while (node.nodeName !== 'HTML');
datetimepicker.css({
left: left,
top: top,
@@ -1488,7 +1885,11 @@
event.stopPropagation();
})
.on('toggle.xdsoft', function (event) {
- datetimepicker.is(':visible') ? datetimepicker.trigger('close.xdsoft') : datetimepicker.trigger('open.xdsoft');
+ if (datetimepicker.is(':visible')) {
+ datetimepicker.trigger('close.xdsoft');
+ } else {
+ datetimepicker.trigger('open.xdsoft');
+ }
})
.data('input', input);
@@ -1499,7 +1900,6 @@
datetimepicker.setOptions(options);
function getCurrentValue() {
-
var ct = false, time;
if (options.startDate) {
@@ -1509,7 +1909,7 @@
if (ct) {
ct = _xdsoft_datetime.strToDateTime(ct);
} else if (options.defaultDate) {
- ct = _xdsoft_datetime.strToDate(options.defaultDate);
+ ct = _xdsoft_datetime.strToDateTime(options.defaultDate);
if (options.defaultTime) {
time = _xdsoft_datetime.strtotime(options.defaultTime);
ct.setHours(time.getHours());
@@ -1532,12 +1932,12 @@
input
.data('xdsoft_datetimepicker', datetimepicker)
.on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function (event) {
- if (input.is(':disabled') || input.is(':hidden') || !input.is(':visible') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) {
+ if (input.is(':disabled') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) {
return;
}
clearTimeout(timer);
timer = setTimeout(function () {
- if (input.is(':disabled') || input.is(':hidden') || !input.is(':visible')) {
+ if (input.is(':disabled')) {
return;
}
@@ -1590,7 +1990,7 @@
}
});
return this.each(function () {
- var datetimepicker = $(this).data('xdsoft_datetimepicker');
+ var datetimepicker = $(this).data('xdsoft_datetimepicker'), $input;
if (datetimepicker) {
if ($.type(opt) === 'string') {
switch (opt) {
@@ -1614,6 +2014,10 @@
}
datetimepicker.data('xdsoft_datetime').setCurrentTime(this.value);
break;
+ case 'validate':
+ $input = datetimepicker.data('input');
+ $input.trigger('blur.xdsoft');
+ break;
}
} else {
datetimepicker
@@ -1632,6 +2036,14 @@
};
$.fn.datetimepicker.defaults = default_options;
}(jQuery));
+
+function HighlightedDate(date, desc, style) {
+ "use strict";
+ this.date = date;
+ this.desc = desc;
+ this.style = style;
+}
+
(function () {
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
@@ -1657,5 +2069,5 @@
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
-Date.parseFunctions={count:0};Date.parseRegexes=[];Date.formatFunctions={count:0};Date.prototype.dateFormat=function(b){if(b=="unixtime"){return parseInt(this.getTime()/1000);}if(Date.formatFunctions[b]==null){Date.createNewFormat(b);}var a=Date.formatFunctions[b];return this[a]();};Date.createNewFormat=function(format){var funcName="format"+Date.formatFunctions.count++;Date.formatFunctions[format]=funcName;var code="Date.prototype."+funcName+" = function() {return ";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;code+="'"+String.escape(ch)+"' + ";}else{code+=Date.getFormatCode(ch);}}}eval(code.substring(0,code.length-3)+";}");};Date.getFormatCode=function(a){switch(a){case"d":return"String.leftPad(this.getDate(), 2, '0') + ";case"D":return"Date.dayNames[this.getDay()].substring(0, 3) + ";case"j":return"this.getDate() + ";case"l":return"Date.dayNames[this.getDay()] + ";case"S":return"this.getSuffix() + ";case"w":return"this.getDay() + ";case"z":return"this.getDayOfYear() + ";case"W":return"this.getWeekOfYear() + ";case"F":return"Date.monthNames[this.getMonth()] + ";case"m":return"String.leftPad(this.getMonth() + 1, 2, '0') + ";case"M":return"Date.monthNames[this.getMonth()].substring(0, 3) + ";case"n":return"(this.getMonth() + 1) + ";case"t":return"this.getDaysInMonth() + ";case"L":return"(this.isLeapYear() ? 1 : 0) + ";case"Y":return"this.getFullYear() + ";case"y":return"('' + this.getFullYear()).substring(2, 4) + ";case"a":return"(this.getHours() < 12 ? 'am' : 'pm') + ";case"A":return"(this.getHours() < 12 ? 'AM' : 'PM') + ";case"g":return"((this.getHours() %12) ? this.getHours() % 12 : 12) + ";case"G":return"this.getHours() + ";case"h":return"String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + ";case"H":return"String.leftPad(this.getHours(), 2, '0') + ";case"i":return"String.leftPad(this.getMinutes(), 2, '0') + ";case"s":return"String.leftPad(this.getSeconds(), 2, '0') + ";case"O":return"this.getGMTOffset() + ";case"T":return"this.getTimezone() + ";case"Z":return"(this.getTimezoneOffset() * -60) + ";default:return"'"+String.escape(a)+"' + ";}};Date.parseDate=function(a,c){if(c=="unixtime"){return new Date(!isNaN(parseInt(a))?parseInt(a)*1000:0);}if(Date.parseFunctions[c]==null){Date.createParser(c);}var b=Date.parseFunctions[c];return Date[b](a);};Date.createParser=function(format){var funcName="parse"+Date.parseFunctions.count++;var regexNum=Date.parseRegexes.length;var currentGroup=1;Date.parseFunctions[format]=funcName;var code="Date."+funcName+" = function(input) {\nvar y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, z = -1;\nvar d = new Date();\ny = d.getFullYear();\nm = d.getMonth();\nd = d.getDate();\nvar results = input.match(Date.parseRegexes["+regexNum+"]);\nif (results && results.length > 0) {";var regex="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;regex+=String.escape(ch);}else{obj=Date.formatCodeToRegex(ch,currentGroup);currentGroup+=obj.g;regex+=obj.s;if(obj.g&&obj.c){code+=obj.c;}}}}code+="if (y > 0 && z > 0){\nvar doyDate = new Date(y,0);\ndoyDate.setDate(z);\nm = doyDate.getMonth();\nd = doyDate.getDate();\n}";code+="if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0)\n{return new Date(y, m, d, h, i, s);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0)\n{return new Date(y, m, d, h, i);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0)\n{return new Date(y, m, d, h);}\nelse if (y > 0 && m >= 0 && d > 0)\n{return new Date(y, m, d);}\nelse if (y > 0 && m >= 0)\n{return new Date(y, m);}\nelse if (y > 0)\n{return new Date(y);}\n}return null;}";Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$");eval(code);};Date.formatCodeToRegex=function(b,a){switch(b){case"D":return{g:0,c:null,s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"};case"j":case"d":return{g:1,c:"d = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"l":return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"};case"S":return{g:0,c:null,s:"(?:st|nd|rd|th)"};case"w":return{g:0,c:null,s:"\\d"};case"z":return{g:1,c:"z = parseInt(results["+a+"], 10);\n",s:"(\\d{1,3})"};case"W":return{g:0,c:null,s:"(?:\\d{2})"};case"F":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"].substring(0, 3)], 10);\n",s:"("+Date.monthNames.join("|")+")"};case"M":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"]], 10);\n",s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"};case"n":case"m":return{g:1,c:"m = parseInt(results["+a+"], 10) - 1;\n",s:"(\\d{1,2})"};case"t":return{g:0,c:null,s:"\\d{1,2}"};case"L":return{g:0,c:null,s:"(?:1|0)"};case"Y":return{g:1,c:"y = parseInt(results["+a+"], 10);\n",s:"(\\d{4})"};case"y":return{g:1,c:"var ty = parseInt(results["+a+"], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"};case"a":return{g:1,c:"if (results["+a+"] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"};case"A":return{g:1,c:"if (results["+a+"] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"};case"g":case"G":case"h":case"H":return{g:1,c:"h = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"i":return{g:1,c:"i = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"s":return{g:1,c:"s = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"O":return{g:0,c:null,s:"[+-]\\d{4}"};case"T":return{g:0,c:null,s:"[A-Z]{3}"};case"Z":return{g:0,c:null,s:"[+-]\\d{1,5}"};default:return{g:0,c:null,s:String.escape(b)};}};Date.prototype.getTimezone=function(){return this.toString().replace(/^.*? ([A-Z]{3}) [0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3");};Date.prototype.getGMTOffset=function(){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+String.leftPad(Math.abs(this.getTimezoneOffset())%60,2,"0");};Date.prototype.getDayOfYear=function(){var a=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var b=0;b<this.getMonth();++b){a+=Date.daysInMonth[b];}return a+this.getDate();};Date.prototype.getWeekOfYear=function(){var b=this.getDayOfYear()+(4-this.getDay());var a=new Date(this.getFullYear(),0,1);var c=(7-a.getDay()+4);return String.leftPad(Math.ceil((b-c)/7)+1,2,"0");};Date.prototype.isLeapYear=function(){var a=this.getFullYear();return((a&3)==0&&(a%100||(a%400==0&&a)));};Date.prototype.getFirstDayOfMonth=function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a<0)?(a+7):a;};Date.prototype.getLastDayOfMonth=function(){var a=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(a<0)?(a+7):a;};Date.prototype.getDaysInMonth=function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;return Date.daysInMonth[this.getMonth()];};Date.prototype.getSuffix=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};String.escape=function(a){return a.replace(/('|\\)/g,"\\$1");};String.leftPad=function(d,b,c){var a=new String(d);if(c==null){c=" ";}while(a.length<b){a=c+a;}return a;};Date.daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31];Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.y2kYear=50;Date.monthNumbers={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};Date.patterns={ISO8601LongPattern:"Y-m-d H:i:s",ISO8601ShortPattern:"Y-m-d",ShortDatePattern:"n/j/Y",LongDatePattern:"l, F d, Y",FullDateTimePattern:"l, F d, Y g:i:s A",MonthDayPattern:"F d",ShortTimePattern:"g:i A",LongTimePattern:"g:i:s A",SortableDateTimePattern:"Y-m-d\\TH:i:s",UniversalSortableDateTimePattern:"Y-m-d H:i:sO",YearMonthPattern:"F, Y"};
+Date.parseFunctions={count:0};Date.parseRegexes=[];Date.formatFunctions={count:0};Date.prototype.dateFormat=function(b){if(b=="unixtime"){return parseInt(this.getTime()/1000);}if(Date.formatFunctions[b]==null){Date.createNewFormat(b);}var a=Date.formatFunctions[b];return this[a]();};Date.createNewFormat=function(format){var funcName="format"+Date.formatFunctions.count++;Date.formatFunctions[format]=funcName;var codePrefix="Date.prototype."+funcName+" = function() {return ";var code="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;code+="'"+String.escape(ch)+"' + ";}else{code+=Date.getFormatCode(ch);}}}if(code.length==0){code="\"\"";}else{code=code.substring(0,code.length-3);}eval(codePrefix+code+";}");};Date.getFormatCode=function(a){switch(a){case"d":return"String.leftPad(this.getDate(), 2, '0') + ";case"D":return"Date.dayNames[this.getDay()].substring(0, 3) + ";case"j":return"this.getDate() + ";case"l":return"Date.dayNames[this.getDay()] + ";case"S":return"this.getSuffix() + ";case"w":return"this.getDay() + ";case"z":return"this.getDayOfYear() + ";case"W":return"this.getWeekOfYear() + ";case"F":return"Date.monthNames[this.getMonth()] + ";case"m":return"String.leftPad(this.getMonth() + 1, 2, '0') + ";case"M":return"Date.monthNames[this.getMonth()].substring(0, 3) + ";case"n":return"(this.getMonth() + 1) + ";case"t":return"this.getDaysInMonth() + ";case"L":return"(this.isLeapYear() ? 1 : 0) + ";case"Y":return"this.getFullYear() + ";case"y":return"('' + this.getFullYear()).substring(2, 4) + ";case"a":return"(this.getHours() < 12 ? 'am' : 'pm') + ";case"A":return"(this.getHours() < 12 ? 'AM' : 'PM') + ";case"g":return"((this.getHours() %12) ? this.getHours() % 12 : 12) + ";case"G":return"this.getHours() + ";case"h":return"String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + ";case"H":return"String.leftPad(this.getHours(), 2, '0') + ";case"i":return"String.leftPad(this.getMinutes(), 2, '0') + ";case"s":return"String.leftPad(this.getSeconds(), 2, '0') + ";case"O":return"this.getGMTOffset() + ";case"T":return"this.getTimezone() + ";case"Z":return"(this.getTimezoneOffset() * -60) + ";default:return"'"+String.escape(a)+"' + ";}};Date.parseDate=function(a,c){if(c=="unixtime"){return new Date(!isNaN(parseInt(a))?parseInt(a)*1000:0);}if(Date.parseFunctions[c]==null){Date.createParser(c);}var b=Date.parseFunctions[c];return Date[b](a);};Date.createParser=function(format){var funcName="parse"+Date.parseFunctions.count++;var regexNum=Date.parseRegexes.length;var currentGroup=1;Date.parseFunctions[format]=funcName;var code="Date."+funcName+" = function(input) {\nvar y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, z = -1;\nvar d = new Date();\ny = d.getFullYear();\nm = d.getMonth();\nd = d.getDate();\nvar results = input.match(Date.parseRegexes["+regexNum+"]);\nif (results && results.length > 0) {";var regex="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;regex+=String.escape(ch);}else{obj=Date.formatCodeToRegex(ch,currentGroup);currentGroup+=obj.g;regex+=obj.s;if(obj.g&&obj.c){code+=obj.c;}}}}code+="if (y > 0 && z > 0){\nvar doyDate = new Date(y,0);\ndoyDate.setDate(z);\nm = doyDate.getMonth();\nd = doyDate.getDate();\n}";code+="if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0)\n{return new Date(y, m, d, h, i, s);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0)\n{return new Date(y, m, d, h, i);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0)\n{return new Date(y, m, d, h);}\nelse if (y > 0 && m >= 0 && d > 0)\n{return new Date(y, m, d);}\nelse if (y > 0 && m >= 0)\n{return new Date(y, m);}\nelse if (y > 0)\n{return new Date(y);}\n}return null;}";Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$",'i');eval(code);};Date.formatCodeToRegex=function(b,a){switch(b){case"D":return{g:0,c:null,s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"};case"j":case"d":return{g:1,c:"d = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"l":return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"};case"S":return{g:0,c:null,s:"(?:st|nd|rd|th)"};case"w":return{g:0,c:null,s:"\\d"};case"z":return{g:1,c:"z = parseInt(results["+a+"], 10);\n",s:"(\\d{1,3})"};case"W":return{g:0,c:null,s:"(?:\\d{2})"};case"F":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"].substring(0, 3)], 10);\n",s:"("+Date.monthNames.join("|")+")"};case"M":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"]], 10);\n",s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"};case"n":case"m":return{g:1,c:"m = parseInt(results["+a+"], 10) - 1;\n",s:"(\\d{1,2})"};case"t":return{g:0,c:null,s:"\\d{1,2}"};case"L":return{g:0,c:null,s:"(?:1|0)"};case"Y":return{g:1,c:"y = parseInt(results["+a+"], 10);\n",s:"(\\d{4})"};case"y":return{g:1,c:"var ty = parseInt(results["+a+"], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"};case"a":return{g:1,c:"if (results["+a+"] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"};case"A":return{g:1,c:"if (results["+a+"] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"};case"g":case"G":case"h":case"H":return{g:1,c:"h = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"i":return{g:1,c:"i = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"s":return{g:1,c:"s = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"O":return{g:0,c:null,s:"[+-]\\d{4}"};case"T":return{g:0,c:null,s:"[A-Z]{3}"};case"Z":return{g:0,c:null,s:"[+-]\\d{1,5}"};default:return{g:0,c:null,s:String.escape(b)};}};Date.prototype.getTimezone=function(){return this.toString().replace(/^.*? ([A-Z]{3}) [0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3");};Date.prototype.getGMTOffset=function(){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+String.leftPad(Math.abs(this.getTimezoneOffset())%60,2,"0");};Date.prototype.getDayOfYear=function(){var a=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var b=0;b<this.getMonth();++b){a+=Date.daysInMonth[b];}return a+this.getDate();};Date.prototype.getWeekOfYear=function(){var b=this.getDayOfYear()+(4-this.getDay());var a=new Date(this.getFullYear(),0,1);var c=(7-a.getDay()+4);return String.leftPad(Math.ceil((b-c)/7)+1,2,"0");};Date.prototype.isLeapYear=function(){var a=this.getFullYear();return((a&3)==0&&(a%100||(a%400==0&&a)));};Date.prototype.getFirstDayOfMonth=function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a<0)?(a+7):a;};Date.prototype.getLastDayOfMonth=function(){var a=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(a<0)?(a+7):a;};Date.prototype.getDaysInMonth=function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;return Date.daysInMonth[this.getMonth()];};Date.prototype.getSuffix=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};String.escape=function(a){return a.replace(/('|\\)/g,"\\$1");};String.leftPad=function(d,b,c){var a=new String(d);if(c==null){c=" ";}while(a.length<b){a=c+a;}return a;};Date.daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31];Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.y2kYear=50;Date.monthNumbers={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};Date.patterns={ISO8601LongPattern:"Y-m-d H:i:s",ISO8601ShortPattern:"Y-m-d",ShortDatePattern:"n/j/Y",LongDatePattern:"l, F d, Y",FullDateTimePattern:"l, F d, Y g:i:s A",MonthDayPattern:"F d",ShortTimePattern:"g:i A",LongTimePattern:"g:i:s A",SortableDateTimePattern:"Y-m-d\\TH:i:s",UniversalSortableDateTimePattern:"Y-m-d H:i:sO",YearMonthPattern:"F, Y"};
}());
diff --git a/library/fullcalendar/CHANGELOG.txt b/library/fullcalendar/CHANGELOG.txt
new file mode 100644
index 000000000..b583228fc
--- /dev/null
+++ b/library/fullcalendar/CHANGELOG.txt
@@ -0,0 +1,905 @@
+
+v2.5.0-beta (2015-11-15)
+------------------------
+
+internal refactor of the "grid" system, providing increased flexbility for plugins like
+[fullcalendar-scheduler](https://github.com/fullcalendar/fullcalendar-scheduler/releases)
+
+
+v2.4.0 (2015-08-16)
+-------------------
+
+- add new buttons to the header via `customButtons` ([225])
+- control stacking order of events via `eventOrder` ([364])
+- control frequency of slot text via `slotLabelInterval` ([946])
+- `displayEventTime` ([1904])
+- `on` and `off` methods ([1910])
+- renamed `axisFormat` to `slotLabelFormat`
+
+[225]: https://code.google.com/p/fullcalendar/issues/detail?id=225
+[364]: https://code.google.com/p/fullcalendar/issues/detail?id=364
+[946]: https://code.google.com/p/fullcalendar/issues/detail?id=946
+[1904]: https://code.google.com/p/fullcalendar/issues/detail?id=1904
+[1910]: https://code.google.com/p/fullcalendar/issues/detail?id=1910
+
+
+v2.3.2 (2015-06-14)
+-------------------
+
+- minor code adjustment in preparation for plugins
+
+
+v2.3.1 (2015-03-08)
+-------------------
+
+- Fix week view column title for en-gb ([PR220])
+- Publish to NPM ([2447])
+- Detangle bower from npm package ([PR179])
+
+[PR220]: https://github.com/arshaw/fullcalendar/pull/220
+[2447]: https://code.google.com/p/fullcalendar/issues/detail?id=2447
+[PR179]: https://github.com/arshaw/fullcalendar/pull/179
+
+
+v2.3.0 (2015-02-21)
+-------------------
+
+- internal refactoring in preparation for other views
+- businessHours now renders on whole-days in addition to timed areas
+- events in "more" popover not sorted by time ([2385])
+- avoid using moment's deprecated zone method ([2443])
+- destroying the calendar sometimes causes all window resize handlers to be unbound ([2432])
+- multiple calendars on one page, can't accept external elements after navigating ([2433])
+- accept external events from jqui sortable ([1698])
+- external jqui drop processed before reverting ([1661])
+- IE8 fix: month view renders incorrectly ([2428])
+- IE8 fix: eventLimit:true wouldn't activate "more" link ([2330])
+- IE8 fix: dragging an event with an href
+- IE8 fix: invisible element while dragging agenda view events
+- IE8 fix: erratic external element dragging
+
+[2385]: https://code.google.com/p/fullcalendar/issues/detail?id=2385
+[2443]: https://code.google.com/p/fullcalendar/issues/detail?id=2443
+[2432]: https://code.google.com/p/fullcalendar/issues/detail?id=2432
+[2433]: https://code.google.com/p/fullcalendar/issues/detail?id=2433
+[1698]: https://code.google.com/p/fullcalendar/issues/detail?id=1698
+[1661]: https://code.google.com/p/fullcalendar/issues/detail?id=1661
+[2428]: https://code.google.com/p/fullcalendar/issues/detail?id=2428
+[2330]: https://code.google.com/p/fullcalendar/issues/detail?id=2330
+
+
+v2.2.7 (2015-02-10)
+-------------------
+
+- view.title wasn't defined in viewRender callback ([2407])
+- FullCalendar versions >= 2.2.5 brokenness with Moment versions <= 2.8.3 ([2417])
+- Support Bokmal Norwegian language specifically ([2427])
+
+[2407]: https://code.google.com/p/fullcalendar/issues/detail?id=2407
+[2417]: https://code.google.com/p/fullcalendar/issues/detail?id=2417
+[2427]: https://code.google.com/p/fullcalendar/issues/detail?id=2427
+
+
+v2.2.6 (2015-01-11)
+-------------------
+
+- Compatibility with Moment v2.9. Was breaking GCal plugin ([2408])
+- View object's `title` property mistakenly omitted ([2407])
+- Single-day views with hiddens days could cause prev/next misbehavior ([2406])
+- Don't let the current date ever be a hidden day (solves [2395])
+- Hebrew locale ([2157])
+
+[2408]: https://code.google.com/p/fullcalendar/issues/detail?id=2408
+[2407]: https://code.google.com/p/fullcalendar/issues/detail?id=2407
+[2406]: https://code.google.com/p/fullcalendar/issues/detail?id=2406
+[2395]: https://code.google.com/p/fullcalendar/issues/detail?id=2395
+[2157]: https://code.google.com/p/fullcalendar/issues/detail?id=2157
+
+
+v2.2.5 (2014-12-30)
+-------------------
+
+- `buttonText` specified for custom views via the `views` option
+ - bugfix: wrong default value, couldn't override default
+ - feature: default value taken from locale
+
+
+v2.2.4 (2014-12-29)
+-------------------
+
+- Arbitrary durations for basic/agenda views with the `views` option ([692])
+- Specify view-specific options using the `views` option. fixes [2283]
+- Deprecate view-option-hashes
+- Formalize and expose View API ([1055])
+- updateEvent method, more intuitive behavior. fixes [2194]
+
+[692]: https://code.google.com/p/fullcalendar/issues/detail?id=692
+[2283]: https://code.google.com/p/fullcalendar/issues/detail?id=2283
+[1055]: https://code.google.com/p/fullcalendar/issues/detail?id=1055
+[2194]: https://code.google.com/p/fullcalendar/issues/detail?id=2194
+
+
+v2.2.3 (2014-11-26)
+-------------------
+
+- removeEventSource with Google Calendar object source, would not remove ([2368])
+- Events with invalid end dates are still accepted and rendered ([2350], [2237], [2296])
+- Bug when rendering business hours and navigating away from original view ([2365])
+- Links to Google Calendar events will use current timezone ([2122])
+- Google Calendar plugin works with timezone names that have spaces
+- Google Calendar plugin accepts person email addresses as calendar IDs
+- Internally use numeric sort instead of alphanumeric sort ([2370])
+
+[2368]: https://code.google.com/p/fullcalendar/issues/detail?id=2368
+[2350]: https://code.google.com/p/fullcalendar/issues/detail?id=2350
+[2237]: https://code.google.com/p/fullcalendar/issues/detail?id=2237
+[2296]: https://code.google.com/p/fullcalendar/issues/detail?id=2296
+[2365]: https://code.google.com/p/fullcalendar/issues/detail?id=2365
+[2122]: https://code.google.com/p/fullcalendar/issues/detail?id=2122
+[2370]: https://code.google.com/p/fullcalendar/issues/detail?id=2370
+
+
+v2.2.2 (2014-11-19)
+-------------------
+
+- Fixes to Google Calendar API V3 code
+ - wouldn't recognize a lone-string Google Calendar ID if periods before the @ symbol
+ - removeEventSource wouldn't work when given a Google Calendar ID
+
+
+v2.2.1 (2014-11-19)
+-------------------
+
+- Migrate Google Calendar plugin to use V3 of the API ([1526])
+
+[1526]: https://code.google.com/p/fullcalendar/issues/detail?id=1526
+
+
+v2.2.0 (2014-11-14)
+-------------------
+
+- Background events. Event object's `rendering` property ([144], [1286])
+- `businessHours` option ([144])
+- Controlling where events can be dragged/resized and selections can go ([396], [1286], [2253])
+ - `eventOverlap`, `selectOverlap`, and similar
+ - `eventConstraint`, `selectConstraint`, and similar
+- Improvements to dragging and dropping external events ([2004])
+ - Associating with real event data. used with `eventReceive`
+ - Associating a `duration`
+- Performance boost for moment creation
+ - Be aware, FullCalendar-specific methods now attached directly to global moment.fn
+ - Helps with [issue 2259][2259]
+- Reintroduced forgotten `dropAccept` option ([2312])
+
+[144]: https://code.google.com/p/fullcalendar/issues/detail?id=144
+[396]: https://code.google.com/p/fullcalendar/issues/detail?id=396
+[1286]: https://code.google.com/p/fullcalendar/issues/detail?id=1286
+[2004]: https://code.google.com/p/fullcalendar/issues/detail?id=2004
+[2253]: https://code.google.com/p/fullcalendar/issues/detail?id=2253
+[2259]: https://code.google.com/p/fullcalendar/issues/detail?id=2259
+[2312]: https://code.google.com/p/fullcalendar/issues/detail?id=2312
+
+
+v2.1.1 (2014-08-29)
+-------------------
+
+- removeEventSource not working with array ([2203])
+- mouseout not triggered after mouseover+updateEvent ([829])
+- agenda event's render with no <a> href, not clickable ([2263])
+
+[2203]: https://code.google.com/p/fullcalendar/issues/detail?id=2203
+[829]: https://code.google.com/p/fullcalendar/issues/detail?id=829
+[2263]: https://code.google.com/p/fullcalendar/issues/detail?id=2263
+
+
+v2.1.0 (2014-08-25)
+-------------------
+
+Large code refactor with better OOP, better code reuse, and more comments.
+**No more reliance on jQuery UI** for event dragging, resizing, or anything else.
+
+Significant changes to HTML/CSS skeleton:
+- Leverages tables for liquid rendering of days and events. No costly manual repositioning ([809])
+- **Backwards-incompatibilities**:
+ - **Many classNames have changed. Custom CSS will likely need to be adjusted.**
+ - IE7 definitely not supported anymore
+ - In `eventRender` callback, `element` will not be attached to DOM yet
+ - Events are styled to be one line by default ([1992]). Can be undone through custom CSS,
+ but not recommended (might get gaps [like this][111] in certain situations).
+
+A "more..." link when there are too many events on a day ([304]). Works with month and basic views
+as well as the all-day section of the agenda views. New options:
+- `eventLimit`. a number or `true`
+- `eventLimitClick`. the `"popover`" value will reveal all events in a raised panel (the default)
+- `eventLimitText`
+- `dayPopoverFormat`
+
+Changes related to height and scrollbars:
+- `aspectRatio`/`height`/`contentHeight` values will be honored *no matter what*
+ - If too many events causing too much vertical space, scrollbars will be used ([728]).
+ This is default behavior for month view (**backwards-incompatibility**)
+ - If too few slots in agenda view, view will stretch to be the correct height ([2196])
+- `'auto'` value for `height`/`contentHeight` options. If content is too tall, the view will
+ vertically stretch to accomodate and no scrollbars will be used ([521]).
+- Tall weeks in month view will borrow height from other weeks ([243])
+- Automatically scroll the view then dragging/resizing an event ([1025], [2078])
+- New `fixedWeekCount` option to determines the number of weeks in month view
+ - Supersedes `weekMode` (**deprecated**). Instead, use a combination of `fixedWeekCount` and
+ one of the height options, possibly with an `'auto'` value
+
+Much nicer, glitch-free rendering of calendar *for printers* ([35]). Things you might not expect:
+- Buttons will become hidden
+- Agenda views display a flat list of events where the time slots would be
+
+Other issues resolved along the way:
+- Space on right side of agenda events configurable through CSS ([204])
+- Problem with window resize ([259])
+- Events sorting stays consistent across weeks ([510])
+- Agenda's columns misaligned on wide screens ([511])
+- Run `selectHelper` through `eventRender` callbacks ([629])
+- Keyboard access, tabbing ([637])
+- Run resizing events through `eventRender` ([714])
+- Resize an event to a different day in agenda views ([736])
+- Allow selection across days in agenda views ([778])
+- Mouseenter delegated event not working on event elements ([936])
+- Agenda event dragging, snapping to different columns is erratic ([1101])
+- Android browser cuts off Day view at 8 PM with no scroll bar ([1203])
+- Don't fire `eventMouseover`/`eventMouseout` while dragging/resizing ([1297])
+- Customize the resize handle text ("=") ([1326])
+- If agenda event is too short, don't overwrite `.fc-event-time` ([1700])
+- Zooming calendar causes events to misalign ([1996])
+- Event destroy callback on event removal ([2017])
+- Agenda views, when RTL, should have axis on right ([2132])
+- Make header buttons more accessibile ([2151])
+- daySelectionMousedown should interpret OSX ctrl+click as a right mouse click ([2169])
+- Best way to display time text on multi-day events *with times* ([2172])
+- Eliminate table use for header layout ([2186])
+- Event delegation used for event-related callbacks (like `eventClick`). Speedier.
+
+[35]: https://code.google.com/p/fullcalendar/issues/detail?id=35
+[204]: https://code.google.com/p/fullcalendar/issues/detail?id=204
+[243]: https://code.google.com/p/fullcalendar/issues/detail?id=243
+[259]: https://code.google.com/p/fullcalendar/issues/detail?id=259
+[304]: https://code.google.com/p/fullcalendar/issues/detail?id=304
+[510]: https://code.google.com/p/fullcalendar/issues/detail?id=510
+[511]: https://code.google.com/p/fullcalendar/issues/detail?id=511
+[521]: https://code.google.com/p/fullcalendar/issues/detail?id=521
+[629]: https://code.google.com/p/fullcalendar/issues/detail?id=629
+[637]: https://code.google.com/p/fullcalendar/issues/detail?id=637
+[714]: https://code.google.com/p/fullcalendar/issues/detail?id=714
+[728]: https://code.google.com/p/fullcalendar/issues/detail?id=728
+[736]: https://code.google.com/p/fullcalendar/issues/detail?id=736
+[778]: https://code.google.com/p/fullcalendar/issues/detail?id=778
+[809]: https://code.google.com/p/fullcalendar/issues/detail?id=809
+[936]: https://code.google.com/p/fullcalendar/issues/detail?id=936
+[1025]: https://code.google.com/p/fullcalendar/issues/detail?id=1025
+[1101]: https://code.google.com/p/fullcalendar/issues/detail?id=1101
+[1203]: https://code.google.com/p/fullcalendar/issues/detail?id=1203
+[1297]: https://code.google.com/p/fullcalendar/issues/detail?id=1297
+[1326]: https://code.google.com/p/fullcalendar/issues/detail?id=1326
+[1700]: https://code.google.com/p/fullcalendar/issues/detail?id=1700
+[1992]: https://code.google.com/p/fullcalendar/issues/detail?id=1992
+[1996]: https://code.google.com/p/fullcalendar/issues/detail?id=1996
+[2017]: https://code.google.com/p/fullcalendar/issues/detail?id=2017
+[2078]: https://code.google.com/p/fullcalendar/issues/detail?id=2078
+[2132]: https://code.google.com/p/fullcalendar/issues/detail?id=2132
+[2151]: https://code.google.com/p/fullcalendar/issues/detail?id=2151
+[2169]: https://code.google.com/p/fullcalendar/issues/detail?id=2169
+[2172]: https://code.google.com/p/fullcalendar/issues/detail?id=2172
+[2186]: https://code.google.com/p/fullcalendar/issues/detail?id=2186
+[2196]: https://code.google.com/p/fullcalendar/issues/detail?id=2196
+[111]: https://code.google.com/p/fullcalendar/issues/detail?id=111
+
+
+v2.0.3 (2014-08-15)
+-------------------
+
+- moment-2.8.1 compatibility ([2221])
+- relative path in bower.json ([PR 117])
+- upgraded jquery-ui and misc dev dependencies
+
+[2221]: https://code.google.com/p/fullcalendar/issues/detail?id=2221
+[PR 117]: https://github.com/arshaw/fullcalendar/pull/177
+
+
+v2.0.2 (2014-06-24)
+-------------------
+
+- bug with persisting addEventSource calls ([2191])
+- bug with persisting removeEvents calls with an array source ([2187])
+- bug with removeEvents method when called with 0 removes all events ([2082])
+
+[2191]: https://code.google.com/p/fullcalendar/issues/detail?id=2191
+[2187]: https://code.google.com/p/fullcalendar/issues/detail?id=2187
+[2082]: https://code.google.com/p/fullcalendar/issues/detail?id=2082
+
+
+v2.0.1 (2014-06-15)
+-------------------
+
+- `delta` parameters reintroduced in `eventDrop` and `eventResize` handlers ([2156])
+ - **Note**: this changes the argument order for `revertFunc`
+- wrongfully triggering a windowResize when resizing an agenda view event ([1116])
+- `this` values in event drag-n-drop/resize handlers consistently the DOM node ([1177])
+- `displayEventEnd` - v2 workaround to force display of an end time ([2090])
+- don't modify passed-in eventSource items ([954])
+- destroy method now removes fc-ltr class ([2033])
+- weeks of last/next month still visible when weekends are hidden ([2095])
+- fixed memory leak when destroying calendar with selectable/droppable ([2137])
+- Icelandic language ([2180])
+- Bahasa Indonesia language ([PR 172])
+
+[1116]: https://code.google.com/p/fullcalendar/issues/detail?id=1116
+[1177]: https://code.google.com/p/fullcalendar/issues/detail?id=1177
+[2090]: https://code.google.com/p/fullcalendar/issues/detail?id=2090
+[954]: https://code.google.com/p/fullcalendar/issues/detail?id=954
+[2033]: https://code.google.com/p/fullcalendar/issues/detail?id=2033
+[2095]: https://code.google.com/p/fullcalendar/issues/detail?id=2095
+[2137]: https://code.google.com/p/fullcalendar/issues/detail?id=2137
+[2156]: https://code.google.com/p/fullcalendar/issues/detail?id=2156
+[2180]: https://code.google.com/p/fullcalendar/issues/detail?id=2180
+[PR 172]: https://github.com/arshaw/fullcalendar/pull/172
+
+
+v2.0.0 (2014-06-01)
+-------------------
+
+Internationalization support, timezone support, and [MomentJS] integration. Extensive changes, many
+of which are backwards incompatible.
+
+[Full list of changes][Upgrading-to-v2] | [Affected Issues][Date-Milestone]
+
+An automated testing framework has been set up ([Karma] + [Jasmine]) and tests have been written
+which cover about half of FullCalendar's functionality. Special thanks to @incre-d, @vidbina, and
+@sirrocco for the help.
+
+In addition, the main development repo has been repurposed to also include the built distributable
+JS/CSS for the project and will serve as the new [Bower] endpoint.
+
+[MomentJS]: http://momentjs.com/
+[Upgrading-to-v2]: http://arshaw.com/fullcalendar/wiki/Upgrading-to-v2/
+[Date-Milestone]: https://code.google.com/p/fullcalendar/issues/list?can=1&q=milestone%3Ddate
+[Karma]: http://karma-runner.github.io/
+[Jasmine]: http://jasmine.github.io/
+[Bower]: http://bower.io/
+
+
+v1.6.4 (2013-09-01)
+-------------------
+
+- better algorithm for positioning timed agenda events ([1115])
+- `slotEventOverlap` option to tweak timed agenda event overlapping ([218])
+- selection bug when slot height is customized ([1035])
+- supply view argument in `loading` callback ([1018])
+- fixed week number not displaying in agenda views ([1951])
+- fixed fullCalendar not initializing with no options ([1356])
+- NPM's `package.json`, no more warnings or errors ([1762])
+- building the bower component should output `bower.json` instead of `component.json` ([PR 125])
+- use bower internally for fetching new versions of jQuery and jQuery UI
+
+[1115]: https://code.google.com/p/fullcalendar/issues/detail?id=1115
+[218]: https://code.google.com/p/fullcalendar/issues/detail?id=218
+[1035]: https://code.google.com/p/fullcalendar/issues/detail?id=1035
+[1018]: https://code.google.com/p/fullcalendar/issues/detail?id=1018
+[1951]: https://code.google.com/p/fullcalendar/issues/detail?id=1951
+[1356]: https://code.google.com/p/fullcalendar/issues/detail?id=1356
+[1762]: https://code.google.com/p/fullcalendar/issues/detail?id=1762
+[PR 125]: https://github.com/arshaw/fullcalendar/pull/125
+
+
+v1.6.3 (2013-08-10)
+-------------------
+
+- `viewRender` callback ([PR 15])
+- `viewDestroy` callback ([PR 15])
+- `eventDestroy` callback ([PR 111])
+- `handleWindowResize` option ([PR 54])
+- `eventStartEditable`/`startEditable` options ([PR 49])
+- `eventDurationEditable`/`durationEditable` options ([PR 49])
+- specify function for `$.ajax` `data` parameter for JSON event sources ([PR 59])
+- fixed bug with agenda event dropping in wrong column ([PR 55])
+- easier event element z-index customization ([PR 58])
+- classNames on past/future days ([PR 88])
+- allow `null`/`undefined` event titles ([PR 84])
+- small optimize for agenda event rendering ([PR 56])
+- deprecated:
+ - `viewDisplay`
+ - `disableDragging`
+ - `disableResizing`
+- bundled with latest jQuery (1.10.2) and jQuery UI (1.10.3)
+
+[PR 15]: https://github.com/arshaw/fullcalendar/pull/15
+[PR 111]: https://github.com/arshaw/fullcalendar/pull/111
+[PR 54]: https://github.com/arshaw/fullcalendar/pull/54
+[PR 49]: https://github.com/arshaw/fullcalendar/pull/49
+[PR 59]: https://github.com/arshaw/fullcalendar/pull/59
+[PR 55]: https://github.com/arshaw/fullcalendar/pull/55
+[PR 58]: https://github.com/arshaw/fullcalendar/pull/58
+[PR 88]: https://github.com/arshaw/fullcalendar/pull/88
+[PR 84]: https://github.com/arshaw/fullcalendar/pull/84
+[PR 56]: https://github.com/arshaw/fullcalendar/pull/56
+
+
+v1.6.2 (2013-07-18)
+-------------------
+
+- `hiddenDays` option ([686])
+- bugfix: when `eventRender` returns `false`, incorrect stacking of events ([762])
+- bugfix: couldn't change `event.backgroundImage` when calling `updateEvent` (thx @stephenharris)
+
+[686]: https://code.google.com/p/fullcalendar/issues/detail?id=686
+[762]: https://code.google.com/p/fullcalendar/issues/detail?id=762
+
+
+v1.6.1 (2013-04-14)
+-------------------
+
+- fixed event inner content overflow bug ([1783])
+- fixed table header className bug [1772]
+- removed text-shadow on events (better for general use, thx @tkrotoff)
+
+[1783]: https://code.google.com/p/fullcalendar/issues/detail?id=1783
+[1772]: https://code.google.com/p/fullcalendar/issues/detail?id=1772
+
+
+v1.6.0 (2013-03-18)
+-------------------
+
+- visual facelift, with bootstrap-inspired buttons and colors
+- simplified HTML/CSS for events and buttons
+- `dayRender`, for modifying a day cell ([191], thx @althaus)
+- week numbers on side of calendar ([295])
+ - `weekNumber`
+ - `weekNumberCalculation`
+ - `weekNumberTitle`
+ - `W` formatting variable
+- finer snapping granularity for agenda view events ([495], thx @ms-doodle-com)
+- `eventAfterAllRender` ([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
+
+[191]: https://code.google.com/p/fullcalendar/issues/detail?id=191
+[295]: https://code.google.com/p/fullcalendar/issues/detail?id=295
+[495]: https://code.google.com/p/fullcalendar/issues/detail?id=495
+[753]: https://code.google.com/p/fullcalendar/issues/detail?id=753
+
+
+v1.5.4 (2012-09-05)
+-------------------
+
+- made compatible with jQuery 1.8.* (thx @archaeron)
+- bundled with jQuery 1.8.1 and jQuery UI 1.8.23
+
+
+v1.5.3 (2012-02-06)
+-------------------
+
+- fixed dragging issue with jQuery UI 1.8.16 ([1168])
+- bundled with jQuery 1.7.1 and jQuery UI 1.8.17
+
+[1168]: https://code.google.com/p/fullcalendar/issues/detail?id=1168
+
+
+v1.5.2 (2011-08-21)
+-------------------
+
+- correctly process UTC "Z" ISO8601 date strings ([750])
+
+[750]: https://code.google.com/p/fullcalendar/issues/detail?id=750
+
+
+v1.5.1 (2011-04-09)
+-------------------
+
+- more flexible ISO8601 date parsing ([814])
+- more flexible parsing of UNIX timestamps ([826])
+- FullCalendar now buildable from source on a Mac ([795])
+- FullCalendar QA'd in FF4 ([883])
+- upgraded to jQuery 1.5.2 (which supports IE9) and jQuery UI 1.8.11
+
+[814]: https://code.google.com/p/fullcalendar/issues/detail?id=814
+[826]: https://code.google.com/p/fullcalendar/issues/detail?id=826
+[795]: https://code.google.com/p/fullcalendar/issues/detail?id=795
+[883]: https://code.google.com/p/fullcalendar/issues/detail?id=883
+
+
+v1.5 (2011-03-19)
+-----------------
+
+- slicker default styling for buttons
+- reworked a lot of the calendar's HTML and accompanying CSS (solves [327] and [395])
+- more printer-friendly (fullcalendar-print.css)
+- fullcalendar now inherits styles from jquery-ui themes differently.
+ styles for buttons are distinct from styles for calendar cells.
+ (solves [299])
+- can now color events through FullCalendar options and Event-Object properties ([117])
+ THIS IS NOW THE PREFERRED METHOD OF COLORING EVENTS (as opposed to using className and CSS)
+ - FullCalendar options:
+ - eventColor (changes both background and border)
+ - eventBackgroundColor
+ - eventBorderColor
+ - eventTextColor
+ - Event-Object options:
+ - color (changes both background and border)
+ - backgroundColor
+ - borderColor
+ - textColor
+- can now specify an event source as an *object* with a `url` property (json feed) or
+ an `events` property (function or array) with additional properties that will
+ be applied to the entire event source:
+ - color (changes both background and border)
+ - backgroudColor
+ - borderColor
+ - textColor
+ - className
+ - editable
+ - allDayDefault
+ - ignoreTimezone
+ - startParam (for a feed)
+ - endParam (for a feed)
+ - ANY OF THE JQUERY $.ajax OPTIONS
+ allows for easily changing from GET to POST and sending additional parameters ([386])
+ allows for easily attaching ajax handlers such as `error` ([754])
+ allows for turning caching on ([355])
+- Google Calendar feeds are now specified differently:
+ - specify a simple string of your feed's URL
+ - specify an *object* with a `url` property of your feed's URL.
+ you can include any of the new Event-Source options in this object.
+ - the old `$.fullCalendar.gcalFeed` method still works
+- no more IE7 SSL popup ([504])
+- remove `cacheParam` - use json event source `cache` option instead
+- latest jquery/jquery-ui
+
+[327]: https://code.google.com/p/fullcalendar/issues/detail?id=327
+[395]: https://code.google.com/p/fullcalendar/issues/detail?id=395
+[299]: https://code.google.com/p/fullcalendar/issues/detail?id=299
+[117]: https://code.google.com/p/fullcalendar/issues/detail?id=117
+[386]: https://code.google.com/p/fullcalendar/issues/detail?id=386
+[754]: https://code.google.com/p/fullcalendar/issues/detail?id=754
+[355]: https://code.google.com/p/fullcalendar/issues/detail?id=355
+[504]: https://code.google.com/p/fullcalendar/issues/detail?id=504
+
+
+v1.4.11 (2011-02-22)
+--------------------
+
+- fixed rerenderEvents bug ([790])
+- fixed bug with faulty dragging of events from all-day slot in agenda views
+- bundled with jquery 1.5 and jquery-ui 1.8.9
+
+[790]: https://code.google.com/p/fullcalendar/issues/detail?id=790
+
+
+v1.4.10 (2011-01-02)
+--------------------
+
+- fixed bug with resizing event to different week in 5-day month view ([740])
+- fixed bug with events not sticking after a removeEvents call ([757])
+- fixed bug with underlying parseTime method, and other uses of parseInt ([688])
+
+[740]: https://code.google.com/p/fullcalendar/issues/detail?id=740
+[757]: https://code.google.com/p/fullcalendar/issues/detail?id=757
+[688]: https://code.google.com/p/fullcalendar/issues/detail?id=688
+
+
+v1.4.9 (2010-11-16)
+-------------------
+
+- new algorithm for vertically stacking events ([111])
+- resizing an event to a different week ([306])
+- bug: some events not rendered with consecutive calls to addEventSource ([679])
+
+[111]: https://code.google.com/p/fullcalendar/issues/detail?id=111
+[306]: https://code.google.com/p/fullcalendar/issues/detail?id=306
+[679]: https://code.google.com/p/fullcalendar/issues/detail?id=679
+
+
+v1.4.8 (2010-10-16)
+-------------------
+
+- ignoreTimezone option (set to `false` to process UTC offsets in ISO8601 dates)
+- bugfixes
+ - event refetching not being called under certain conditions ([417], [554])
+ - event refetching being called multiple times under certain conditions ([586], [616])
+ - selection cannot be triggered by right mouse button ([558])
+ - agenda view left axis sized incorrectly ([465])
+ - IE js error when calendar is too narrow ([517])
+ - agenda view looks strange when no scrollbars ([235])
+ - improved parsing of ISO8601 dates with UTC offsets
+- $.fullCalendar.version
+- an internal refactor of the code, for easier future development and modularity
+
+[417]: https://code.google.com/p/fullcalendar/issues/detail?id=417
+[554]: https://code.google.com/p/fullcalendar/issues/detail?id=554
+[586]: https://code.google.com/p/fullcalendar/issues/detail?id=586
+[616]: https://code.google.com/p/fullcalendar/issues/detail?id=616
+[558]: https://code.google.com/p/fullcalendar/issues/detail?id=558
+[465]: https://code.google.com/p/fullcalendar/issues/detail?id=465
+[517]: https://code.google.com/p/fullcalendar/issues/detail?id=517
+[235]: https://code.google.com/p/fullcalendar/issues/detail?id=235
+
+
+v1.4.7 (2010-07-05)
+-------------------
+
+- "dropping" external objects onto the calendar
+ - droppable (boolean, to turn on/off)
+ - dropAccept (to filter which events the calendar will accept)
+ - drop (trigger)
+- selectable options can now be specified with a View Option Hash
+- bugfixes
+ - dragged & reverted events having wrong time text ([406])
+ - bug rendering events that have an endtime with seconds, but no hours/minutes ([477])
+ - gotoDate date overflow bug ([429])
+ - wrong date reported when clicking on edge of last column in agenda views [412]
+- support newlines in event titles
+- select/unselect callbacks now passes native js event
+
+[406]: https://code.google.com/p/fullcalendar/issues/detail?id=406
+[477]: https://code.google.com/p/fullcalendar/issues/detail?id=477
+[429]: https://code.google.com/p/fullcalendar/issues/detail?id=429
+[412]: https://code.google.com/p/fullcalendar/issues/detail?id=412
+
+
+v1.4.6 (2010-05-31)
+-------------------
+
+- "selecting" days or timeslots
+ - options: selectable, selectHelper, unselectAuto, unselectCancel
+ - callbacks: select, unselect
+ - methods: select, unselect
+- when dragging an event, the highlighting reflects the duration of the event
+- code compressing by Google Closure Compiler
+- bundled with jQuery 1.4.2 and jQuery UI 1.8.1
+
+
+v1.4.5 (2010-02-21)
+-------------------
+
+- lazyFetching option, which can force the calendar to fetch events on every view/date change
+- scroll state of agenda views are preserved when switching back to view
+- bugfixes
+ - calling methods on an uninitialized fullcalendar throws error
+ - IE6/7 bug where an entire view becomes invisible ([320])
+ - error when rendering a hidden calendar (in jquery ui tabs for example) in IE ([340])
+ - interconnected bugs related to calendar resizing and scrollbars
+ - when switching views or clicking prev/next, calendar would "blink" ([333])
+ - liquid-width calendar's events shifted (depending on initial height of browser) ([341])
+ - more robust underlying algorithm for calendar resizing
+
+[320]: https://code.google.com/p/fullcalendar/issues/detail?id=320
+[340]: https://code.google.com/p/fullcalendar/issues/detail?id=340
+[333]: https://code.google.com/p/fullcalendar/issues/detail?id=333
+[341]: https://code.google.com/p/fullcalendar/issues/detail?id=341
+
+
+v1.4.4 (2010-02-03)
+-------------------
+
+- optimized event rendering in all views (events render in 1/10 the time)
+- gotoDate() does not force the calendar to unnecessarily rerender
+- render() method now correctly readjusts height
+
+
+v1.4.3 (2009-12-22)
+-------------------
+
+- added destroy method
+- Google Calendar event pages respect currentTimezone
+- caching now handled by jQuery's ajax
+- protection from setting aspectRatio to zero
+- bugfixes
+ - parseISO8601 and DST caused certain events to display day before
+ - button positioning problem in IE6
+ - ajax event source removed after recently being added, events still displayed
+ - event not displayed when end is an empty string
+ - dynamically setting calendar height when no events have been fetched, throws error
+
+
+v1.4.2 (2009-12-02)
+-------------------
+
+- eventAfterRender trigger
+- getDate & getView methods
+- height & contentHeight options (explicitly sets the pixel height)
+- minTime & maxTime options (restricts shown hours in agenda view)
+- getters [for all options] and setters [for height, contentHeight, and aspectRatio ONLY! stay tuned..]
+- render method now readjusts calendar's size
+- bugfixes
+ - lightbox scripts that use iframes (like fancybox)
+ - day-of-week classNames were off when firstDay=1
+ - guaranteed space on right side of agenda events (even when stacked)
+ - accepts ISO8601 dates with a space (instead of 'T')
+
+
+v1.4.1 (2009-10-31)
+-------------------
+
+- can exclude weekends with new 'weekends' option
+- gcal feed 'currentTimezone' option
+- bugfixes
+ - year/month/date option sometimes wouldn't set correctly (depending on current date)
+ - daylight savings issue caused agenda views to start at 1am (for BST users)
+- cleanup of gcal.js code
+
+
+v1.4 (2009-10-19)
+-----------------
+
+- agendaWeek and agendaDay views
+- added some options for agenda views:
+ - allDaySlot
+ - allDayText
+ - firstHour
+ - slotMinutes
+ - defaultEventMinutes
+ - axisFormat
+- modified some existing options/triggers to work with agenda views:
+ - dragOpacity and timeFormat can now accept a "View Hash" (a new concept)
+ - dayClick now has an allDay parameter
+ - eventDrop now has an an allDay parameter
+ (this will affect those who use revertFunc, adjust parameter list)
+- added 'prevYear' and 'nextYear' for buttons in header
+- minor change for theme users, ui-state-hover not applied to active/inactive buttons
+- added event-color-changing example in docs
+- better defaults for right-to-left themed button icons
+
+
+v1.3.2 (2009-10-13)
+-------------------
+
+- Bugfixes (please upgrade from 1.3.1!)
+ - squashed potential infinite loop when addMonths and addDays
+ is called with an invalid date
+ - $.fullCalendar.parseDate() now correctly parses IETF format
+ - when switching views, the 'today' button sticks inactive, fixed
+- gotoDate now can accept a single Date argument
+- documentation for changes in 1.3.1 and 1.3.2 now on website
+
+
+v1.3.1 (2009-09-30)
+-------------------
+
+- Important Bugfixes (please upgrade from 1.3!)
+ - When current date was late in the month, for long months, and prev/next buttons
+ were clicked in month-view, some months would be skipped/repeated
+ - In certain time zones, daylight savings time would cause certain days
+ to be misnumbered in month-view
+- Subtle change in way week interval is chosen when switching from month to basicWeek/basicDay view
+- Added 'allDayDefault' option
+- Added 'changeView' and 'render' methods
+
+
+v1.3 (2009-09-21)
+-----------------
+
+- different 'views': month/basicWeek/basicDay
+- more flexible 'header' system for buttons
+- themable by jQuery UI themes
+- resizable events (require jQuery UI resizable plugin)
+- rescoped & rewritten CSS, enhanced default look
+- cleaner css & rendering techniques for right-to-left
+- reworked options & API to support multiple views / be consistent with jQuery UI
+- refactoring of entire codebase
+ - broken into different JS & CSS files, assembled w/ build scripts
+ - new test suite for new features, uses firebug-lite
+- refactored docs
+- Options
+ - + date
+ - + defaultView
+ - + aspectRatio
+ - + disableResizing
+ - + monthNames (use instead of $.fullCalendar.monthNames)
+ - + monthNamesShort (use instead of $.fullCalendar.monthAbbrevs)
+ - + dayNames (use instead of $.fullCalendar.dayNames)
+ - + dayNamesShort (use instead of $.fullCalendar.dayAbbrevs)
+ - + theme
+ - + buttonText
+ - + buttonIcons
+ - x draggable -> editable/disableDragging
+ - x fixedWeeks -> weekMode
+ - x abbrevDayHeadings -> columnFormat
+ - x buttons/title -> header
+ - x eventDragOpacity -> dragOpacity
+ - x eventRevertDuration -> dragRevertDuration
+ - x weekStart -> firstDay
+ - x rightToLeft -> isRTL
+ - x showTime (use 'allDay' CalEvent property instead)
+- Triggered Actions
+ - + eventResizeStart
+ - + eventResizeStop
+ - + eventResize
+ - x monthDisplay -> viewDisplay
+ - x resize -> windowResize
+ - 'eventDrop' params changed, can revert if ajax cuts out
+- CalEvent Properties
+ - x showTime -> allDay
+ - x draggable -> editable
+ - 'end' is now INCLUSIVE when allDay=true
+ - 'url' now produces a real <a> tag, more native clicking/tab behavior
+- Methods:
+ - + renderEvent
+ - x prevMonth -> prev
+ - x nextMonth -> next
+ - x prevYear/nextYear -> moveDate
+ - x refresh -> rerenderEvents/refetchEvents
+ - x removeEvent -> removeEvents
+ - x getEventsByID -> clientEvents
+- Utilities:
+ - 'formatDate' format string completely changed (inspired by jQuery UI datepicker + datejs)
+ - 'formatDates' added to support date-ranges
+- Google Calendar Options:
+ - x draggable -> editable
+- Bugfixes
+ - gcal extension fetched 25 results max, now fetches all
+
+
+v1.2.1 (2009-06-29)
+-------------------
+
+- bugfixes
+ - allows and corrects invalid end dates for events
+ - doesn't throw an error in IE while rendering when display:none
+ - fixed 'loading' callback when used w/ multiple addEventSource calls
+ - gcal className can now be an array
+
+
+v1.2 (2009-05-31)
+-----------------
+
+- expanded API
+ - 'className' CalEvent attribute
+ - 'source' CalEvent attribute
+ - dynamically get/add/remove/update events of current month
+ - locale improvements: change month/day name text
+ - better date formatting ($.fullCalendar.formatDate)
+ - multiple 'event sources' allowed
+ - dynamically add/remove event sources
+- options for prevYear and nextYear buttons
+- docs have been reworked (include addition of Google Calendar docs)
+- changed behavior of parseDate for number strings
+ (now interpets as unix timestamp, not MS times)
+- bugfixes
+ - rightToLeft month start bug
+ - off-by-one errors with month formatting commands
+ - events from previous months sticking when clicking prev/next quickly
+- Google Calendar API changed to work w/ multiple event sources
+ - can also provide 'className' and 'draggable' options
+- date utilties moved from $ to $.fullCalendar
+- more documentation in source code
+- minified version of fullcalendar.js
+- test suit (available from svn)
+- top buttons now use `<button>` w/ an inner `<span>` for better css cusomization
+ - thus CSS has changed. IF UPGRADING FROM PREVIOUS VERSIONS,
+ UPGRADE YOUR FULLCALENDAR.CSS FILE
+
+
+v1.1 (2009-05-10)
+-----------------
+
+- Added the following options:
+ - weekStart
+ - rightToLeft
+ - titleFormat
+ - timeFormat
+ - cacheParam
+ - resize
+- Fixed rendering bugs
+ - Opera 9.25 (events placement & window resizing)
+ - IE6 (window resizing)
+- Optimized window resizing for ALL browsers
+- Events on same day now sorted by start time (but first by timespan)
+- Correct z-index when dragging
+- Dragging contained in overflow DIV for IE6
+- Modified fullcalendar.css
+ - for right-to-left support
+ - for variable start-of-week
+ - for IE6 resizing bug
+ - for THEAD and TBODY (in 1.0, just used TBODY, restructured in 1.1)
+ - IF UPGRADING FROM FULLCALENDAR 1.0, YOU MUST UPGRADE FULLCALENDAR.CSS
diff --git a/library/fullcalendar/CONTRIBUTING.txt b/library/fullcalendar/CONTRIBUTING.txt
new file mode 100644
index 000000000..0204d12c7
--- /dev/null
+++ b/library/fullcalendar/CONTRIBUTING.txt
@@ -0,0 +1,128 @@
+
+## Reporting Bugs
+
+Each bug report MUST have a [JSFiddle/JSBin] recreation before any work can begin. [further instructions &raquo;](http://fullcalendar.io/wiki/Reporting-Bugs/)
+
+
+## Requesting Features
+
+Please search the [Issue Tracker] to see if your feature has already been requested, and if so, subscribe to it. Otherwise, read these [further instructions &raquo;](http://fullcalendar.io/wiki/Requesting-Features/)
+
+
+## Contributing Features
+
+The FullCalendar project welcomes [Pull Requests][Using Pull Requests] for new features, but because there are so many feature requests (over 100), and because every new feature requires refinement and maintenance, each PR will be prioritized against the project's other demands and might take a while to make it to an official release.
+
+Furthermore, each new feature should be designed as robustly as possible and be useful beyond the immediate usecase it was initially designed for. Feel free to start a ticket discussing the feature's specs before coding.
+
+
+## Contributing Bugfixes
+
+In the description of your [Pull Request][Using Pull Requests], please include recreation steps for the bug as well as a [JSFiddle/JSBin] demo. Communicating the buggy behavior is a requirement before a merge can happen.
+
+
+## Contributing Languages
+
+Please edit the original files in the `lang/` directory. DO NOT edit anything in the `dist/` directory. The build system will responsible for merging FullCalendar's `lang/` data with the [MomentJS locale data].
+
+
+## Other Ways to Contribute
+
+[Read about other ways to contribute &raquo;](http://fullcalendar.io/wiki/Contributing/)
+
+
+## Getting Set Up
+
+You will need [Git][git], [Node][node], and NPM installed. For clarification, please view the [jQuery readme][jq-readme], which requires a similar setup.
+
+Also, you will need the [grunt-cli][grunt-cli] and [bower][bower] packages installed globally (`-g`) on your system:
+
+ npm install -g grunt-cli bower
+
+Then, clone FullCalendar's git repo:
+
+ git clone git://github.com/arshaw/fullcalendar.git
+
+Enter the directory and install FullCalendar's development dependencies:
+
+ cd fullcalendar
+ ./build/init.sh
+
+
+## What to edit
+
+When modifying files, please do not edit the generated or minified files in the `dist/` directory. Please edit the original `src/` files.
+
+
+## Development Workflow
+
+After you make code changes, you'll want to compile the JS/CSS so that it can be previewed from the tests and demos. You can either manually rebuild each time you make a change:
+
+ grunt dev
+
+Or, you can run a script that automatically rebuilds whenever you save a source file:
+
+ ./build/watch.sh
+
+When you are finished, run the following command to write the distributable files into the `./dist/` directory:
+
+ grunt
+
+If you want to clean up the generated files, run:
+
+ grunt clean
+
+
+## Style Guide
+
+Please follow the [Google JavaScript Style Guide] as closely as possible. With the following exceptions:
+
+```js
+if (true) {
+}
+else { // please put else, else if, and catch on a separate line
+}
+
+// please write one-line array literals with a one-space padding inside
+var a = [ 1, 2, 3 ];
+
+// please write one-line object literals with a one-space padding inside
+var o = { a: 1, b: 2, c: 3 };
+```
+
+Other exceptions:
+
+- please ignore anything about Google Closure Compiler or the `goog` library
+- please do not write JSDoc comments
+
+Notes about whitespace:
+
+- **use *tabs* instead of spaces**
+- separate functions with *2* blank lines
+- separate logical blocks within functions with *1* blank line
+
+Run the command line tool to automatically check your style:
+
+ grunt check
+
+
+## Before Submitting your Code
+
+If you have edited code (including **tests** and **translations**) and would like to submit a pull request, please make sure you have done the following:
+
+1. Conformed to the style guide (successfully run `grunt check`)
+
+2. Written automated tests. View the [Automated Test Readme]
+
+
+[JSFiddle/JSBin]: http://fullcalendar.io/wiki/Reporting-Bugs/
+[Issue Tracker]: https://github.com/fullcalendar/fullcalendar/issues
+[Using Pull Requests]: https://help.github.com/articles/using-pull-requests/
+[MomentJS locale data]: https://github.com/moment/moment/tree/develop/locale
+[git]: http://git-scm.com/
+[node]: http://nodejs.org/
+[grunt-cli]: http://gruntjs.com/getting-started#installing-the-cli
+[bower]: http://bower.io/
+[jq-readme]: https://github.com/jquery/jquery/blob/master/README.md#what-you-need-to-build-your-own-jquery
+[Google JavaScript Style Guide]: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
+[Automated Test Readme]: https://github.com/fullcalendar/fullcalendar/wiki/Automated-Tests
diff --git a/library/fullcalendar/GPL-LICENSE.txt b/library/fullcalendar/GPL-LICENSE.txt
deleted file mode 100644
index 11dddd00e..000000000
--- a/library/fullcalendar/GPL-LICENSE.txt
+++ /dev/null
@@ -1,278 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
diff --git a/library/fullcalendar/MIT-LICENSE.txt b/library/fullcalendar/LICENSE.txt
index 46d475449..eafaf97ec 100644
--- a/library/fullcalendar/MIT-LICENSE.txt
+++ b/library/fullcalendar/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2009 Adam Shaw
+Copyright (c) 2015 Adam Shaw
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/library/fullcalendar/changelog.txt b/library/fullcalendar/changelog.txt
deleted file mode 100644
index 549631ad0..000000000
--- a/library/fullcalendar/changelog.txt
+++ /dev/null
@@ -1,342 +0,0 @@
-
-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
-
-version 1.5.2 (8/21/11)
- - correctly process UTC "Z" ISO8601 date strings (issue 750)
-
-version 1.5.1 (4/9/11)
- - more flexible ISO8601 date parsing (issue 814)
- - more flexible parsing of UNIX timestamps (issue 826)
- - FullCalendar now buildable from source on a Mac (issue 795)
- - FullCalendar QA'd in FF4 (issue 883)
- - upgraded to jQuery 1.5.2 (which supports IE9) and jQuery UI 1.8.11
-
-version 1.5 (3/19/11)
- - slicker default styling for buttons
- - reworked a lot of the calendar's HTML and accompanying CSS
- (solves issues 327 and 395)
- - more printer-friendly (fullcalendar-print.css)
- - fullcalendar now inherits styles from jquery-ui themes differently.
- styles for buttons are distinct from styles for calendar cells.
- (solves issue 299)
- - can now color events through FullCalendar options and Event-Object properties (issue 117)
- THIS IS NOW THE PREFERRED METHOD OF COLORING EVENTS (as opposed to using className and CSS)
- - FullCalendar options:
- - eventColor (changes both background and border)
- - eventBackgroundColor
- - eventBorderColor
- - eventTextColor
- - Event-Object options:
- - color (changes both background and border)
- - backgroundColor
- - borderColor
- - textColor
- - can now specify an event source as an *object* with a `url` property (json feed) or
- an `events` property (function or array) with additional properties that will
- be applied to the entire event source:
- - color (changes both background and border)
- - backgroudColor
- - borderColor
- - textColor
- - className
- - editable
- - allDayDefault
- - ignoreTimezone
- - startParam (for a feed)
- - endParam (for a feed)
- - ANY OF THE JQUERY $.ajax OPTIONS
- allows for easily changing from GET to POST and sending additional parameters (issue 386)
- allows for easily attaching ajax handlers such as `error` (issue 754)
- allows for turning caching on (issue 355)
- - Google Calendar feeds are now specified differently:
- - specify a simple string of your feed's URL
- - specify an *object* with a `url` property of your feed's URL.
- you can include any of the new Event-Source options in this object.
- - the old `$.fullCalendar.gcalFeed` method still works
- - no more IE7 SSL popup (issue 504)
- - remove `cacheParam` - use json event source `cache` option instead
- - latest jquery/jquery-ui
-
-version 1.4.11 (2/22/11)
- - fixed rerenderEvents bug (issue 790)
- - fixed bug with faulty dragging of events from all-day slot in agenda views
- - bundled with jquery 1.5 and jquery-ui 1.8.9
-
-version 1.4.10 (1/2/11)
- - fixed bug with resizing event to different week in 5-day month view (issue 740)
- - fixed bug with events not sticking after a removeEvents call (issue 757)
- - fixed bug with underlying parseTime method, and other uses of parseInt (issue 688)
-
-version 1.4.9 (11/16/10)
- - new algorithm for vertically stacking events (issue 111)
- - resizing an event to a different week (issue 306)
- - bug: some events not rendered with consecutive calls to addEventSource (issue 679)
-
-version 1.4.8 (10/16/10)
- - ignoreTimezone option (set to `false` to process UTC offsets in ISO8601 dates)
- - bugfixes
- - event refetching not being called under certain conditions (issues 417, 554)
- - event refetching being called multiple times under certain conditions (issues 586, 616)
- - selection cannot be triggered by right mouse button (issue 558)
- - agenda view left axis sized incorrectly (issue 465)
- - IE js error when calendar is too narrow (issue 517)
- - agenda view looks strange when no scrollbars (issue 235)
- - improved parsing of ISO8601 dates with UTC offsets
- - $.fullCalendar.version
- - an internal refactor of the code, for easier future development and modularity
-
-version 1.4.7 (7/5/10)
- - "dropping" external objects onto the calendar
- - droppable (boolean, to turn on/off)
- - dropAccept (to filter which events the calendar will accept)
- - drop (trigger)
- - selectable options can now be specified with a View Option Hash
- - bugfixes
- - dragged & reverted events having wrong time text (issue 406)
- - bug rendering events that have an endtime with seconds, but no hours/minutes (issue 477)
- - gotoDate date overflow bug (issue 429)
- - wrong date reported when clicking on edge of last column in agenda views (412)
- - support newlines in event titles
- - select/unselect callbacks now passes native js event
-
-version 1.4.6 (5/31/10)
- - "selecting" days or timeslots
- - options: selectable, selectHelper, unselectAuto, unselectCancel
- - callbacks: select, unselect
- - methods: select, unselect
- - when dragging an event, the highlighting reflects the duration of the event
- - code compressing by Google Closure Compiler
- - bundled with jQuery 1.4.2 and jQuery UI 1.8.1
-
-version 1.4.5 (2/21/10)
- - lazyFetching option, which can force the calendar to fetch events on every view/date change
- - scroll state of agenda views are preserved when switching back to view
- - bugfixes
- - calling methods on an uninitialized fullcalendar throws error
- - IE6/7 bug where an entire view becomes invisible (issue 320)
- - error when rendering a hidden calendar (in jquery ui tabs for example) in IE (issue 340)
- - interconnected bugs related to calendar resizing and scrollbars
- - when switching views or clicking prev/next, calendar would "blink" (issue 333)
- - liquid-width calendar's events shifted (depending on initial height of browser) (issue 341)
- - more robust underlying algorithm for calendar resizing
-
-version 1.4.4 (2/3/10)
- - optimized event rendering in all views (events render in 1/10 the time)
- - gotoDate() does not force the calendar to unnecessarily rerender
- - render() method now correctly readjusts height
-
-version 1.4.3 (12/22/09)
- - added destroy method
- - Google Calendar event pages respect currentTimezone
- - caching now handled by jQuery's ajax
- - protection from setting aspectRatio to zero
- - bugfixes
- - parseISO8601 and DST caused certain events to display day before
- - button positioning problem in IE6
- - ajax event source removed after recently being added, events still displayed
- - event not displayed when end is an empty string
- - dynamically setting calendar height when no events have been fetched, throws error
-
-version 1.4.2 (12/02/09)
- - eventAfterRender trigger
- - getDate & getView methods
- - height & contentHeight options (explicitly sets the pixel height)
- - minTime & maxTime options (restricts shown hours in agenda view)
- - getters [for all options] and setters [for height, contentHeight, and aspectRatio ONLY! stay tuned..]
- - render method now readjusts calendar's size
- - bugfixes
- - lightbox scripts that use iframes (like fancybox)
- - day-of-week classNames were off when firstDay=1
- - guaranteed space on right side of agenda events (even when stacked)
- - accepts ISO8601 dates with a space (instead of 'T')
-
-version 1.4.1 (10/31/09)
- - can exclude weekends with new 'weekends' option
- - gcal feed 'currentTimezone' option
- - bugfixes
- - year/month/date option sometimes wouldn't set correctly (depending on current date)
- - daylight savings issue caused agenda views to start at 1am (for BST users)
- - cleanup of gcal.js code
-
-version 1.4 (10/19/09)
- - agendaWeek and agendaDay views
- - added some options for agenda views:
- - allDaySlot
- - allDayText
- - firstHour
- - slotMinutes
- - defaultEventMinutes
- - axisFormat
- - modified some existing options/triggers to work with agenda views:
- - dragOpacity and timeFormat can now accept a "View Hash" (a new concept)
- - dayClick now has an allDay parameter
- - eventDrop now has an an allDay parameter
- (this will affect those who use revertFunc, adjust parameter list)
- - added 'prevYear' and 'nextYear' for buttons in header
- - minor change for theme users, ui-state-hover not applied to active/inactive buttons
- - added event-color-changing example in docs
- - better defaults for right-to-left themed button icons
-
-version 1.3.2 (10/13/09)
- - Bugfixes (please upgrade from 1.3.1!)
- - squashed potential infinite loop when addMonths and addDays
- is called with an invalid date
- - $.fullCalendar.parseDate() now correctly parses IETF format
- - when switching views, the 'today' button sticks inactive, fixed
- - gotoDate now can accept a single Date argument
- - documentation for changes in 1.3.1 and 1.3.2 now on website
-
-version 1.3.1 (9/30/09)
- - Important Bugfixes (please upgrade from 1.3!)
- - When current date was late in the month, for long months, and prev/next buttons
- were clicked in month-view, some months would be skipped/repeated
- - In certain time zones, daylight savings time would cause certain days
- to be misnumbered in month-view
- - Subtle change in way week interval is chosen when switching from month to basicWeek/basicDay view
- - Added 'allDayDefault' option
- - Added 'changeView' and 'render' methods
-
-version 1.3 (9/21/09)
- - different 'views': month/basicWeek/basicDay
- - more flexible 'header' system for buttons
- - themable by jQuery UI themes
- - resizable events (require jQuery UI resizable plugin)
- - rescoped & rewritten CSS, enhanced default look
- - cleaner css & rendering techniques for right-to-left
- - reworked options & API to support multiple views / be consistent with jQuery UI
- - refactoring of entire codebase
- - broken into different JS & CSS files, assembled w/ build scripts
- - new test suite for new features, uses firebug-lite
- - refactored docs
- - Options
- + date
- + defaultView
- + aspectRatio
- + disableResizing
- + monthNames (use instead of $.fullCalendar.monthNames)
- + monthNamesShort (use instead of $.fullCalendar.monthAbbrevs)
- + dayNames (use instead of $.fullCalendar.dayNames)
- + dayNamesShort (use instead of $.fullCalendar.dayAbbrevs)
- + theme
- + buttonText
- + buttonIcons
- x draggable -> editable/disableDragging
- x fixedWeeks -> weekMode
- x abbrevDayHeadings -> columnFormat
- x buttons/title -> header
- x eventDragOpacity -> dragOpacity
- x eventRevertDuration -> dragRevertDuration
- x weekStart -> firstDay
- x rightToLeft -> isRTL
- x showTime (use 'allDay' CalEvent property instead)
- - Triggered Actions
- + eventResizeStart
- + eventResizeStop
- + eventResize
- x monthDisplay -> viewDisplay
- x resize -> windowResize
- 'eventDrop' params changed, can revert if ajax cuts out
- - CalEvent Properties
- x showTime -> allDay
- x draggable -> editable
- 'end' is now INCLUSIVE when allDay=true
- 'url' now produces a real <a> tag, more native clicking/tab behavior
- - Methods:
- + renderEvent
- x prevMonth -> prev
- x nextMonth -> next
- x prevYear/nextYear -> moveDate
- x refresh -> rerenderEvents/refetchEvents
- x removeEvent -> removeEvents
- x getEventsByID -> clientEvents
- - Utilities:
- 'formatDate' format string completely changed (inspired by jQuery UI datepicker + datejs)
- 'formatDates' added to support date-ranges
- - Google Calendar Options:
- x draggable -> editable
- - Bugfixes
- - gcal extension fetched 25 results max, now fetches all
-
-version 1.2.1 (6/29/09)
- - bugfixes
- - allows and corrects invalid end dates for events
- - doesn't throw an error in IE while rendering when display:none
- - fixed 'loading' callback when used w/ multiple addEventSource calls
- - gcal className can now be an array
-
-version 1.2 (5/31/09)
- - expanded API
- - 'className' CalEvent attribute
- - 'source' CalEvent attribute
- - dynamically get/add/remove/update events of current month
- - locale improvements: change month/day name text
- - better date formatting ($.fullCalendar.formatDate)
- - multiple 'event sources' allowed
- - dynamically add/remove event sources
- - options for prevYear and nextYear buttons
- - docs have been reworked (include addition of Google Calendar docs)
- - changed behavior of parseDate for number strings
- (now interpets as unix timestamp, not MS times)
- - bugfixes
- - rightToLeft month start bug
- - off-by-one errors with month formatting commands
- - events from previous months sticking when clicking prev/next quickly
- - Google Calendar API changed to work w/ multiple event sources
- - can also provide 'className' and 'draggable' options
- - date utilties moved from $ to $.fullCalendar
- - more documentation in source code
- - minified version of fullcalendar.js
- - test suit (available from svn)
- - top buttons now use <button> w/ an inner <span> for better css cusomization
- - thus CSS has changed. IF UPGRADING FROM PREVIOUS VERSIONS,
- UPGRADE YOUR FULLCALENDAR.CSS FILE!!!
-
-version 1.1 (5/10/09)
- - Added the following options:
- - weekStart
- - rightToLeft
- - titleFormat
- - timeFormat
- - cacheParam
- - resize
- - Fixed rendering bugs
- - Opera 9.25 (events placement & window resizing)
- - IE6 (window resizing)
- - Optimized window resizing for ALL browsers
- - Events on same day now sorted by start time (but first by timespan)
- - Correct z-index when dragging
- - Dragging contained in overflow DIV for IE6
- - Modified fullcalendar.css
- - for right-to-left support
- - for variable start-of-week
- - for IE6 resizing bug
- - for THEAD and TBODY (in 1.0, just used TBODY, restructured in 1.1)
- - IF UPGRADING FROM FULLCALENDAR 1.0, YOU MUST UPGRADE FULLCALENDAR.CSS
- !!!!!!!!!!!
-
diff --git a/library/fullcalendar/fullcalendar.css b/library/fullcalendar/fullcalendar.css
index db0544543..51838f4cd 100644
--- a/library/fullcalendar/fullcalendar.css
+++ b/library/fullcalendar/fullcalendar.css
@@ -1,196 +1,207 @@
/*!
- * FullCalendar v1.6.0 Stylesheet
- * Docs & License: http://arshaw.com/fullcalendar/
- * (c) 2013 Adam Shaw
+ * FullCalendar v2.5.0-beta Stylesheet
+ * Docs & License: http://fullcalendar.io/
+ * (c) 2015 Adam Shaw
*/
.fc {
direction: ltr;
text-align: left;
- }
-
-.fc table {
- border-collapse: collapse;
- border-spacing: 0;
- }
-
-html .fc,
-.fc table {
- font-size: 1em;
- }
-
-.fc td,
-.fc th {
- padding: 0;
- vertical-align: top;
- }
+}
+.fc-rtl {
+ text-align: right;
+}
+body .fc { /* extra precedence to overcome jqui */
+ font-size: 1em;
+}
-/* Header
-------------------------------------------------------------------------*/
-.fc-header td {
- white-space: nowrap;
- }
+/* Colors
+--------------------------------------------------------------------------------------------------*/
-.fc-header-left {
- width: 25%;
- text-align: left;
- }
-
-.fc-header-center {
- text-align: center;
- }
-
-.fc-header-right {
- width: 25%;
- text-align: right;
- }
-
-.fc-header-title {
- display: inline-block;
- vertical-align: top;
- }
-
-.fc-header-title h2 {
- margin-top: 0;
- white-space: nowrap;
- }
-
-.fc .fc-header-space {
- padding-left: 10px;
- }
-
-.fc-header .fc-button {
- margin-bottom: 1em;
- vertical-align: top;
- }
-
-/* buttons edges butting together */
+.fc-unthemed th,
+.fc-unthemed td,
+.fc-unthemed thead,
+.fc-unthemed tbody,
+.fc-unthemed .fc-divider,
+.fc-unthemed .fc-row,
+.fc-unthemed .fc-popover {
+ border-color: #ddd;
+}
-.fc-header .fc-button {
- margin-right: -1px;
- }
-
-.fc-header .fc-corner-right, /* non-theme */
-.fc-header .ui-corner-right { /* theme */
- margin-right: 0; /* back to normal */
- }
-
-/* button layering (for border precedence) */
-
-.fc-header .fc-state-hover,
-.fc-header .ui-state-hover {
- z-index: 2;
- }
-
-.fc-header .fc-state-down {
- z-index: 3;
- }
+.fc-unthemed .fc-popover {
+ background-color: #fff;
+}
-.fc-header .fc-state-active,
-.fc-header .ui-state-active {
- z-index: 4;
- }
-
-
-
-/* Content
-------------------------------------------------------------------------*/
-
-.fc-content {
- clear: both;
- }
-
-.fc-view {
- width: 100%; /* needed for view switching (when view is absolute) */
- overflow: hidden;
- }
-
-
+.fc-unthemed .fc-divider,
+.fc-unthemed .fc-popover .fc-header {
+ background: #eee;
+}
-/* Cell Styles
-------------------------------------------------------------------------*/
+.fc-unthemed .fc-popover .fc-header .fc-close {
+ color: #666;
+}
-.fc-widget-header, /* <th>, usually */
-.fc-widget-content { /* <td>, usually */
- border: 1px solid #ddd;
- }
-
-.fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */
+.fc-unthemed .fc-today {
background: #fcf8e3;
- }
-
-.fc-cell-overlay { /* semi-transparent rectangle while dragging */
+}
+
+.fc-highlight { /* when user is selecting cells */
background: #bce8f1;
opacity: .3;
filter: alpha(opacity=30); /* for IE */
+}
+
+.fc-bgevent { /* default look for background events */
+ background: rgb(143, 223, 130);
+ opacity: .3;
+ filter: alpha(opacity=30); /* for IE */
+}
+
+.fc-nonbusiness { /* default look for non-business-hours areas */
+ /* will inherit .fc-bgevent's styles */
+ background: #d7d7d7;
+}
+
+
+/* Icons (inline elements with styled text that mock arrow icons)
+--------------------------------------------------------------------------------------------------*/
+
+.fc-icon {
+ display: inline-block;
+ width: 1em;
+ height: 1em;
+ line-height: 1em;
+ font-size: 1em;
+ text-align: center;
+ overflow: hidden;
+ font-family: "Courier New", Courier, monospace;
+
+ /* don't allow browser text-selection */
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
}
-
+/*
+Acceptable font-family overrides for individual icons:
+ "Arial", sans-serif
+ "Times New Roman", serif
-/* Buttons
-------------------------------------------------------------------------*/
+NOTE: use percentage font sizes or else old IE chokes
+*/
-.fc-button {
+.fc-icon:after {
position: relative;
- display: inline-block;
+ margin: 0 -1em; /* ensures character will be centered, regardless of width */
+}
+
+.fc-icon-left-single-arrow:after {
+ content: "\02039";
+ font-weight: bold;
+ font-size: 200%;
+ top: -7%;
+ left: 3%;
+}
+
+.fc-icon-right-single-arrow:after {
+ content: "\0203A";
+ font-weight: bold;
+ font-size: 200%;
+ top: -7%;
+ left: -3%;
+}
+
+.fc-icon-left-double-arrow:after {
+ content: "\000AB";
+ font-size: 160%;
+ top: -7%;
+}
+
+.fc-icon-right-double-arrow:after {
+ content: "\000BB";
+ font-size: 160%;
+ top: -7%;
+}
+
+.fc-icon-left-triangle:after {
+ content: "\25C4";
+ font-size: 125%;
+ top: 3%;
+ left: -2%;
+}
+
+.fc-icon-right-triangle:after {
+ content: "\25BA";
+ font-size: 125%;
+ top: 3%;
+ left: 2%;
+}
+
+.fc-icon-down-triangle:after {
+ content: "\25BC";
+ font-size: 125%;
+ top: 2%;
+}
+
+.fc-icon-x:after {
+ content: "\000D7";
+ font-size: 200%;
+ top: 6%;
+}
+
+
+/* Buttons (styled <button> tags, normalized to work cross-browser)
+--------------------------------------------------------------------------------------------------*/
+
+.fc button {
+ /* force height to include the border and padding */
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+
+ /* dimensions */
+ margin: 0;
+ height: 2.1em;
padding: 0 .6em;
- overflow: hidden;
- height: 1.9em;
- line-height: 1.9em;
+
+ /* text & cursor */
+ font-size: 1em; /* normalize */
white-space: nowrap;
cursor: pointer;
- }
+}
+
+/* Firefox has an annoying inner border */
+.fc button::-moz-focus-inner { margin: 0; padding: 0; }
.fc-state-default { /* non-theme */
border: 1px solid;
- }
+}
.fc-state-default.fc-corner-left { /* non-theme */
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
- }
+}
.fc-state-default.fc-corner-right { /* non-theme */
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
- }
-
-/*
- 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 */
- }
+/* icons in buttons */
-.fc-button-prev .fc-text-arrow,
-.fc-button-next .fc-text-arrow { /* for &lsaquo; &rsaquo; */
- font-weight: bold;
- }
-
-/* icon (for jquery ui) */
-
-.fc-button .fc-icon-wrap {
- position: relative;
- float: left;
- top: 50%;
- }
-
-.fc-button .ui-icon {
+.fc button .fc-icon { /* non-theme */
position: relative;
- float: left;
- margin-top: -50%;
- *margin-top: 0;
- *top: -50%;
- }
+ top: -0.05em; /* seems to be a good adjustment across browsers */
+ margin: 0 .2em;
+ vertical-align: middle;
+}
/*
button states
@@ -210,7 +221,7 @@ html .fc,
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-down,
@@ -218,7 +229,7 @@ html .fc,
.fc-state-disabled {
color: #333333;
background-color: #e6e6e6;
- }
+}
.fc-state-hover {
color: #333333;
@@ -228,15 +239,14 @@ html .fc,
-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;
@@ -244,336 +254,816 @@ html .fc,
opacity: 0.65;
filter: alpha(opacity=65);
box-shadow: none;
- }
+}
+
+
+/* Buttons Groups
+--------------------------------------------------------------------------------------------------*/
+
+.fc-button-group {
+ display: inline-block;
+}
+
+/*
+every button that is not first in a button group should scootch over one pixel and cover the
+previous button's border...
+*/
+
+.fc .fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */
+ float: left;
+ margin: 0 0 0 -1px;
+}
+
+.fc .fc-button-group > :first-child { /* same */
+ margin-left: 0;
+}
+
+
+/* Popover
+--------------------------------------------------------------------------------------------------*/
+
+.fc-popover {
+ position: absolute;
+ box-shadow: 0 2px 6px rgba(0,0,0,.15);
+}
+
+.fc-popover .fc-header { /* TODO: be more consistent with fc-head/fc-body */
+ padding: 2px 4px;
+}
+
+.fc-popover .fc-header .fc-title {
+ margin: 0 2px;
+}
+
+.fc-popover .fc-header .fc-close {
+ cursor: pointer;
+}
+
+.fc-ltr .fc-popover .fc-header .fc-title,
+.fc-rtl .fc-popover .fc-header .fc-close {
+ float: left;
+}
+
+.fc-rtl .fc-popover .fc-header .fc-title,
+.fc-ltr .fc-popover .fc-header .fc-close {
+ float: right;
+}
+
+/* unthemed */
+
+.fc-unthemed .fc-popover {
+ border-width: 1px;
+ border-style: solid;
+}
+
+.fc-unthemed .fc-popover .fc-header .fc-close {
+ font-size: .9em;
+ margin-top: 2px;
+}
+
+/* jqui themed */
+
+.fc-popover > .ui-widget-header + .ui-widget-content {
+ border-top: 0; /* where they meet, let the header have the border */
+}
+
+
+/* Misc Reusable Components
+--------------------------------------------------------------------------------------------------*/
+
+.fc-divider {
+ border-style: solid;
+ border-width: 1px;
+}
+
+hr.fc-divider {
+ height: 0;
+ margin: 0;
+ padding: 0 0 2px; /* height is unreliable across browsers, so use padding */
+ border-width: 1px 0;
+}
+
+.fc-clear {
+ clear: both;
+}
+
+.fc-bg,
+.fc-bgevent-skeleton,
+.fc-highlight-skeleton,
+.fc-helper-skeleton {
+ /* these element should always cling to top-left/right corners */
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+}
+
+.fc-bg {
+ bottom: 0; /* strech bg to bottom edge */
+}
+
+.fc-bg table {
+ height: 100%; /* strech bg to bottom edge */
+}
+
+
+/* Tables
+--------------------------------------------------------------------------------------------------*/
+
+.fc table {
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: collapse;
+ border-spacing: 0;
+ font-size: 1em; /* normalize cross-browser */
+}
+
+.fc th {
+ text-align: center;
+}
+
+.fc th,
+.fc td {
+ border-style: solid;
+ border-width: 1px;
+ padding: 0;
+ vertical-align: top;
+}
+
+.fc td.fc-today {
+ border-style: double; /* overcome neighboring borders */
+}
+
+
+/* Fake Table Rows
+--------------------------------------------------------------------------------------------------*/
+
+.fc .fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
+ /* no visible border by default. but make available if need be (scrollbar width compensation) */
+ border-style: solid;
+ border-width: 0;
+}
+
+.fc-row table {
+ /* don't put left/right border on anything within a fake row.
+ the outer tbody will worry about this */
+ border-left: 0 hidden transparent;
+ border-right: 0 hidden transparent;
+
+ /* no bottom borders on rows */
+ border-bottom: 0 hidden transparent;
+}
+
+.fc-row:first-child table {
+ border-top: 0 hidden transparent; /* no top border on first row */
+}
+
+
+/* Day Row (used within the header and the DayGrid)
+--------------------------------------------------------------------------------------------------*/
+
+.fc-row {
+ position: relative;
+}
+
+.fc-row .fc-bg {
+ z-index: 1;
+}
+
+/* highlighting cells & background event skeleton */
+
+.fc-row .fc-bgevent-skeleton,
+.fc-row .fc-highlight-skeleton {
+ bottom: 0; /* stretch skeleton to bottom of row */
+}
+
+.fc-row .fc-bgevent-skeleton table,
+.fc-row .fc-highlight-skeleton table {
+ height: 100%; /* stretch skeleton to bottom of row */
+}
+
+.fc-row .fc-highlight-skeleton td,
+.fc-row .fc-bgevent-skeleton td {
+ border-color: transparent;
+}
+
+.fc-row .fc-bgevent-skeleton {
+ z-index: 2;
+
+}
+
+.fc-row .fc-highlight-skeleton {
+ z-index: 3;
+}
+
+/*
+row content (which contains day/week numbers and events) as well as "helper" (which contains
+temporary rendered events).
+*/
+
+.fc-row .fc-content-skeleton {
+ position: relative;
+ z-index: 4;
+ padding-bottom: 2px; /* matches the space above the events */
+}
+
+.fc-row .fc-helper-skeleton {
+ z-index: 5;
+}
+
+.fc-row .fc-content-skeleton td,
+.fc-row .fc-helper-skeleton td {
+ /* see-through to the background below */
+ background: none; /* in case <td>s are globally styled */
+ border-color: transparent;
+
+ /* don't put a border between events and/or the day number */
+ border-bottom: 0;
+}
+
+.fc-row .fc-content-skeleton tbody td, /* cells with events inside (so NOT the day number cell) */
+.fc-row .fc-helper-skeleton tbody td {
+ /* don't put a border between event cells */
+ border-top: 0;
+}
+
+
+/* Scrolling Container
+--------------------------------------------------------------------------------------------------*/
+
+.fc-scroller { /* this class goes on elements for guaranteed vertical scrollbars */
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+
+.fc-scroller > * { /* we expect an immediate inner element */
+ position: relative; /* re-scope all positions */
+ width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
+ overflow: hidden; /* don't let negative margins or absolute positioning create further scroll */
+}
-
/* Global Event Styles
-------------------------------------------------------------------------*/
-
+--------------------------------------------------------------------------------------------------*/
+
.fc-event {
+ position: relative; /* for resize handle and other inner positioning */
+ display: block; /* make the <a> tag block */
+ font-size: .85em;
+ line-height: 1.3;
+ border-radius: 3px;
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;
- }
+ font-weight: normal; /* undo jqui's ui-widget-header bold */
+}
-a.fc-event {
- text-decoration: none;
- }
-
-a.fc-event,
-.fc-event-draggable {
- cursor: pointer;
- }
-
-.fc-rtl .fc-event {
- text-align: right;
- }
+/* overpower some of bootstrap's and jqui's styles on <a> tags */
+.fc-event,
+.fc-event:hover,
+.ui-widget .fc-event {
+ color: #fff; /* default TEXT color */
+ text-decoration: none; /* if <a> has an href */
+}
-.fc-event-inner {
- width: 100%;
- overflow: hidden;
- }
-
-.fc-event-time,
-.fc-event-title {
- padding: 0 1px;
- }
-
-.fc .ui-resizable-handle {
- display: block;
+.fc-event[href],
+.fc-event.fc-draggable {
+ cursor: pointer; /* give events with links and draggable events a hand mouse pointer */
+}
+
+.fc-not-allowed, /* causes a "warning" cursor. applied on body */
+.fc-not-allowed .fc-event { /* to override an event's custom cursor */
+ cursor: not-allowed;
+}
+
+.fc-event .fc-bg { /* the generic .fc-bg already does position */
+ z-index: 1;
+ background: #fff;
+ opacity: .25;
+ filter: alpha(opacity=25); /* for IE */
+}
+
+.fc-event .fc-content {
+ position: relative;
+ z-index: 2;
+}
+
+.fc-event .fc-resizer {
position: absolute;
- z-index: 99999;
- overflow: hidden; /* hacky spaces (IE6/7) */
- font-size: 300%; /* */
- line-height: 50%; /* */
- }
-
-
-
+ z-index: 3;
+}
+
+
/* Horizontal Events
-------------------------------------------------------------------------*/
+--------------------------------------------------------------------------------------------------*/
-.fc-event-hori {
- border-width: 1px 0;
- margin-bottom: 1px;
- }
+/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
-.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-h-event.fc-not-start,
+.fc-rtl .fc-h-event.fc-not-end {
+ margin-left: 0;
+ border-left-width: 0;
+ padding-left: 1px; /* replace the border with padding */
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
-.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 */
-
-.fc-event-hori .ui-resizable-e {
- top: 0 !important; /* importants override pre jquery ui 1.7 styles */
- right: -3px !important;
- width: 7px !important;
- height: 100% !important;
- cursor: e-resize;
- }
-
-.fc-event-hori .ui-resizable-w {
- top: 0 !important;
- left: -3px !important;
- width: 7px !important;
- height: 100% !important;
+.fc-ltr .fc-h-event.fc-not-end,
+.fc-rtl .fc-h-event.fc-not-start {
+ margin-right: 0;
+ border-right-width: 0;
+ padding-right: 1px; /* replace the border with padding */
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+/* resizer */
+
+.fc-h-event .fc-resizer { /* positioned it to overcome the event's borders */
+ top: -1px;
+ bottom: -1px;
+ left: -1px;
+ right: -1px;
+ width: 5px;
+}
+
+/* left resizer */
+.fc-ltr .fc-h-event .fc-start-resizer,
+.fc-ltr .fc-h-event .fc-start-resizer:before,
+.fc-ltr .fc-h-event .fc-start-resizer:after,
+.fc-rtl .fc-h-event .fc-end-resizer,
+.fc-rtl .fc-h-event .fc-end-resizer:before,
+.fc-rtl .fc-h-event .fc-end-resizer:after {
+ right: auto; /* ignore the right and only use the left */
cursor: w-resize;
- }
-
-.fc-event-hori .ui-resizable-handle {
- _padding-bottom: 14px; /* IE6 had 0 height */
- }
-
-
-
-/* Reusable Separate-border Table
-------------------------------------------------------------*/
+}
-table.fc-border-separate {
- border-collapse: separate;
- }
-
-.fc-border-separate th,
-.fc-border-separate td {
- border-width: 1px 0 0 1px;
- }
-
-.fc-border-separate th.fc-last,
-.fc-border-separate td.fc-last {
- border-right-width: 1px;
- }
-
-.fc-border-separate tr.fc-last th,
-.fc-border-separate tr.fc-last td {
- border-bottom-width: 1px;
- }
-
-.fc-border-separate tbody tr.fc-first td,
-.fc-border-separate tbody tr.fc-first th {
- border-top-width: 0;
- }
-
-
+/* right resizer */
+.fc-ltr .fc-h-event .fc-end-resizer,
+.fc-ltr .fc-h-event .fc-end-resizer:before,
+.fc-ltr .fc-h-event .fc-end-resizer:after,
+.fc-rtl .fc-h-event .fc-start-resizer,
+.fc-rtl .fc-h-event .fc-start-resizer:before,
+.fc-rtl .fc-h-event .fc-start-resizer:after {
+ left: auto; /* ignore the left and only use the right */
+ cursor: e-resize;
+}
-/* Month View, Basic Week View, Basic Day View
-------------------------------------------------------------------------*/
-.fc-grid th {
- text-align: center;
- }
+/* DayGrid events
+----------------------------------------------------------------------------------------------------
+We use the full "fc-day-grid-event" class instead of using descendants because the event won't
+be a descendant of the grid when it is being dragged.
+*/
+
+.fc-day-grid-event {
+ margin: 1px 2px 0; /* spacing between events and edges */
+ padding: 0 1px;
+}
+
+
+.fc-day-grid-event .fc-content { /* force events to be one-line tall */
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.fc-day-grid-event .fc-time {
+ font-weight: bold;
+}
+
+.fc-day-grid-event .fc-resizer { /* enlarge the default hit area */
+ left: -3px;
+ right: -3px;
+ width: 7px;
+}
+
+
+/* Event Limiting
+--------------------------------------------------------------------------------------------------*/
+
+/* "more" link that represents hidden events */
+
+a.fc-more {
+ margin: 1px 3px;
+ font-size: .85em;
+ cursor: pointer;
+ text-decoration: none;
+}
+
+a.fc-more:hover {
+ text-decoration: underline;
+}
+
+.fc-limited { /* rows and cells that are hidden because of a "more" link */
+ display: none;
+}
+
+/* popover that appears when "more" link is clicked */
+
+.fc-day-grid .fc-row {
+ z-index: 1; /* make the "more" popover one higher than this */
+}
+
+.fc-more-popover {
+ z-index: 2;
+ width: 220px;
+}
+
+.fc-more-popover .fc-event-container {
+ padding: 10px;
+}
+
+/* Toolbar
+--------------------------------------------------------------------------------------------------*/
-.fc .fc-week-number {
- width: 22px;
+.fc-toolbar {
text-align: center;
- }
+ margin-bottom: 1em;
+}
-.fc .fc-week-number div {
- padding: 0 2px;
- }
-
-.fc-grid .fc-day-number {
+.fc-toolbar .fc-left {
+ float: left;
+}
+
+.fc-toolbar .fc-right {
float: right;
- padding: 0 2px;
- }
+}
+
+.fc-toolbar .fc-center {
+ display: inline-block;
+}
+
+/* the things within each left/right/center section */
+.fc .fc-toolbar > * > * { /* extra precedence to override button border margins */
+ float: left;
+ margin-left: .75em;
+}
+
+/* the first thing within each left/center/right section */
+.fc .fc-toolbar > * > :first-child { /* extra precedence to override button border margins */
+ margin-left: 0;
+}
+
+/* title text */
+
+.fc-toolbar h2 {
+ margin: 0;
+}
+
+/* button layering (for border precedence) */
+
+.fc-toolbar button {
+ position: relative;
+}
+
+.fc-toolbar .fc-state-hover,
+.fc-toolbar .ui-state-hover {
+ z-index: 2;
+}
-.fc-grid .fc-other-month .fc-day-number {
+.fc-toolbar .fc-state-down {
+ z-index: 3;
+}
+
+.fc-toolbar .fc-state-active,
+.fc-toolbar .ui-state-active {
+ z-index: 4;
+}
+
+.fc-toolbar button:focus {
+ z-index: 5;
+}
+
+
+/* View Structure
+--------------------------------------------------------------------------------------------------*/
+
+/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
+/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
+.fc-view-container *,
+.fc-view-container *:before,
+.fc-view-container *:after {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+
+.fc-view, /* scope positioning and z-index's for everything within the view */
+.fc-view > table { /* so dragged elements can be above the view's main element */
+ position: relative;
+ z-index: 1;
+}
+
+/* BasicView
+--------------------------------------------------------------------------------------------------*/
+
+/* day row structure */
+
+.fc-basicWeek-view .fc-content-skeleton,
+.fc-basicDay-view .fc-content-skeleton {
+ /* we are sure there are no day numbers in these views, so... */
+ padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
+ padding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */
+}
+
+.fc-basic-view .fc-body .fc-row {
+ min-height: 4em; /* ensure that all rows are at least this tall */
+}
+
+/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
+
+.fc-row.fc-rigid {
+ overflow: hidden;
+}
+
+.fc-row.fc-rigid .fc-content-skeleton {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+}
+
+/* week and day number styling */
+
+.fc-basic-view .fc-week-number,
+.fc-basic-view .fc-day-number {
+ padding: 0 2px;
+}
+
+.fc-basic-view td.fc-week-number span,
+.fc-basic-view td.fc-day-number {
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+.fc-basic-view .fc-week-number {
+ text-align: center;
+}
+
+.fc-basic-view .fc-week-number span {
+ /* work around the way we do column resizing and ensure a minimum width */
+ display: inline-block;
+ min-width: 1.25em;
+}
+
+.fc-ltr .fc-basic-view .fc-day-number {
+ text-align: right;
+}
+
+.fc-rtl .fc-basic-view .fc-day-number {
+ text-align: left;
+}
+
+.fc-day-number.fc-other-month {
opacity: 0.3;
filter: alpha(opacity=30); /* for IE */
/* opacity with small font can sometimes look too faded
might want to set the 'color' property instead
making day-numbers bold also fixes the problem */
- }
-
-.fc-grid .fc-day-content {
- clear: both;
- padding: 2px 2px 1px; /* distance between events and day edges */
- }
-
-/* event styles */
-
-.fc-grid .fc-event-time {
- font-weight: bold;
- }
-
-/* right-to-left */
-
-.fc-rtl .fc-grid .fc-day-number {
- float: left;
- }
-
-.fc-rtl .fc-grid .fc-event-time {
- float: right;
- }
-
-
+}
-/* Agenda Week View, Agenda Day View
-------------------------------------------------------------------------*/
+/* AgendaView all-day area
+--------------------------------------------------------------------------------------------------*/
-.fc-agenda table {
- border-collapse: separate;
- }
-
-.fc-agenda-days th {
- text-align: center;
- }
-
-.fc-agenda .fc-agenda-axis {
- width: 50px;
- padding: 0 4px;
+.fc-agenda-view .fc-day-grid {
+ position: relative;
+ z-index: 2; /* so the "more.." popover will be over the time grid */
+}
+
+.fc-agenda-view .fc-day-grid .fc-row {
+ min-height: 3em; /* all-day section will never get shorter than this */
+}
+
+.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
+ padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
+ padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
+}
+
+
+/* TimeGrid axis running down the side (for both the all-day area and the slot area)
+--------------------------------------------------------------------------------------------------*/
+
+.fc .fc-axis { /* .fc to overcome default cell styles */
vertical-align: middle;
- text-align: right;
+ padding: 0 4px;
white-space: nowrap;
- font-weight: normal;
- }
+}
-.fc-agenda .fc-week-number {
- font-weight: bold;
- }
-
-.fc-agenda .fc-day-content {
- padding: 2px 2px 1px;
- }
-
-/* make axis border take precedence */
-
-.fc-agenda-days .fc-agenda-axis {
- border-right-width: 1px;
- }
-
-.fc-agenda-days .fc-col0 {
- border-left-width: 0;
- }
-
-/* all-day area */
-
-.fc-agenda-allday th {
- border-width: 0 1px;
- }
-
-.fc-agenda-allday .fc-day-content {
- min-height: 34px; /* TODO: doesnt work well in quirksmode */
- _height: 34px;
- }
-
-/* divider (between all-day and slots) */
-
-.fc-agenda-divider-inner {
- height: 2px;
- overflow: hidden;
- }
-
-.fc-widget-header .fc-agenda-divider-inner {
- background: #eee;
- }
-
-/* slot rows */
-
-.fc-agenda-slots th {
- border-width: 1px 1px 0;
- }
-
-.fc-agenda-slots td {
- border-width: 1px 0 0;
- background: none;
- }
-
-.fc-agenda-slots td div {
- height: 20px;
- }
-
-.fc-agenda-slots tr.fc-slot0 th,
-.fc-agenda-slots tr.fc-slot0 td {
- border-top-width: 0;
- }
+.fc-ltr .fc-axis {
+ text-align: right;
+}
-.fc-agenda-slots tr.fc-minor th,
-.fc-agenda-slots tr.fc-minor td {
- border-top-style: dotted;
- }
-
-.fc-agenda-slots tr.fc-minor th.ui-widget-header {
- *border-top-style: solid; /* doesn't work with background in IE6/7 */
- }
-
+.fc-rtl .fc-axis {
+ text-align: left;
+}
+.ui-widget td.fc-axis {
+ font-weight: normal; /* overcome jqui theme making it bold */
+}
-/* Vertical Events
-------------------------------------------------------------------------*/
-.fc-event-vert {
- border-width: 0 1px;
- }
+/* TimeGrid Structure
+--------------------------------------------------------------------------------------------------*/
-.fc-event-vert.fc-event-start {
- border-top-width: 1px;
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
- }
+.fc-time-grid-container, /* so scroll container's z-index is below all-day */
+.fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */
+ position: relative;
+ z-index: 1;
+}
-.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-time-grid {
+ min-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */
+}
+
+.fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */
+ border: 0 hidden transparent;
+}
-.fc-event-vert .fc-event-inner {
+.fc-time-grid > .fc-bg {
+ z-index: 1;
+}
+
+.fc-time-grid .fc-slats,
+.fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */
position: relative;
z-index: 2;
- }
-
-.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */
+}
+
+.fc-time-grid .fc-bgevent-skeleton,
+.fc-time-grid .fc-content-skeleton {
position: absolute;
- z-index: 1;
top: 0;
left: 0;
- width: 100%;
- height: 100%;
- background: #fff;
- opacity: .3;
- filter: alpha(opacity=30);
- }
-
-.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */
-.fc-select-helper .fc-event-bg {
- display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */
- }
-
-/* resizable */
-
-.fc-event-vert .ui-resizable-s {
- bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */
- width: 100% !important;
- height: 8px !important;
- overflow: hidden !important;
- line-height: 8px !important;
- font-size: 11px !important;
+ right: 0;
+}
+
+.fc-time-grid .fc-bgevent-skeleton {
+ z-index: 3;
+}
+
+.fc-time-grid .fc-highlight-skeleton {
+ z-index: 4;
+}
+
+.fc-time-grid .fc-content-skeleton {
+ z-index: 5;
+}
+
+.fc-time-grid .fc-helper-skeleton {
+ z-index: 6;
+}
+
+
+/* TimeGrid Slats (lines that run horizontally)
+--------------------------------------------------------------------------------------------------*/
+
+.fc-time-grid .fc-slats td {
+ height: 1.5em;
+ border-bottom: 0; /* each cell is responsible for its top border */
+}
+
+.fc-time-grid .fc-slats .fc-minor td {
+ border-top-style: dotted;
+}
+
+.fc-time-grid .fc-slats .ui-widget-content { /* for jqui theme */
+ background: none; /* see through to fc-bg */
+}
+
+
+/* TimeGrid Highlighting Slots
+--------------------------------------------------------------------------------------------------*/
+
+.fc-time-grid .fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */
+ position: relative; /* scopes the left/right of the fc-highlight to be in the column */
+}
+
+.fc-time-grid .fc-highlight {
+ position: absolute;
+ left: 0;
+ right: 0;
+ /* top and bottom will be in by JS */
+}
+
+
+/* TimeGrid Event Containment
+--------------------------------------------------------------------------------------------------*/
+
+.fc-time-grid .fc-event-container, /* a div within a cell within the fc-content-skeleton */
+.fc-time-grid .fc-bgevent-container { /* a div within a cell within the fc-bgevent-skeleton */
+ position: relative;
+}
+
+.fc-ltr .fc-time-grid .fc-event-container { /* space on the sides of events for LTR (default) */
+ margin: 0 2.5% 0 2px;
+}
+
+.fc-rtl .fc-time-grid .fc-event-container { /* space on the sides of events for RTL */
+ margin: 0 2px 0 2.5%;
+}
+
+.fc-time-grid .fc-event,
+.fc-time-grid .fc-bgevent {
+ position: absolute;
+ z-index: 1; /* scope inner z-index's */
+}
+
+.fc-time-grid .fc-bgevent {
+ /* background events always span full width */
+ left: 0;
+ right: 0;
+}
+
+
+/* Generic Vertical Event
+--------------------------------------------------------------------------------------------------*/
+
+.fc-v-event.fc-not-start { /* events that are continuing from another day */
+ /* replace space made by the top border with padding */
+ border-top-width: 0;
+ padding-top: 1px;
+
+ /* remove top rounded corners */
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.fc-v-event.fc-not-end {
+ /* replace space made by the top border with padding */
+ border-bottom-width: 0;
+ padding-bottom: 1px;
+
+ /* remove bottom rounded corners */
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+
+/* TimeGrid Event Styling
+----------------------------------------------------------------------------------------------------
+We use the full "fc-time-grid-event" class instead of using descendants because the event won't
+be a descendant of the grid when it is being dragged.
+*/
+
+.fc-time-grid-event {
+ overflow: hidden; /* don't let the bg flow over rounded corners */
+}
+
+.fc-time-grid-event .fc-time,
+.fc-time-grid-event .fc-title {
+ padding: 0 1px;
+}
+
+.fc-time-grid-event .fc-time {
+ font-size: .85em;
+ white-space: nowrap;
+}
+
+/* short mode, where time and title are on the same line */
+
+.fc-time-grid-event.fc-short .fc-content {
+ /* don't wrap to second line (now that contents will be inline) */
+ white-space: nowrap;
+}
+
+.fc-time-grid-event.fc-short .fc-time,
+.fc-time-grid-event.fc-short .fc-title {
+ /* put the time and title on the same line */
+ display: inline-block;
+ vertical-align: top;
+}
+
+.fc-time-grid-event.fc-short .fc-time span {
+ display: none; /* don't display the full time text... */
+}
+
+.fc-time-grid-event.fc-short .fc-time:before {
+ content: attr(data-start); /* ...instead, display only the start time */
+}
+
+.fc-time-grid-event.fc-short .fc-time:after {
+ content: "\000A0-\000A0"; /* seperate with a dash, wrapped in nbsp's */
+}
+
+.fc-time-grid-event.fc-short .fc-title {
+ font-size: .85em; /* make the title text the same size as the time */
+ padding: 0; /* undo padding from above */
+}
+
+/* resizer */
+
+.fc-time-grid-event .fc-resizer {
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 8px;
+ overflow: hidden;
+ line-height: 8px;
+ font-size: 11px;
font-family: monospace;
text-align: center;
cursor: s-resize;
- }
-
-.fc-agenda .ui-resizable-resizing { /* TODO: better selector */
- _overflow: hidden;
- }
-
-
+}
+
+.fc-time-grid-event .fc-resizer:after {
+ content: "=";
+}
diff --git a/library/fullcalendar/fullcalendar.js b/library/fullcalendar/fullcalendar.js
index 648938fee..4d17f353e 100644
--- a/library/fullcalendar/fullcalendar.js
+++ b/library/fullcalendar/fullcalendar.js
@@ -1,200 +1,8225 @@
/*!
- * FullCalendar v1.6.0
- * Docs & License: http://arshaw.com/fullcalendar/
- * (c) 2013 Adam Shaw
+ * FullCalendar v2.5.0-beta
+ * Docs & License: http://fullcalendar.io/
+ * (c) 2015 Adam Shaw
*/
+(function(factory) {
+ if (typeof define === 'function' && define.amd) {
+ define([ 'jquery', 'moment' ], factory);
+ }
+ else if (typeof exports === 'object') { // Node/CommonJS
+ module.exports = factory(require('jquery'), require('moment'));
+ }
+ else {
+ factory(jQuery, moment);
+ }
+})(function($, moment) {
+
+;;
+
+var FC = $.fullCalendar = { version: "2.5.0-beta" };
+var fcViews = FC.views = {};
+
+
+$.fn.fullCalendar = function(options) {
+ var args = Array.prototype.slice.call(arguments, 1); // for a possible method call
+ var res = this; // what this function will return (this jQuery object by default)
+
+ this.each(function(i, _element) { // loop each DOM element involved
+ var element = $(_element);
+ var calendar = element.data('fullCalendar'); // get the existing calendar object (if any)
+ var singleRes; // the returned value of this single method call
+
+ // a method call
+ if (typeof options === 'string') {
+ if (calendar && $.isFunction(calendar[options])) {
+ singleRes = calendar[options].apply(calendar, args);
+ if (!i) {
+ res = singleRes; // record the first method call result
+ }
+ if (options === 'destroy') { // for the destroy method, must remove Calendar object data
+ element.removeData('fullCalendar');
+ }
+ }
+ }
+ // a new calendar initialization
+ else if (!calendar) { // don't initialize twice
+ calendar = new Calendar(element, options);
+ element.data('fullCalendar', calendar);
+ calendar.render();
+ }
+ });
+
+ return res;
+};
+
+
+var complexOptions = [ // names of options that are objects whose properties should be combined
+ 'header',
+ 'buttonText',
+ 'buttonIcons',
+ 'themeButtonIcons'
+];
+
+
+// Merges an array of option objects into a single object
+function mergeOptions(optionObjs) {
+ return mergeProps(optionObjs, complexOptions);
+}
+
+
+// Given options specified for the calendar's constructor, massages any legacy options into a non-legacy form.
+// Converts View-Option-Hashes into the View-Specific-Options format.
+function massageOverrides(input) {
+ var overrides = { views: input.views || {} }; // the output. ensure a `views` hash
+ var subObj;
+
+ // iterate through all option override properties (except `views`)
+ $.each(input, function(name, val) {
+ if (name != 'views') {
+
+ // could the value be a legacy View-Option-Hash?
+ if (
+ $.isPlainObject(val) &&
+ !/(time|duration|interval)$/i.test(name) && // exclude duration options. might be given as objects
+ $.inArray(name, complexOptions) == -1 // complex options aren't allowed to be View-Option-Hashes
+ ) {
+ subObj = null;
+
+ // iterate through the properties of this possible View-Option-Hash value
+ $.each(val, function(subName, subVal) {
+
+ // is the property targeting a view?
+ if (/^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(subName)) {
+ if (!overrides.views[subName]) { // ensure the view-target entry exists
+ overrides.views[subName] = {};
+ }
+ overrides.views[subName][name] = subVal; // record the value in the `views` object
+ }
+ else { // a non-View-Option-Hash property
+ if (!subObj) {
+ subObj = {};
+ }
+ subObj[subName] = subVal; // accumulate these unrelated values for later
+ }
+ });
+
+ if (subObj) { // non-View-Option-Hash properties? transfer them as-is
+ overrides[name] = subObj;
+ }
+ }
+ else {
+ overrides[name] = val; // transfer normal options as-is
+ }
+ }
+ });
+
+ return overrides;
+}
+
+;;
+
+// exports
+FC.intersectionToSeg = intersectionToSeg;
+FC.applyAll = applyAll;
+FC.debounce = debounce;
+FC.isInt = isInt;
+FC.htmlEscape = htmlEscape;
+FC.cssToStr = cssToStr;
+FC.proxy = proxy;
+FC.capitaliseFirstLetter = capitaliseFirstLetter;
+
+
+/* FullCalendar-specific DOM Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+
+
+// Given the scrollbar widths of some other container, create borders/margins on rowEls in order to match the left
+// and right space that was offset by the scrollbars. A 1-pixel border first, then margin beyond that.
+function compensateScroll(rowEls, scrollbarWidths) {
+ if (scrollbarWidths.left) {
+ rowEls.css({
+ 'border-left-width': 1,
+ 'margin-left': scrollbarWidths.left - 1
+ });
+ }
+ if (scrollbarWidths.right) {
+ rowEls.css({
+ 'border-right-width': 1,
+ 'margin-right': scrollbarWidths.right - 1
+ });
+ }
+}
+
+
+// Undoes compensateScroll and restores all borders/margins
+function uncompensateScroll(rowEls) {
+ rowEls.css({
+ 'margin-left': '',
+ 'margin-right': '',
+ 'border-left-width': '',
+ 'border-right-width': ''
+ });
+}
+
+
+// Make the mouse cursor express that an event is not allowed in the current area
+function disableCursor() {
+ $('body').addClass('fc-not-allowed');
+}
+
+
+// Returns the mouse cursor to its original look
+function enableCursor() {
+ $('body').removeClass('fc-not-allowed');
+}
+
+
+// Given a total available height to fill, have `els` (essentially child rows) expand to accomodate.
+// By default, all elements that are shorter than the recommended height are expanded uniformly, not considering
+// any other els that are already too tall. if `shouldRedistribute` is on, it considers these tall rows and
+// reduces the available height.
+function distributeHeight(els, availableHeight, shouldRedistribute) {
+
+ // *FLOORING NOTE*: we floor in certain places because zoom can give inaccurate floating-point dimensions,
+ // and it is better to be shorter than taller, to avoid creating unnecessary scrollbars.
+
+ var minOffset1 = Math.floor(availableHeight / els.length); // for non-last element
+ var minOffset2 = Math.floor(availableHeight - minOffset1 * (els.length - 1)); // for last element *FLOORING NOTE*
+ var flexEls = []; // elements that are allowed to expand. array of DOM nodes
+ var flexOffsets = []; // amount of vertical space it takes up
+ var flexHeights = []; // actual css height
+ var usedHeight = 0;
+
+ undistributeHeight(els); // give all elements their natural height
+
+ // find elements that are below the recommended height (expandable).
+ // important to query for heights in a single first pass (to avoid reflow oscillation).
+ els.each(function(i, el) {
+ var minOffset = i === els.length - 1 ? minOffset2 : minOffset1;
+ var naturalOffset = $(el).outerHeight(true);
+
+ if (naturalOffset < minOffset) {
+ flexEls.push(el);
+ flexOffsets.push(naturalOffset);
+ flexHeights.push($(el).height());
+ }
+ else {
+ // this element stretches past recommended height (non-expandable). mark the space as occupied.
+ usedHeight += naturalOffset;
+ }
+ });
+
+ // readjust the recommended height to only consider the height available to non-maxed-out rows.
+ if (shouldRedistribute) {
+ availableHeight -= usedHeight;
+ minOffset1 = Math.floor(availableHeight / flexEls.length);
+ minOffset2 = Math.floor(availableHeight - minOffset1 * (flexEls.length - 1)); // *FLOORING NOTE*
+ }
+
+ // assign heights to all expandable elements
+ $(flexEls).each(function(i, el) {
+ var minOffset = i === flexEls.length - 1 ? minOffset2 : minOffset1;
+ var naturalOffset = flexOffsets[i];
+ var naturalHeight = flexHeights[i];
+ var newHeight = minOffset - (naturalOffset - naturalHeight); // subtract the margin/padding
+
+ if (naturalOffset < minOffset) { // we check this again because redistribution might have changed things
+ $(el).height(newHeight);
+ }
+ });
+}
+
+
+// Undoes distrubuteHeight, restoring all els to their natural height
+function undistributeHeight(els) {
+ els.height('');
+}
+
+
+// Given `els`, a jQuery set of <td> cells, find the cell with the largest natural width and set the widths of all the
+// cells to be that width.
+// PREREQUISITE: if you want a cell to take up width, it needs to have a single inner element w/ display:inline
+function matchCellWidths(els) {
+ var maxInnerWidth = 0;
+
+ els.find('> *').each(function(i, innerEl) {
+ var innerWidth = $(innerEl).outerWidth();
+ if (innerWidth > maxInnerWidth) {
+ maxInnerWidth = innerWidth;
+ }
+ });
+
+ maxInnerWidth++; // sometimes not accurate of width the text needs to stay on one line. insurance
+
+ els.width(maxInnerWidth);
+
+ return maxInnerWidth;
+}
+
+
+// Turns a container element into a scroller if its contents is taller than the allotted height.
+// Returns true if the element is now a scroller, false otherwise.
+// NOTE: this method is best because it takes weird zooming dimensions into account
+function setPotentialScroller(containerEl, height) {
+ containerEl.height(height).addClass('fc-scroller');
+
+ // are scrollbars needed?
+ if (containerEl[0].scrollHeight - 1 > containerEl[0].clientHeight) { // !!! -1 because IE is often off-by-one :(
+ return true;
+ }
+
+ unsetScroller(containerEl); // undo
+ return false;
+}
+
+
+// Takes an element that might have been a scroller, and turns it back into a normal element.
+function unsetScroller(containerEl) {
+ containerEl.height('').removeClass('fc-scroller');
+}
+
+
+/* General DOM Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+
+FC.getOuterRect = getOuterRect;
+FC.getClientRect = getClientRect;
+FC.getContentRect = getContentRect;
+FC.getScrollbarWidths = getScrollbarWidths;
+
+
+// borrowed from https://github.com/jquery/jquery-ui/blob/1.11.0/ui/core.js#L51
+function getScrollParent(el) {
+ var position = el.css('position'),
+ scrollParent = el.parents().filter(function() {
+ var parent = $(this);
+ return (/(auto|scroll)/).test(
+ parent.css('overflow') + parent.css('overflow-y') + parent.css('overflow-x')
+ );
+ }).eq(0);
+
+ return position === 'fixed' || !scrollParent.length ? $(el[0].ownerDocument || document) : scrollParent;
+}
+
+
+// Queries the outer bounding area of a jQuery element.
+// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).
+function getOuterRect(el) {
+ var offset = el.offset();
+
+ return {
+ left: offset.left,
+ right: offset.left + el.outerWidth(),
+ top: offset.top,
+ bottom: offset.top + el.outerHeight()
+ };
+}
+
+
+// Queries the area within the margin/border/scrollbars of a jQuery element. Does not go within the padding.
+// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).
+// NOTE: should use clientLeft/clientTop, but very unreliable cross-browser.
+function getClientRect(el) {
+ var offset = el.offset();
+ var scrollbarWidths = getScrollbarWidths(el);
+ var left = offset.left + getCssFloat(el, 'border-left-width') + scrollbarWidths.left;
+ var top = offset.top + getCssFloat(el, 'border-top-width') + scrollbarWidths.top;
+
+ return {
+ left: left,
+ right: left + el[0].clientWidth, // clientWidth includes padding but NOT scrollbars
+ top: top,
+ bottom: top + el[0].clientHeight // clientHeight includes padding but NOT scrollbars
+ };
+}
+
+
+// Queries the area within the margin/border/padding of a jQuery element. Assumed not to have scrollbars.
+// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).
+function getContentRect(el) {
+ var offset = el.offset(); // just outside of border, margin not included
+ var left = offset.left + getCssFloat(el, 'border-left-width') + getCssFloat(el, 'padding-left');
+ var top = offset.top + getCssFloat(el, 'border-top-width') + getCssFloat(el, 'padding-top');
+
+ return {
+ left: left,
+ right: left + el.width(),
+ top: top,
+ bottom: top + el.height()
+ };
+}
+
+
+// Returns the computed left/right/top/bottom scrollbar widths for the given jQuery element.
+// NOTE: should use clientLeft/clientTop, but very unreliable cross-browser.
+function getScrollbarWidths(el) {
+ var leftRightWidth = el.innerWidth() - el[0].clientWidth; // the paddings cancel out, leaving the scrollbars
+ var widths = {
+ left: 0,
+ right: 0,
+ top: 0,
+ bottom: el.innerHeight() - el[0].clientHeight // the paddings cancel out, leaving the bottom scrollbar
+ };
+
+ if (getIsLeftRtlScrollbars() && el.css('direction') == 'rtl') { // is the scrollbar on the left side?
+ widths.left = leftRightWidth;
+ }
+ else {
+ widths.right = leftRightWidth;
+ }
+
+ return widths;
+}
+
+
+// Logic for determining if, when the element is right-to-left, the scrollbar appears on the left side
+
+var _isLeftRtlScrollbars = null;
+
+function getIsLeftRtlScrollbars() { // responsible for caching the computation
+ if (_isLeftRtlScrollbars === null) {
+ _isLeftRtlScrollbars = computeIsLeftRtlScrollbars();
+ }
+ return _isLeftRtlScrollbars;
+}
+
+function computeIsLeftRtlScrollbars() { // creates an offscreen test element, then removes it
+ var el = $('<div><div/></div>')
+ .css({
+ position: 'absolute',
+ top: -1000,
+ left: 0,
+ border: 0,
+ padding: 0,
+ overflow: 'scroll',
+ direction: 'rtl'
+ })
+ .appendTo('body');
+ var innerEl = el.children();
+ var res = innerEl.offset().left > el.offset().left; // is the inner div shifted to accommodate a left scrollbar?
+ el.remove();
+ return res;
+}
+
+
+// Retrieves a jQuery element's computed CSS value as a floating-point number.
+// If the queried value is non-numeric (ex: IE can return "medium" for border width), will just return zero.
+function getCssFloat(el, prop) {
+ return parseFloat(el.css(prop)) || 0;
+}
+
+
+// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)
+function isPrimaryMouseButton(ev) {
+ return ev.which == 1 && !ev.ctrlKey;
+}
+
+
+/* Geometry
+----------------------------------------------------------------------------------------------------------------------*/
+
+FC.intersectRects = intersectRects;
+
+// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false
+function intersectRects(rect1, rect2) {
+ var res = {
+ left: Math.max(rect1.left, rect2.left),
+ right: Math.min(rect1.right, rect2.right),
+ top: Math.max(rect1.top, rect2.top),
+ bottom: Math.min(rect1.bottom, rect2.bottom)
+ };
+
+ if (res.left < res.right && res.top < res.bottom) {
+ return res;
+ }
+ return false;
+}
+
+
+// Returns a new point that will have been moved to reside within the given rectangle
+function constrainPoint(point, rect) {
+ return {
+ left: Math.min(Math.max(point.left, rect.left), rect.right),
+ top: Math.min(Math.max(point.top, rect.top), rect.bottom)
+ };
+}
+
+
+// Returns a point that is the center of the given rectangle
+function getRectCenter(rect) {
+ return {
+ left: (rect.left + rect.right) / 2,
+ top: (rect.top + rect.bottom) / 2
+ };
+}
+
+
+// Subtracts point2's coordinates from point1's coordinates, returning a delta
+function diffPoints(point1, point2) {
+ return {
+ left: point1.left - point2.left,
+ top: point1.top - point2.top
+ };
+}
+
+
+/* Object Ordering by Field
+----------------------------------------------------------------------------------------------------------------------*/
+
+FC.parseFieldSpecs = parseFieldSpecs;
+FC.compareByFieldSpecs = compareByFieldSpecs;
+FC.compareByFieldSpec = compareByFieldSpec;
+FC.flexibleCompare = flexibleCompare;
+
+
+function parseFieldSpecs(input) {
+ var specs = [];
+ var tokens = [];
+ var i, token;
+
+ if (typeof input === 'string') {
+ tokens = input.split(/\s*,\s*/);
+ }
+ else if (typeof input === 'function') {
+ tokens = [ input ];
+ }
+ else if ($.isArray(input)) {
+ tokens = input;
+ }
+
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+
+ if (typeof token === 'string') {
+ specs.push(
+ token.charAt(0) == '-' ?
+ { field: token.substring(1), order: -1 } :
+ { field: token, order: 1 }
+ );
+ }
+ else if (typeof token === 'function') {
+ specs.push({ func: token });
+ }
+ }
+
+ return specs;
+}
+
+
+function compareByFieldSpecs(obj1, obj2, fieldSpecs) {
+ var i;
+ var cmp;
+
+ for (i = 0; i < fieldSpecs.length; i++) {
+ cmp = compareByFieldSpec(obj1, obj2, fieldSpecs[i]);
+ if (cmp) {
+ return cmp;
+ }
+ }
+
+ return 0;
+}
+
+
+function compareByFieldSpec(obj1, obj2, fieldSpec) {
+ if (fieldSpec.func) {
+ return fieldSpec.func(obj1, obj2);
+ }
+ return flexibleCompare(obj1[fieldSpec.field], obj2[fieldSpec.field]) *
+ (fieldSpec.order || 1);
+}
+
+
+function flexibleCompare(a, b) {
+ if (!a && !b) {
+ return 0;
+ }
+ if (b == null) {
+ return -1;
+ }
+ if (a == null) {
+ return 1;
+ }
+ if ($.type(a) === 'string' || $.type(b) === 'string') {
+ return String(a).localeCompare(String(b));
+ }
+ return a - b;
+}
+
+
+/* FullCalendar-specific Misc Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+
+
+// Creates a basic segment with the intersection of the two ranges. Returns undefined if no intersection.
+// Expects all dates to be normalized to the same timezone beforehand.
+// TODO: move to date section?
+function intersectionToSeg(subjectRange, constraintRange) {
+ var subjectStart = subjectRange.start;
+ var subjectEnd = subjectRange.end;
+ var constraintStart = constraintRange.start;
+ var constraintEnd = constraintRange.end;
+ var segStart, segEnd;
+ var isStart, isEnd;
+
+ if (subjectEnd > constraintStart && subjectStart < constraintEnd) { // in bounds at all?
+
+ if (subjectStart >= constraintStart) {
+ segStart = subjectStart.clone();
+ isStart = true;
+ }
+ else {
+ segStart = constraintStart.clone();
+ isStart = false;
+ }
+
+ if (subjectEnd <= constraintEnd) {
+ segEnd = subjectEnd.clone();
+ isEnd = true;
+ }
+ else {
+ segEnd = constraintEnd.clone();
+ isEnd = false;
+ }
+
+ return {
+ start: segStart,
+ end: segEnd,
+ isStart: isStart,
+ isEnd: isEnd
+ };
+ }
+}
+
+
+/* Date Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+
+FC.computeIntervalUnit = computeIntervalUnit;
+FC.divideRangeByDuration = divideRangeByDuration;
+FC.divideDurationByDuration = divideDurationByDuration;
+FC.multiplyDuration = multiplyDuration;
+FC.durationHasTime = durationHasTime;
+
+var dayIDs = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];
+var intervalUnits = [ 'year', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond' ];
+
+
+// Diffs the two moments into a Duration where full-days are recorded first, then the remaining time.
+// Moments will have their timezones normalized.
+function diffDayTime(a, b) {
+ return moment.duration({
+ days: a.clone().stripTime().diff(b.clone().stripTime(), 'days'),
+ ms: a.time() - b.time() // time-of-day from day start. disregards timezone
+ });
+}
+
+
+// Diffs the two moments via their start-of-day (regardless of timezone). Produces whole-day durations.
+function diffDay(a, b) {
+ return moment.duration({
+ days: a.clone().stripTime().diff(b.clone().stripTime(), 'days')
+ });
+}
+
+
+// Diffs two moments, producing a duration, made of a whole-unit-increment of the given unit. Uses rounding.
+function diffByUnit(a, b, unit) {
+ return moment.duration(
+ Math.round(a.diff(b, unit, true)), // returnFloat=true
+ unit
+ );
+}
+
+
+// Computes the unit name of the largest whole-unit period of time.
+// For example, 48 hours will be "days" whereas 49 hours will be "hours".
+// Accepts start/end, a range object, or an original duration object.
+function computeIntervalUnit(start, end) {
+ var i, unit;
+ var val;
+
+ for (i = 0; i < intervalUnits.length; i++) {
+ unit = intervalUnits[i];
+ val = computeRangeAs(unit, start, end);
+
+ if (val >= 1 && isInt(val)) {
+ break;
+ }
+ }
+
+ return unit; // will be "milliseconds" if nothing else matches
+}
+
+
+// Computes the number of units (like "hours") in the given range.
+// Range can be a {start,end} object, separate start/end args, or a Duration.
+// Results are based on Moment's .as() and .diff() methods, so results can depend on internal handling
+// of month-diffing logic (which tends to vary from version to version).
+function computeRangeAs(unit, start, end) {
+
+ if (end != null) { // given start, end
+ return end.diff(start, unit, true);
+ }
+ else if (moment.isDuration(start)) { // given duration
+ return start.as(unit);
+ }
+ else { // given { start, end } range object
+ return start.end.diff(start.start, unit, true);
+ }
+}
+
+
+// Intelligently divides a range (specified by a start/end params) by a duration
+function divideRangeByDuration(start, end, dur) {
+ var months;
+
+ if (durationHasTime(dur)) {
+ return (end - start) / dur;
+ }
+ months = dur.asMonths();
+ if (Math.abs(months) >= 1 && isInt(months)) {
+ return end.diff(start, 'months', true) / months;
+ }
+ return end.diff(start, 'days', true) / dur.asDays();
+}
+
+
+// Intelligently divides one duration by another
+function divideDurationByDuration(dur1, dur2) {
+ var months1, months2;
+
+ if (durationHasTime(dur1) || durationHasTime(dur2)) {
+ return dur1 / dur2;
+ }
+ months1 = dur1.asMonths();
+ months2 = dur2.asMonths();
+ if (
+ Math.abs(months1) >= 1 && isInt(months1) &&
+ Math.abs(months2) >= 1 && isInt(months2)
+ ) {
+ return months1 / months2;
+ }
+ return dur1.asDays() / dur2.asDays();
+}
+
+
+// Intelligently multiplies a duration by a number
+function multiplyDuration(dur, n) {
+ var months;
+
+ if (durationHasTime(dur)) {
+ return moment.duration(dur * n);
+ }
+ months = dur.asMonths();
+ if (Math.abs(months) >= 1 && isInt(months)) {
+ return moment.duration({ months: months * n });
+ }
+ return moment.duration({ days: dur.asDays() * n });
+}
+
+
+// Returns a boolean about whether the given duration has any time parts (hours/minutes/seconds/ms)
+function durationHasTime(dur) {
+ return Boolean(dur.hours() || dur.minutes() || dur.seconds() || dur.milliseconds());
+}
+
+
+function isNativeDate(input) {
+ return Object.prototype.toString.call(input) === '[object Date]' || input instanceof Date;
+}
+
+
+// Returns a boolean about whether the given input is a time string, like "06:40:00" or "06:00"
+function isTimeString(str) {
+ return /^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(str);
+}
+
+
+/* Logging and Debug
+----------------------------------------------------------------------------------------------------------------------*/
+
+FC.log = function() {
+ var console = window.console;
+
+ if (console && console.log) {
+ return console.log.apply(console, arguments);
+ }
+};
+
+FC.warn = function() {
+ var console = window.console;
+
+ if (console && console.warn) {
+ return console.warn.apply(console, arguments);
+ }
+ else {
+ return FC.log.apply(FC, arguments);
+ }
+};
+
+
+/* General Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+
+var hasOwnPropMethod = {}.hasOwnProperty;
+
+
+// Merges an array of objects into a single object.
+// The second argument allows for an array of property names who's object values will be merged together.
+function mergeProps(propObjs, complexProps) {
+ var dest = {};
+ var i, name;
+ var complexObjs;
+ var j, val;
+ var props;
+
+ if (complexProps) {
+ for (i = 0; i < complexProps.length; i++) {
+ name = complexProps[i];
+ complexObjs = [];
+
+ // collect the trailing object values, stopping when a non-object is discovered
+ for (j = propObjs.length - 1; j >= 0; j--) {
+ val = propObjs[j][name];
+
+ if (typeof val === 'object') {
+ complexObjs.unshift(val);
+ }
+ else if (val !== undefined) {
+ dest[name] = val; // if there were no objects, this value will be used
+ break;
+ }
+ }
+
+ // if the trailing values were objects, use the merged value
+ if (complexObjs.length) {
+ dest[name] = mergeProps(complexObjs);
+ }
+ }
+ }
+
+ // copy values into the destination, going from last to first
+ for (i = propObjs.length - 1; i >= 0; i--) {
+ props = propObjs[i];
+
+ for (name in props) {
+ if (!(name in dest)) { // if already assigned by previous props or complex props, don't reassign
+ dest[name] = props[name];
+ }
+ }
+ }
+
+ return dest;
+}
+
+
+// Create an object that has the given prototype. Just like Object.create
+function createObject(proto) {
+ var f = function() {};
+ f.prototype = proto;
+ return new f();
+}
+
+
+function copyOwnProps(src, dest) {
+ for (var name in src) {
+ if (hasOwnProp(src, name)) {
+ dest[name] = src[name];
+ }
+ }
+}
+
+
+// Copies over certain methods with the same names as Object.prototype methods. Overcomes an IE<=8 bug:
+// https://developer.mozilla.org/en-US/docs/ECMAScript_DontEnum_attribute#JScript_DontEnum_Bug
+function copyNativeMethods(src, dest) {
+ var names = [ 'constructor', 'toString', 'valueOf' ];
+ var i, name;
+
+ for (i = 0; i < names.length; i++) {
+ name = names[i];
+
+ if (src[name] !== Object.prototype[name]) {
+ dest[name] = src[name];
+ }
+ }
+}
+
+
+function hasOwnProp(obj, name) {
+ return hasOwnPropMethod.call(obj, name);
+}
+
+
+// Is the given value a non-object non-function value?
+function isAtomic(val) {
+ return /undefined|null|boolean|number|string/.test($.type(val));
+}
+
+
+function applyAll(functions, thisObj, args) {
+ if ($.isFunction(functions)) {
+ functions = [ functions ];
+ }
+ if (functions) {
+ var i;
+ var ret;
+ for (i=0; i<functions.length; i++) {
+ ret = functions[i].apply(thisObj, args) || ret;
+ }
+ return ret;
+ }
+}
+
+
+function firstDefined() {
+ for (var i=0; i<arguments.length; i++) {
+ if (arguments[i] !== undefined) {
+ return arguments[i];
+ }
+ }
+}
+
+
+function htmlEscape(s) {
+ return (s + '').replace(/&/g, '&amp;')
+ .replace(/</g, '&lt;')
+ .replace(/>/g, '&gt;')
+ .replace(/'/g, '&#039;')
+ .replace(/"/g, '&quot;')
+ .replace(/\n/g, '<br />');
+}
+
+
+function stripHtmlEntities(text) {
+ return text.replace(/&.*?;/g, '');
+}
+
+
+// Given a hash of CSS properties, returns a string of CSS.
+// Uses property names as-is (no camel-case conversion). Will not make statements for null/undefined values.
+function cssToStr(cssProps) {
+ var statements = [];
+
+ $.each(cssProps, function(name, val) {
+ if (val != null) {
+ statements.push(name + ':' + val);
+ }
+ });
+
+ return statements.join(';');
+}
+
+
+function capitaliseFirstLetter(str) {
+ return str.charAt(0).toUpperCase() + str.slice(1);
+}
+
+
+function compareNumbers(a, b) { // for .sort()
+ return a - b;
+}
+
+
+function isInt(n) {
+ return n % 1 === 0;
+}
+
+
+// Returns a method bound to the given object context.
+// Just like one of the jQuery.proxy signatures, but without the undesired behavior of treating the same method with
+// different contexts as identical when binding/unbinding events.
+function proxy(obj, methodName) {
+ var method = obj[methodName];
+
+ return function() {
+ return method.apply(obj, arguments);
+ };
+}
+
+
+// Returns a function, that, as long as it continues to be invoked, will not
+// be triggered. The function will be called after it stops being called for
+// N milliseconds.
+// https://github.com/jashkenas/underscore/blob/1.6.0/underscore.js#L714
+function debounce(func, wait) {
+ var timeoutId;
+ var args;
+ var context;
+ var timestamp; // of most recent call
+ var later = function() {
+ var last = +new Date() - timestamp;
+ if (last < wait && last > 0) {
+ timeoutId = setTimeout(later, wait - last);
+ }
+ else {
+ timeoutId = null;
+ func.apply(context, args);
+ if (!timeoutId) {
+ context = args = null;
+ }
+ }
+ };
+
+ return function() {
+ context = this;
+ args = arguments;
+ timestamp = +new Date();
+ if (!timeoutId) {
+ timeoutId = setTimeout(later, wait);
+ }
+ };
+}
+
+;;
+
+var ambigDateOfMonthRegex = /^\s*\d{4}-\d\d$/;
+var ambigTimeOrZoneRegex =
+ /^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/;
+var newMomentProto = moment.fn; // where we will attach our new methods
+var oldMomentProto = $.extend({}, newMomentProto); // copy of original moment methods
+var allowValueOptimization;
+var setUTCValues; // function defined below
+var setLocalValues; // function defined below
+
+
+// Creating
+// -------------------------------------------------------------------------------------------------
+
+// Creates a new moment, similar to the vanilla moment(...) constructor, but with
+// extra features (ambiguous time, enhanced formatting). When given an existing moment,
+// it will function as a clone (and retain the zone of the moment). Anything else will
+// result in a moment in the local zone.
+FC.moment = function() {
+ return makeMoment(arguments);
+};
+
+// Sames as FC.moment, but forces the resulting moment to be in the UTC timezone.
+FC.moment.utc = function() {
+ var mom = makeMoment(arguments, true);
+
+ // Force it into UTC because makeMoment doesn't guarantee it
+ // (if given a pre-existing moment for example)
+ if (mom.hasTime()) { // don't give ambiguously-timed moments a UTC zone
+ mom.utc();
+ }
+
+ return mom;
+};
+
+// Same as FC.moment, but when given an ISO8601 string, the timezone offset is preserved.
+// ISO8601 strings with no timezone offset will become ambiguously zoned.
+FC.moment.parseZone = function() {
+ return makeMoment(arguments, true, true);
+};
+
+// Builds an enhanced moment from args. When given an existing moment, it clones. When given a
+// native Date, or called with no arguments (the current time), the resulting moment will be local.
+// Anything else needs to be "parsed" (a string or an array), and will be affected by:
+// parseAsUTC - if there is no zone information, should we parse the input in UTC?
+// parseZone - if there is zone information, should we force the zone of the moment?
+function makeMoment(args, parseAsUTC, parseZone) {
+ var input = args[0];
+ var isSingleString = args.length == 1 && typeof input === 'string';
+ var isAmbigTime;
+ var isAmbigZone;
+ var ambigMatch;
+ var mom;
+
+ if (moment.isMoment(input)) {
+ mom = moment.apply(null, args); // clone it
+ transferAmbigs(input, mom); // the ambig flags weren't transfered with the clone
+ }
+ else if (isNativeDate(input) || input === undefined) {
+ mom = moment.apply(null, args); // will be local
+ }
+ else { // "parsing" is required
+ isAmbigTime = false;
+ isAmbigZone = false;
+
+ if (isSingleString) {
+ if (ambigDateOfMonthRegex.test(input)) {
+ // accept strings like '2014-05', but convert to the first of the month
+ input += '-01';
+ args = [ input ]; // for when we pass it on to moment's constructor
+ isAmbigTime = true;
+ isAmbigZone = true;
+ }
+ else if ((ambigMatch = ambigTimeOrZoneRegex.exec(input))) {
+ isAmbigTime = !ambigMatch[5]; // no time part?
+ isAmbigZone = true;
+ }
+ }
+ else if ($.isArray(input)) {
+ // arrays have no timezone information, so assume ambiguous zone
+ isAmbigZone = true;
+ }
+ // otherwise, probably a string with a format
+
+ if (parseAsUTC || isAmbigTime) {
+ mom = moment.utc.apply(moment, args);
+ }
+ else {
+ mom = moment.apply(null, args);
+ }
+
+ if (isAmbigTime) {
+ mom._ambigTime = true;
+ mom._ambigZone = true; // ambiguous time always means ambiguous zone
+ }
+ else if (parseZone) { // let's record the inputted zone somehow
+ if (isAmbigZone) {
+ mom._ambigZone = true;
+ }
+ else if (isSingleString) {
+ if (mom.utcOffset) {
+ mom.utcOffset(input); // if not a valid zone, will assign UTC
+ }
+ else {
+ mom.zone(input); // for moment-pre-2.9
+ }
+ }
+ }
+ }
+
+ mom._fullCalendar = true; // flag for extended functionality
+
+ return mom;
+}
+
+
+// A clone method that works with the flags related to our enhanced functionality.
+// In the future, use moment.momentProperties
+newMomentProto.clone = function() {
+ var mom = oldMomentProto.clone.apply(this, arguments);
+
+ // these flags weren't transfered with the clone
+ transferAmbigs(this, mom);
+ if (this._fullCalendar) {
+ mom._fullCalendar = true;
+ }
+
+ return mom;
+};
+
+
+// Week Number
+// -------------------------------------------------------------------------------------------------
+
+
+// Returns the week number, considering the locale's custom week number calcuation
+// `weeks` is an alias for `week`
+newMomentProto.week = newMomentProto.weeks = function(input) {
+ var weekCalc = (this._locale || this._lang) // works pre-moment-2.8
+ ._fullCalendar_weekCalc;
+
+ if (input == null && typeof weekCalc === 'function') { // custom function only works for getter
+ return weekCalc(this);
+ }
+ else if (weekCalc === 'ISO') {
+ return oldMomentProto.isoWeek.apply(this, arguments); // ISO getter/setter
+ }
+
+ return oldMomentProto.week.apply(this, arguments); // local getter/setter
+};
+
+
+// Time-of-day
+// -------------------------------------------------------------------------------------------------
+
+// GETTER
+// Returns a Duration with the hours/minutes/seconds/ms values of the moment.
+// If the moment has an ambiguous time, a duration of 00:00 will be returned.
+//
+// SETTER
+// You can supply a Duration, a Moment, or a Duration-like argument.
+// When setting the time, and the moment has an ambiguous time, it then becomes unambiguous.
+newMomentProto.time = function(time) {
+
+ // Fallback to the original method (if there is one) if this moment wasn't created via FullCalendar.
+ // `time` is a generic enough method name where this precaution is necessary to avoid collisions w/ other plugins.
+ if (!this._fullCalendar) {
+ return oldMomentProto.time.apply(this, arguments);
+ }
+
+ if (time == null) { // getter
+ return moment.duration({
+ hours: this.hours(),
+ minutes: this.minutes(),
+ seconds: this.seconds(),
+ milliseconds: this.milliseconds()
+ });
+ }
+ else { // setter
+
+ this._ambigTime = false; // mark that the moment now has a time
+
+ if (!moment.isDuration(time) && !moment.isMoment(time)) {
+ time = moment.duration(time);
+ }
+
+ // The day value should cause overflow (so 24 hours becomes 00:00:00 of next day).
+ // Only for Duration times, not Moment times.
+ var dayHours = 0;
+ if (moment.isDuration(time)) {
+ dayHours = Math.floor(time.asDays()) * 24;
+ }
+
+ // We need to set the individual fields.
+ // Can't use startOf('day') then add duration. In case of DST at start of day.
+ return this.hours(dayHours + time.hours())
+ .minutes(time.minutes())
+ .seconds(time.seconds())
+ .milliseconds(time.milliseconds());
+ }
+};
+
+// Converts the moment to UTC, stripping out its time-of-day and timezone offset,
+// but preserving its YMD. A moment with a stripped time will display no time
+// nor timezone offset when .format() is called.
+newMomentProto.stripTime = function() {
+ var a;
+
+ if (!this._ambigTime) {
+
+ // get the values before any conversion happens
+ a = this.toArray(); // array of y/m/d/h/m/s/ms
+
+ // TODO: use keepLocalTime in the future
+ this.utc(); // set the internal UTC flag (will clear the ambig flags)
+ setUTCValues(this, a.slice(0, 3)); // set the year/month/date. time will be zero
+
+ // Mark the time as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),
+ // which clears all ambig flags. Same with setUTCValues with moment-timezone.
+ this._ambigTime = true;
+ this._ambigZone = true; // if ambiguous time, also ambiguous timezone offset
+ }
+
+ return this; // for chaining
+};
+
+// Returns if the moment has a non-ambiguous time (boolean)
+newMomentProto.hasTime = function() {
+ return !this._ambigTime;
+};
+
+
+// Timezone
+// -------------------------------------------------------------------------------------------------
+
+// Converts the moment to UTC, stripping out its timezone offset, but preserving its
+// YMD and time-of-day. A moment with a stripped timezone offset will display no
+// timezone offset when .format() is called.
+// TODO: look into Moment's keepLocalTime functionality
+newMomentProto.stripZone = function() {
+ var a, wasAmbigTime;
+
+ if (!this._ambigZone) {
+
+ // get the values before any conversion happens
+ a = this.toArray(); // array of y/m/d/h/m/s/ms
+ wasAmbigTime = this._ambigTime;
+
+ this.utc(); // set the internal UTC flag (might clear the ambig flags, depending on Moment internals)
+ setUTCValues(this, a); // will set the year/month/date/hours/minutes/seconds/ms
+
+ // the above call to .utc()/.utcOffset() unfortunately might clear the ambig flags, so restore
+ this._ambigTime = wasAmbigTime || false;
+
+ // Mark the zone as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),
+ // which clears the ambig flags. Same with setUTCValues with moment-timezone.
+ this._ambigZone = true;
+ }
+
+ return this; // for chaining
+};
+
+// Returns of the moment has a non-ambiguous timezone offset (boolean)
+newMomentProto.hasZone = function() {
+ return !this._ambigZone;
+};
+
+
+// this method implicitly marks a zone
+newMomentProto.local = function() {
+ var a = this.toArray(); // year,month,date,hours,minutes,seconds,ms as an array
+ var wasAmbigZone = this._ambigZone;
+
+ oldMomentProto.local.apply(this, arguments);
+
+ // ensure non-ambiguous
+ // this probably already happened via local() -> utcOffset(), but don't rely on Moment's internals
+ this._ambigTime = false;
+ this._ambigZone = false;
+
+ if (wasAmbigZone) {
+ // If the moment was ambiguously zoned, the date fields were stored as UTC.
+ // We want to preserve these, but in local time.
+ // TODO: look into Moment's keepLocalTime functionality
+ setLocalValues(this, a);
+ }
+
+ return this; // for chaining
+};
+
+
+// implicitly marks a zone
+newMomentProto.utc = function() {
+ oldMomentProto.utc.apply(this, arguments);
+
+ // ensure non-ambiguous
+ // this probably already happened via utc() -> utcOffset(), but don't rely on Moment's internals
+ this._ambigTime = false;
+ this._ambigZone = false;
+
+ return this;
+};
+
+
+// methods for arbitrarily manipulating timezone offset.
+// should clear time/zone ambiguity when called.
+$.each([
+ 'zone', // only in moment-pre-2.9. deprecated afterwards
+ 'utcOffset'
+], function(i, name) {
+ if (oldMomentProto[name]) { // original method exists?
+
+ // this method implicitly marks a zone (will probably get called upon .utc() and .local())
+ newMomentProto[name] = function(tzo) {
+
+ if (tzo != null) { // setter
+ // these assignments needs to happen before the original zone method is called.
+ // I forget why, something to do with a browser crash.
+ this._ambigTime = false;
+ this._ambigZone = false;
+ }
+
+ return oldMomentProto[name].apply(this, arguments);
+ };
+ }
+});
+
+
+// Formatting
+// -------------------------------------------------------------------------------------------------
+
+newMomentProto.format = function() {
+ if (this._fullCalendar && arguments[0]) { // an enhanced moment? and a format string provided?
+ return formatDate(this, arguments[0]); // our extended formatting
+ }
+ if (this._ambigTime) {
+ return oldMomentFormat(this, 'YYYY-MM-DD');
+ }
+ if (this._ambigZone) {
+ return oldMomentFormat(this, 'YYYY-MM-DD[T]HH:mm:ss');
+ }
+ return oldMomentProto.format.apply(this, arguments);
+};
+
+newMomentProto.toISOString = function() {
+ if (this._ambigTime) {
+ return oldMomentFormat(this, 'YYYY-MM-DD');
+ }
+ if (this._ambigZone) {
+ return oldMomentFormat(this, 'YYYY-MM-DD[T]HH:mm:ss');
+ }
+ return oldMomentProto.toISOString.apply(this, arguments);
+};
+
+
+// Querying
+// -------------------------------------------------------------------------------------------------
+
+// Is the moment within the specified range? `end` is exclusive.
+// FYI, this method is not a standard Moment method, so always do our enhanced logic.
+newMomentProto.isWithin = function(start, end) {
+ var a = commonlyAmbiguate([ this, start, end ]);
+ return a[0] >= a[1] && a[0] < a[2];
+};
+
+// When isSame is called with units, timezone ambiguity is normalized before the comparison happens.
+// If no units specified, the two moments must be identically the same, with matching ambig flags.
+newMomentProto.isSame = function(input, units) {
+ var a;
+
+ // only do custom logic if this is an enhanced moment
+ if (!this._fullCalendar) {
+ return oldMomentProto.isSame.apply(this, arguments);
+ }
+
+ if (units) {
+ a = commonlyAmbiguate([ this, input ], true); // normalize timezones but don't erase times
+ return oldMomentProto.isSame.call(a[0], a[1], units);
+ }
+ else {
+ input = FC.moment.parseZone(input); // normalize input
+ return oldMomentProto.isSame.call(this, input) &&
+ Boolean(this._ambigTime) === Boolean(input._ambigTime) &&
+ Boolean(this._ambigZone) === Boolean(input._ambigZone);
+ }
+};
+
+// Make these query methods work with ambiguous moments
+$.each([
+ 'isBefore',
+ 'isAfter'
+], function(i, methodName) {
+ newMomentProto[methodName] = function(input, units) {
+ var a;
+
+ // only do custom logic if this is an enhanced moment
+ if (!this._fullCalendar) {
+ return oldMomentProto[methodName].apply(this, arguments);
+ }
+
+ a = commonlyAmbiguate([ this, input ]);
+ return oldMomentProto[methodName].call(a[0], a[1], units);
+ };
+});
+
+
+// Misc Internals
+// -------------------------------------------------------------------------------------------------
+
+// given an array of moment-like inputs, return a parallel array w/ moments similarly ambiguated.
+// for example, of one moment has ambig time, but not others, all moments will have their time stripped.
+// set `preserveTime` to `true` to keep times, but only normalize zone ambiguity.
+// returns the original moments if no modifications are necessary.
+function commonlyAmbiguate(inputs, preserveTime) {
+ var anyAmbigTime = false;
+ var anyAmbigZone = false;
+ var len = inputs.length;
+ var moms = [];
+ var i, mom;
+
+ // parse inputs into real moments and query their ambig flags
+ for (i = 0; i < len; i++) {
+ mom = inputs[i];
+ if (!moment.isMoment(mom)) {
+ mom = FC.moment.parseZone(mom);
+ }
+ anyAmbigTime = anyAmbigTime || mom._ambigTime;
+ anyAmbigZone = anyAmbigZone || mom._ambigZone;
+ moms.push(mom);
+ }
+
+ // strip each moment down to lowest common ambiguity
+ // use clones to avoid modifying the original moments
+ for (i = 0; i < len; i++) {
+ mom = moms[i];
+ if (!preserveTime && anyAmbigTime && !mom._ambigTime) {
+ moms[i] = mom.clone().stripTime();
+ }
+ else if (anyAmbigZone && !mom._ambigZone) {
+ moms[i] = mom.clone().stripZone();
+ }
+ }
+
+ return moms;
+}
+
+// Transfers all the flags related to ambiguous time/zone from the `src` moment to the `dest` moment
+// TODO: look into moment.momentProperties for this.
+function transferAmbigs(src, dest) {
+ if (src._ambigTime) {
+ dest._ambigTime = true;
+ }
+ else if (dest._ambigTime) {
+ dest._ambigTime = false;
+ }
+
+ if (src._ambigZone) {
+ dest._ambigZone = true;
+ }
+ else if (dest._ambigZone) {
+ dest._ambigZone = false;
+ }
+}
+
+
+// Sets the year/month/date/etc values of the moment from the given array.
+// Inefficient because it calls each individual setter.
+function setMomentValues(mom, a) {
+ mom.year(a[0] || 0)
+ .month(a[1] || 0)
+ .date(a[2] || 0)
+ .hours(a[3] || 0)
+ .minutes(a[4] || 0)
+ .seconds(a[5] || 0)
+ .milliseconds(a[6] || 0);
+}
+
+// Can we set the moment's internal date directly?
+allowValueOptimization = '_d' in moment() && 'updateOffset' in moment;
+
+// Utility function. Accepts a moment and an array of the UTC year/month/date/etc values to set.
+// Assumes the given moment is already in UTC mode.
+setUTCValues = allowValueOptimization ? function(mom, a) {
+ // simlate what moment's accessors do
+ mom._d.setTime(Date.UTC.apply(Date, a));
+ moment.updateOffset(mom, false); // keepTime=false
+} : setMomentValues;
+
+// Utility function. Accepts a moment and an array of the local year/month/date/etc values to set.
+// Assumes the given moment is already in local mode.
+setLocalValues = allowValueOptimization ? function(mom, a) {
+ // simlate what moment's accessors do
+ mom._d.setTime(+new Date( // FYI, there is now way to apply an array of args to a constructor
+ a[0] || 0,
+ a[1] || 0,
+ a[2] || 0,
+ a[3] || 0,
+ a[4] || 0,
+ a[5] || 0,
+ a[6] || 0
+ ));
+ moment.updateOffset(mom, false); // keepTime=false
+} : setMomentValues;
+
+;;
+
+// Single Date Formatting
+// -------------------------------------------------------------------------------------------------
+
+
+// call this if you want Moment's original format method to be used
+function oldMomentFormat(mom, formatStr) {
+ return oldMomentProto.format.call(mom, formatStr); // oldMomentProto defined in moment-ext.js
+}
+
+
+// Formats `date` with a Moment formatting string, but allow our non-zero areas and
+// additional token.
+function formatDate(date, formatStr) {
+ return formatDateWithChunks(date, getFormatStringChunks(formatStr));
+}
+
+
+function formatDateWithChunks(date, chunks) {
+ var s = '';
+ var i;
+
+ for (i=0; i<chunks.length; i++) {
+ s += formatDateWithChunk(date, chunks[i]);
+ }
+
+ return s;
+}
+
+
+// addition formatting tokens we want recognized
+var tokenOverrides = {
+ t: function(date) { // "a" or "p"
+ return oldMomentFormat(date, 'a').charAt(0);
+ },
+ T: function(date) { // "A" or "P"
+ return oldMomentFormat(date, 'A').charAt(0);
+ }
+};
+
+
+function formatDateWithChunk(date, chunk) {
+ var token;
+ var maybeStr;
+
+ if (typeof chunk === 'string') { // a literal string
+ return chunk;
+ }
+ else if ((token = chunk.token)) { // a token, like "YYYY"
+ if (tokenOverrides[token]) {
+ return tokenOverrides[token](date); // use our custom token
+ }
+ return oldMomentFormat(date, token);
+ }
+ else if (chunk.maybe) { // a grouping of other chunks that must be non-zero
+ maybeStr = formatDateWithChunks(date, chunk.maybe);
+ if (maybeStr.match(/[1-9]/)) {
+ return maybeStr;
+ }
+ }
+
+ return '';
+}
+
+
+// Date Range Formatting
+// -------------------------------------------------------------------------------------------------
+// TODO: make it work with timezone offset
+
+// Using a formatting string meant for a single date, generate a range string, like
+// "Sep 2 - 9 2013", that intelligently inserts a separator where the dates differ.
+// If the dates are the same as far as the format string is concerned, just return a single
+// rendering of one date, without any separator.
+function formatRange(date1, date2, formatStr, separator, isRTL) {
+ var localeData;
+
+ date1 = FC.moment.parseZone(date1);
+ date2 = FC.moment.parseZone(date2);
+
+ localeData = (date1.localeData || date1.lang).call(date1); // works with moment-pre-2.8
+
+ // Expand localized format strings, like "LL" -> "MMMM D YYYY"
+ formatStr = localeData.longDateFormat(formatStr) || formatStr;
+ // BTW, this is not important for `formatDate` because it is impossible to put custom tokens
+ // or non-zero areas in Moment's localized format strings.
+
+ separator = separator || ' - ';
+
+ return formatRangeWithChunks(
+ date1,
+ date2,
+ getFormatStringChunks(formatStr),
+ separator,
+ isRTL
+ );
+}
+FC.formatRange = formatRange; // expose
+
+
+function formatRangeWithChunks(date1, date2, chunks, separator, isRTL) {
+ var chunkStr; // the rendering of the chunk
+ var leftI;
+ var leftStr = '';
+ var rightI;
+ var rightStr = '';
+ var middleI;
+ var middleStr1 = '';
+ var middleStr2 = '';
+ var middleStr = '';
+
+ // Start at the leftmost side of the formatting string and continue until you hit a token
+ // that is not the same between dates.
+ for (leftI=0; leftI<chunks.length; leftI++) {
+ chunkStr = formatSimilarChunk(date1, date2, chunks[leftI]);
+ if (chunkStr === false) {
+ break;
+ }
+ leftStr += chunkStr;
+ }
+
+ // Similarly, start at the rightmost side of the formatting string and move left
+ for (rightI=chunks.length-1; rightI>leftI; rightI--) {
+ chunkStr = formatSimilarChunk(date1, date2, chunks[rightI]);
+ if (chunkStr === false) {
+ break;
+ }
+ rightStr = chunkStr + rightStr;
+ }
+
+ // The area in the middle is different for both of the dates.
+ // Collect them distinctly so we can jam them together later.
+ for (middleI=leftI; middleI<=rightI; middleI++) {
+ middleStr1 += formatDateWithChunk(date1, chunks[middleI]);
+ middleStr2 += formatDateWithChunk(date2, chunks[middleI]);
+ }
+
+ if (middleStr1 || middleStr2) {
+ if (isRTL) {
+ middleStr = middleStr2 + separator + middleStr1;
+ }
+ else {
+ middleStr = middleStr1 + separator + middleStr2;
+ }
+ }
+
+ return leftStr + middleStr + rightStr;
+}
+
+
+var similarUnitMap = {
+ Y: 'year',
+ M: 'month',
+ D: 'day', // day of month
+ d: 'day', // day of week
+ // prevents a separator between anything time-related...
+ A: 'second', // AM/PM
+ a: 'second', // am/pm
+ T: 'second', // A/P
+ t: 'second', // a/p
+ H: 'second', // hour (24)
+ h: 'second', // hour (12)
+ m: 'second', // minute
+ s: 'second' // second
+};
+// TODO: week maybe?
+
+
+// Given a formatting chunk, and given that both dates are similar in the regard the
+// formatting chunk is concerned, format date1 against `chunk`. Otherwise, return `false`.
+function formatSimilarChunk(date1, date2, chunk) {
+ var token;
+ var unit;
+
+ if (typeof chunk === 'string') { // a literal string
+ return chunk;
+ }
+ else if ((token = chunk.token)) {
+ unit = similarUnitMap[token.charAt(0)];
+ // are the dates the same for this unit of measurement?
+ if (unit && date1.isSame(date2, unit)) {
+ return oldMomentFormat(date1, token); // would be the same if we used `date2`
+ // BTW, don't support custom tokens
+ }
+ }
+
+ return false; // the chunk is NOT the same for the two dates
+ // BTW, don't support splitting on non-zero areas
+}
+
+
+// Chunking Utils
+// -------------------------------------------------------------------------------------------------
+
+
+var formatStringChunkCache = {};
+
+
+function getFormatStringChunks(formatStr) {
+ if (formatStr in formatStringChunkCache) {
+ return formatStringChunkCache[formatStr];
+ }
+ return (formatStringChunkCache[formatStr] = chunkFormatString(formatStr));
+}
+
+
+// Break the formatting string into an array of chunks
+function chunkFormatString(formatStr) {
+ var chunks = [];
+ var chunker = /\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g; // TODO: more descrimination
+ var match;
+
+ while ((match = chunker.exec(formatStr))) {
+ if (match[1]) { // a literal string inside [ ... ]
+ chunks.push(match[1]);
+ }
+ else if (match[2]) { // non-zero formatting inside ( ... )
+ chunks.push({ maybe: chunkFormatString(match[2]) });
+ }
+ else if (match[3]) { // a formatting token
+ chunks.push({ token: match[3] });
+ }
+ else if (match[5]) { // an unenclosed literal string
+ chunks.push(match[5]);
+ }
+ }
+
+ return chunks;
+}
+
+;;
+
+FC.Class = Class; // export
+
+// Class that all other classes will inherit from
+function Class() { }
+
+
+// Called on a class to create a subclass.
+// Last argument contains instance methods. Any argument before the last are considered mixins.
+Class.extend = function() {
+ var len = arguments.length;
+ var i;
+ var members;
+
+ for (i = 0; i < len; i++) {
+ members = arguments[i];
+ if (i < len - 1) { // not the last argument?
+ mixIntoClass(this, members);
+ }
+ }
+
+ return extendClass(this, members || {}); // members will be undefined if no arguments
+};
+
+
+// Adds new member variables/methods to the class's prototype.
+// Can be called with another class, or a plain object hash containing new members.
+Class.mixin = function(members) {
+ mixIntoClass(this, members);
+};
+
+
+function extendClass(superClass, members) {
+ var subClass;
+
+ // ensure a constructor for the subclass, forwarding all arguments to the super-constructor if it doesn't exist
+ if (hasOwnProp(members, 'constructor')) {
+ subClass = members.constructor;
+ }
+ if (typeof subClass !== 'function') {
+ subClass = members.constructor = function() {
+ superClass.apply(this, arguments);
+ };
+ }
+
+ // build the base prototype for the subclass, which is an new object chained to the superclass's prototype
+ subClass.prototype = createObject(superClass.prototype);
+
+ // copy each member variable/method onto the the subclass's prototype
+ copyOwnProps(members, subClass.prototype);
+ copyNativeMethods(members, subClass.prototype); // hack for IE8
+
+ // copy over all class variables/methods to the subclass, such as `extend` and `mixin`
+ copyOwnProps(superClass, subClass);
+
+ return subClass;
+}
+
+
+function mixIntoClass(theClass, members) {
+ copyOwnProps(members.prototype || members, theClass.prototype); // TODO: copyNativeMethods?
+}
+;;
+
+var Emitter = FC.Emitter = Class.extend({
+
+ callbackHash: null,
+
+
+ on: function(name, callback) {
+ this.getCallbacks(name).add(callback);
+ return this; // for chaining
+ },
+
+
+ off: function(name, callback) {
+ this.getCallbacks(name).remove(callback);
+ return this; // for chaining
+ },
+
+
+ trigger: function(name) { // args...
+ var args = Array.prototype.slice.call(arguments, 1);
+
+ this.triggerWith(name, this, args);
+
+ return this; // for chaining
+ },
+
+
+ triggerWith: function(name, context, args) {
+ var callbacks = this.getCallbacks(name);
+
+ callbacks.fireWith(context, args);
+
+ return this; // for chaining
+ },
+
+
+ getCallbacks: function(name) {
+ var callbacks;
+
+ if (!this.callbackHash) {
+ this.callbackHash = {};
+ }
+
+ callbacks = this.callbackHash[name];
+ if (!callbacks) {
+ callbacks = this.callbackHash[name] = $.Callbacks();
+ }
+
+ return callbacks;
+ }
+
+});
+;;
+
+/* A rectangular panel that is absolutely positioned over other content
+------------------------------------------------------------------------------------------------------------------------
+Options:
+ - className (string)
+ - content (HTML string or jQuery element set)
+ - parentEl
+ - top
+ - left
+ - right (the x coord of where the right edge should be. not a "CSS" right)
+ - autoHide (boolean)
+ - show (callback)
+ - hide (callback)
+*/
+
+var Popover = Class.extend({
+
+ isHidden: true,
+ options: null,
+ el: null, // the container element for the popover. generated by this object
+ documentMousedownProxy: null, // document mousedown handler bound to `this`
+ margin: 10, // the space required between the popover and the edges of the scroll container
+
+
+ constructor: function(options) {
+ this.options = options || {};
+ },
+
+
+ // Shows the popover on the specified position. Renders it if not already
+ show: function() {
+ if (this.isHidden) {
+ if (!this.el) {
+ this.render();
+ }
+ this.el.show();
+ this.position();
+ this.isHidden = false;
+ this.trigger('show');
+ }
+ },
+
+
+ // Hides the popover, through CSS, but does not remove it from the DOM
+ hide: function() {
+ if (!this.isHidden) {
+ this.el.hide();
+ this.isHidden = true;
+ this.trigger('hide');
+ }
+ },
+
+
+ // Creates `this.el` and renders content inside of it
+ render: function() {
+ var _this = this;
+ var options = this.options;
+
+ this.el = $('<div class="fc-popover"/>')
+ .addClass(options.className || '')
+ .css({
+ // position initially to the top left to avoid creating scrollbars
+ top: 0,
+ left: 0
+ })
+ .append(options.content)
+ .appendTo(options.parentEl);
+
+ // when a click happens on anything inside with a 'fc-close' className, hide the popover
+ this.el.on('click', '.fc-close', function() {
+ _this.hide();
+ });
+
+ if (options.autoHide) {
+ $(document).on('mousedown', this.documentMousedownProxy = proxy(this, 'documentMousedown'));
+ }
+ },
+
+
+ // Triggered when the user clicks *anywhere* in the document, for the autoHide feature
+ documentMousedown: function(ev) {
+ // only hide the popover if the click happened outside the popover
+ if (this.el && !$(ev.target).closest(this.el).length) {
+ this.hide();
+ }
+ },
+
+
+ // Hides and unregisters any handlers
+ removeElement: function() {
+ this.hide();
+
+ if (this.el) {
+ this.el.remove();
+ this.el = null;
+ }
+
+ $(document).off('mousedown', this.documentMousedownProxy);
+ },
+
+
+ // Positions the popover optimally, using the top/left/right options
+ position: function() {
+ var options = this.options;
+ var origin = this.el.offsetParent().offset();
+ var width = this.el.outerWidth();
+ var height = this.el.outerHeight();
+ var windowEl = $(window);
+ var viewportEl = getScrollParent(this.el);
+ var viewportTop;
+ var viewportLeft;
+ var viewportOffset;
+ var top; // the "position" (not "offset") values for the popover
+ var left; //
+
+ // compute top and left
+ top = options.top || 0;
+ if (options.left !== undefined) {
+ left = options.left;
+ }
+ else if (options.right !== undefined) {
+ left = options.right - width; // derive the left value from the right value
+ }
+ else {
+ left = 0;
+ }
+
+ if (viewportEl.is(window) || viewportEl.is(document)) { // normalize getScrollParent's result
+ viewportEl = windowEl;
+ viewportTop = 0; // the window is always at the top left
+ viewportLeft = 0; // (and .offset() won't work if called here)
+ }
+ else {
+ viewportOffset = viewportEl.offset();
+ viewportTop = viewportOffset.top;
+ viewportLeft = viewportOffset.left;
+ }
+
+ // if the window is scrolled, it causes the visible area to be further down
+ viewportTop += windowEl.scrollTop();
+ viewportLeft += windowEl.scrollLeft();
+
+ // constrain to the view port. if constrained by two edges, give precedence to top/left
+ if (options.viewportConstrain !== false) {
+ top = Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin);
+ top = Math.max(top, viewportTop + this.margin);
+ left = Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin);
+ left = Math.max(left, viewportLeft + this.margin);
+ }
+
+ this.el.css({
+ top: top - origin.top,
+ left: left - origin.left
+ });
+ },
+
+
+ // Triggers a callback. Calls a function in the option hash of the same name.
+ // Arguments beyond the first `name` are forwarded on.
+ // TODO: better code reuse for this. Repeat code
+ trigger: function(name) {
+ if (this.options[name]) {
+ this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));
+ }
+ }
+
+});
+
+;;
+
/*
- * Use fullcalendar.css for basic styling.
- * For event drag & drop, requires jQuery UI draggable.
- * For event resizing, requires jQuery UI resizable.
- */
-
-(function($, undefined) {
+A cache for the left/right/top/bottom/width/height values for one or more elements.
+Works with both offset (from topleft document) and position (from offsetParent).
+
+options:
+- els
+- isHorizontal
+- isVertical
+*/
+var CoordCache = FC.CoordCache = Class.extend({
+
+ els: null, // jQuery set (assumed to be siblings)
+ origin: null, // {left,top} position of offsetParent of els
+ boundingRect: null, // constrain cordinates to this rectangle. {left,right,top,bottom} or null
+ isHorizontal: false, // whether to query for left/right/width
+ isVertical: false, // whether to query for top/bottom/height
+
+ // arrays of coordinates (offsets from topleft of document)
+ lefts: null,
+ rights: null,
+ tops: null,
+ bottoms: null,
+
+
+ constructor: function(options) {
+ this.els = $(options.els);
+ this.isHorizontal = options.isHorizontal;
+ this.isVertical = options.isVertical;
+ },
+
+
+ // Queries the els for coordinates and stores them.
+ // Call this method before using and of the get* methods below.
+ build: function() {
+ this.origin = this.els.eq(0).offsetParent().offset();
+ this.boundingRect = this.queryBoundingRect();
+
+ if (this.isHorizontal) {
+ this.buildElHorizontals();
+ }
+ if (this.isVertical) {
+ this.buildElVerticals();
+ }
+ },
+
+
+ // Destroys all internal data about coordinates, freeing memory
+ clear: function() {
+ this.origin = null;
+ this.boundingRect = null;
+ this.lefts = null;
+ this.rights = null;
+ this.tops = null;
+ this.bottoms = null;
+ },
+
+
+ // Compute and return what the elements' bounding rectangle is, from the user's perspective.
+ // Right now, only returns a rectangle if constrained by an overflow:scroll element.
+ queryBoundingRect: function() {
+ var scrollParentEl = getScrollParent(this.els.eq(0));
+
+ if (!scrollParentEl.is(document)) {
+ return getClientRect(scrollParentEl);
+ }
+ },
+
+
+ // Populates the left/right internal coordinate arrays
+ buildElHorizontals: function() {
+ var lefts = [];
+ var rights = [];
+
+ this.els.each(function(i, node) {
+ var el = $(node);
+ var left = el.offset().left;
+ var width = el.outerWidth();
+
+ lefts.push(left);
+ rights.push(left + width);
+ });
+
+ this.lefts = lefts;
+ this.rights = rights;
+ },
+
+
+ // Populates the top/bottom internal coordinate arrays
+ buildElVerticals: function() {
+ var tops = [];
+ var bottoms = [];
+
+ this.els.each(function(i, node) {
+ var el = $(node);
+ var top = el.offset().top;
+ var height = el.outerHeight();
+
+ tops.push(top);
+ bottoms.push(top + height);
+ });
+
+ this.tops = tops;
+ this.bottoms = bottoms;
+ },
+
+
+ // Given a left offset (from document left), returns the index of the el that it horizontally intersects.
+ // If no intersection is made, or outside of the boundingRect, returns undefined.
+ getHorizontalIndex: function(leftOffset) {
+ var boundingRect = this.boundingRect;
+ var lefts = this.lefts;
+ var rights = this.rights;
+ var len = lefts.length;
+ var i;
+
+ if (!boundingRect || (leftOffset >= boundingRect.left && leftOffset < boundingRect.right)) {
+ for (i = 0; i < len; i++) {
+ if (leftOffset >= lefts[i] && leftOffset < rights[i]) {
+ return i;
+ }
+ }
+ }
+ },
+
+
+ // Given a top offset (from document top), returns the index of the el that it vertically intersects.
+ // If no intersection is made, or outside of the boundingRect, returns undefined.
+ getVerticalIndex: function(topOffset) {
+ var boundingRect = this.boundingRect;
+ var tops = this.tops;
+ var bottoms = this.bottoms;
+ var len = tops.length;
+ var i;
+
+ if (!boundingRect || (topOffset >= boundingRect.top && topOffset < boundingRect.bottom)) {
+ for (i = 0; i < len; i++) {
+ if (topOffset >= tops[i] && topOffset < bottoms[i]) {
+ return i;
+ }
+ }
+ }
+ },
+
+
+ // Gets the left offset (from document left) of the element at the given index
+ getLeftOffset: function(leftIndex) {
+ return this.lefts[leftIndex];
+ },
+ // Gets the left position (from offsetParent left) of the element at the given index
+ getLeftPosition: function(leftIndex) {
+ return this.lefts[leftIndex] - this.origin.left;
+ },
+
+
+ // Gets the right offset (from document left) of the element at the given index.
+ // This value is NOT relative to the document's right edge, like the CSS concept of "right" would be.
+ getRightOffset: function(leftIndex) {
+ return this.rights[leftIndex];
+ },
+
+
+ // Gets the right position (from offsetParent left) of the element at the given index.
+ // This value is NOT relative to the offsetParent's right edge, like the CSS concept of "right" would be.
+ getRightPosition: function(leftIndex) {
+ return this.rights[leftIndex] - this.origin.left;
+ },
+
+
+ // Gets the width of the element at the given index
+ getWidth: function(leftIndex) {
+ return this.rights[leftIndex] - this.lefts[leftIndex];
+ },
+
+
+ // Gets the top offset (from document top) of the element at the given index
+ getTopOffset: function(topIndex) {
+ return this.tops[topIndex];
+ },
+
+
+ // Gets the top position (from offsetParent top) of the element at the given position
+ getTopPosition: function(topIndex) {
+ return this.tops[topIndex] - this.origin.top;
+ },
+
+ // Gets the bottom offset (from the document top) of the element at the given index.
+ // This value is NOT relative to the offsetParent's bottom edge, like the CSS concept of "bottom" would be.
+ getBottomOffset: function(topIndex) {
+ return this.bottoms[topIndex];
+ },
+
+
+ // Gets the bottom position (from the offsetParent top) of the element at the given index.
+ // This value is NOT relative to the offsetParent's bottom edge, like the CSS concept of "bottom" would be.
+ getBottomPosition: function(topIndex) {
+ return this.bottoms[topIndex] - this.origin.top;
+ },
+
+
+ // Gets the height of the element at the given index
+ getHeight: function(topIndex) {
+ return this.bottoms[topIndex] - this.tops[topIndex];
+ }
+
+});
+
;;
-var defaults = {
+/* Tracks a drag's mouse movement, firing various handlers
+----------------------------------------------------------------------------------------------------------------------*/
+// TODO: use Emitter
- // display
- defaultView: 'month',
- aspectRatio: 1.35,
- header: {
- left: 'title',
- center: '',
- right: 'today prev,next'
+var DragListener = FC.DragListener = Class.extend({
+
+ options: null,
+
+ isListening: false,
+ isDragging: false,
+
+ // coordinates of the initial mousedown
+ originX: null,
+ originY: null,
+
+ // handler attached to the document, bound to the DragListener's `this`
+ mousemoveProxy: null,
+ mouseupProxy: null,
+
+ // for IE8 bug-fighting behavior, for now
+ subjectEl: null, // the element being draged. optional
+ subjectHref: null,
+
+ scrollEl: null,
+ scrollBounds: null, // { top, bottom, left, right }
+ scrollTopVel: null, // pixels per second
+ scrollLeftVel: null, // pixels per second
+ scrollIntervalId: null, // ID of setTimeout for scrolling animation loop
+ scrollHandlerProxy: null, // this-scoped function for handling when scrollEl is scrolled
+
+ scrollSensitivity: 30, // pixels from edge for scrolling to start
+ scrollSpeed: 200, // pixels per second, at maximum speed
+ scrollIntervalMs: 50, // millisecond wait between scroll increment
+
+
+ constructor: function(options) {
+ options = options || {};
+ this.options = options;
+ this.subjectEl = options.subjectEl;
},
- weekends: true,
- weekNumbers: false,
- weekNumberCalculation: 'iso',
- weekNumberTitle: 'W',
-
- // editing
- //editable: false,
- //disableDragging: false,
- //disableResizing: false,
-
- allDayDefault: true,
- ignoreTimezone: true,
-
- // event ajax
- lazyFetching: true,
- startParam: 'start',
- endParam: 'end',
-
- // time formats
- titleFormat: {
- month: 'MMMM yyyy',
- week: "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
- day: 'dddd, MMM d, yyyy'
+
+
+ // Call this when the user does a mousedown. Will probably lead to startListening
+ mousedown: function(ev) {
+ if (isPrimaryMouseButton(ev)) {
+
+ ev.preventDefault(); // prevents native selection in most browsers
+
+ this.startListening(ev);
+
+ // start the drag immediately if there is no minimum distance for a drag start
+ if (!this.options.distance) {
+ this.startDrag(ev);
+ }
+ }
},
- columnFormat: {
- month: 'ddd',
- week: 'ddd M/d',
- day: 'dddd M/d'
+
+
+ // Call this to start tracking mouse movements
+ startListening: function(ev) {
+ var scrollParent;
+
+ if (!this.isListening) {
+
+ // grab scroll container and attach handler
+ if (ev && this.options.scroll) {
+ scrollParent = getScrollParent($(ev.target));
+ if (!scrollParent.is(window) && !scrollParent.is(document)) {
+ this.scrollEl = scrollParent;
+
+ // scope to `this`, and use `debounce` to make sure rapid calls don't happen
+ this.scrollHandlerProxy = debounce(proxy(this, 'scrollHandler'), 100);
+ this.scrollEl.on('scroll', this.scrollHandlerProxy);
+ }
+ }
+
+ $(document)
+ .on('mousemove', this.mousemoveProxy = proxy(this, 'mousemove'))
+ .on('mouseup', this.mouseupProxy = proxy(this, 'mouseup'))
+ .on('selectstart', this.preventDefault); // prevents native selection in IE<=8
+
+ if (ev) {
+ this.originX = ev.pageX;
+ this.originY = ev.pageY;
+ }
+ else {
+ // if no starting information was given, origin will be the topleft corner of the screen.
+ // if so, dx/dy in the future will be the absolute coordinates.
+ this.originX = 0;
+ this.originY = 0;
+ }
+
+ this.isListening = true;
+ this.listenStart(ev);
+ }
},
- timeFormat: { // for event elements
- '': 'h(:mm)t' // default
+
+
+ // Called when drag listening has started (but a real drag has not necessarily began)
+ listenStart: function(ev) {
+ this.trigger('listenStart', ev);
},
-
- // locale
- 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: "<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'
+
+
+ // Called when the user moves the mouse
+ mousemove: function(ev) {
+ var dx = ev.pageX - this.originX;
+ var dy = ev.pageY - this.originY;
+ var minDistance;
+ var distanceSq; // current distance from the origin, squared
+
+ if (!this.isDragging) { // if not already dragging...
+ // then start the drag if the minimum distance criteria is met
+ minDistance = this.options.distance || 1;
+ distanceSq = dx * dx + dy * dy;
+ if (distanceSq >= minDistance * minDistance) { // use pythagorean theorem
+ this.startDrag(ev);
+ }
+ }
+
+ if (this.isDragging) {
+ this.drag(dx, dy, ev); // report a drag, even if this mousemove initiated the drag
+ }
},
-
- // jquery-ui theming
- theme: false,
- buttonIcons: {
- prev: 'circle-triangle-w',
- next: 'circle-triangle-e'
+
+
+ // Call this to initiate a legitimate drag.
+ // This function is called internally from this class, but can also be called explicitly from outside
+ startDrag: function(ev) {
+
+ if (!this.isListening) { // startDrag must have manually initiated
+ this.startListening();
+ }
+
+ if (!this.isDragging) {
+ this.isDragging = true;
+ this.dragStart(ev);
+ }
},
-
- //selectable: false,
- unselectAuto: true,
-
- dropAccept: '*'
-
-};
-// right-to-left defaults
-var rtlDefaults = {
- header: {
- left: 'next,prev today',
- center: '',
- right: 'title'
+
+ // Called when the actual drag has started (went beyond minDistance)
+ dragStart: function(ev) {
+ var subjectEl = this.subjectEl;
+
+ this.trigger('dragStart', ev);
+
+ // remove a mousedown'd <a>'s href so it is not visited (IE8 bug)
+ if ((this.subjectHref = subjectEl ? subjectEl.attr('href') : null)) {
+ subjectEl.removeAttr('href');
+ }
},
- 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>"
+
+
+ // Called while the mouse is being moved and when we know a legitimate drag is taking place
+ drag: function(dx, dy, ev) {
+ this.trigger('drag', dx, dy, ev);
+ this.updateScroll(ev); // will possibly cause scrolling
},
- buttonIcons: {
- prev: 'circle-triangle-e',
- next: 'circle-triangle-w'
+
+
+ // Called when the user does a mouseup
+ mouseup: function(ev) {
+ this.stopListening(ev);
+ },
+
+
+ // Called when the drag is over. Will not cause listening to stop however.
+ // A concluding 'cellOut' event will NOT be triggered.
+ stopDrag: function(ev) {
+ if (this.isDragging) {
+ this.stopScrolling();
+ this.dragStop(ev);
+ this.isDragging = false;
+ }
+ },
+
+
+ // Called when dragging has been stopped
+ dragStop: function(ev) {
+ var _this = this;
+
+ this.trigger('dragStop', ev);
+
+ // restore a mousedown'd <a>'s href (for IE8 bug)
+ setTimeout(function() { // must be outside of the click's execution
+ if (_this.subjectHref) {
+ _this.subjectEl.attr('href', _this.subjectHref);
+ }
+ }, 0);
+ },
+
+
+ // Call this to stop listening to the user's mouse events
+ stopListening: function(ev) {
+ this.stopDrag(ev); // if there's a current drag, kill it
+
+ if (this.isListening) {
+
+ // remove the scroll handler if there is a scrollEl
+ if (this.scrollEl) {
+ this.scrollEl.off('scroll', this.scrollHandlerProxy);
+ this.scrollHandlerProxy = null;
+ }
+
+ $(document)
+ .off('mousemove', this.mousemoveProxy)
+ .off('mouseup', this.mouseupProxy)
+ .off('selectstart', this.preventDefault);
+
+ this.mousemoveProxy = null;
+ this.mouseupProxy = null;
+
+ this.isListening = false;
+ this.listenStop(ev);
+ }
+ },
+
+
+ // Called when drag listening has stopped
+ listenStop: function(ev) {
+ this.trigger('listenStop', ev);
+ },
+
+
+ // Triggers a callback. Calls a function in the option hash of the same name.
+ // Arguments beyond the first `name` are forwarded on.
+ trigger: function(name) {
+ if (this.options[name]) {
+ this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));
+ }
+ },
+
+
+ // Stops a given mouse event from doing it's native browser action. In our case, text selection.
+ preventDefault: function(ev) {
+ ev.preventDefault();
+ },
+
+
+ /* Scrolling
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Computes and stores the bounding rectangle of scrollEl
+ computeScrollBounds: function() {
+ var el = this.scrollEl;
+
+ this.scrollBounds = el ? getOuterRect(el) : null;
+ // TODO: use getClientRect in future. but prevents auto scrolling when on top of scrollbars
+ },
+
+
+ // Called when the dragging is in progress and scrolling should be updated
+ updateScroll: function(ev) {
+ var sensitivity = this.scrollSensitivity;
+ var bounds = this.scrollBounds;
+ var topCloseness, bottomCloseness;
+ var leftCloseness, rightCloseness;
+ var topVel = 0;
+ var leftVel = 0;
+
+ if (bounds) { // only scroll if scrollEl exists
+
+ // compute closeness to edges. valid range is from 0.0 - 1.0
+ topCloseness = (sensitivity - (ev.pageY - bounds.top)) / sensitivity;
+ bottomCloseness = (sensitivity - (bounds.bottom - ev.pageY)) / sensitivity;
+ leftCloseness = (sensitivity - (ev.pageX - bounds.left)) / sensitivity;
+ rightCloseness = (sensitivity - (bounds.right - ev.pageX)) / sensitivity;
+
+ // translate vertical closeness into velocity.
+ // mouse must be completely in bounds for velocity to happen.
+ if (topCloseness >= 0 && topCloseness <= 1) {
+ topVel = topCloseness * this.scrollSpeed * -1; // negative. for scrolling up
+ }
+ else if (bottomCloseness >= 0 && bottomCloseness <= 1) {
+ topVel = bottomCloseness * this.scrollSpeed;
+ }
+
+ // translate horizontal closeness into velocity
+ if (leftCloseness >= 0 && leftCloseness <= 1) {
+ leftVel = leftCloseness * this.scrollSpeed * -1; // negative. for scrolling left
+ }
+ else if (rightCloseness >= 0 && rightCloseness <= 1) {
+ leftVel = rightCloseness * this.scrollSpeed;
+ }
+ }
+
+ this.setScrollVel(topVel, leftVel);
+ },
+
+
+ // Sets the speed-of-scrolling for the scrollEl
+ setScrollVel: function(topVel, leftVel) {
+
+ this.scrollTopVel = topVel;
+ this.scrollLeftVel = leftVel;
+
+ this.constrainScrollVel(); // massages into realistic values
+
+ // if there is non-zero velocity, and an animation loop hasn't already started, then START
+ if ((this.scrollTopVel || this.scrollLeftVel) && !this.scrollIntervalId) {
+ this.scrollIntervalId = setInterval(
+ proxy(this, 'scrollIntervalFunc'), // scope to `this`
+ this.scrollIntervalMs
+ );
+ }
+ },
+
+
+ // Forces scrollTopVel and scrollLeftVel to be zero if scrolling has already gone all the way
+ constrainScrollVel: function() {
+ var el = this.scrollEl;
+
+ if (this.scrollTopVel < 0) { // scrolling up?
+ if (el.scrollTop() <= 0) { // already scrolled all the way up?
+ this.scrollTopVel = 0;
+ }
+ }
+ else if (this.scrollTopVel > 0) { // scrolling down?
+ if (el.scrollTop() + el[0].clientHeight >= el[0].scrollHeight) { // already scrolled all the way down?
+ this.scrollTopVel = 0;
+ }
+ }
+
+ if (this.scrollLeftVel < 0) { // scrolling left?
+ if (el.scrollLeft() <= 0) { // already scrolled all the left?
+ this.scrollLeftVel = 0;
+ }
+ }
+ else if (this.scrollLeftVel > 0) { // scrolling right?
+ if (el.scrollLeft() + el[0].clientWidth >= el[0].scrollWidth) { // already scrolled all the way right?
+ this.scrollLeftVel = 0;
+ }
+ }
+ },
+
+
+ // This function gets called during every iteration of the scrolling animation loop
+ scrollIntervalFunc: function() {
+ var el = this.scrollEl;
+ var frac = this.scrollIntervalMs / 1000; // considering animation frequency, what the vel should be mult'd by
+
+ // change the value of scrollEl's scroll
+ if (this.scrollTopVel) {
+ el.scrollTop(el.scrollTop() + this.scrollTopVel * frac);
+ }
+ if (this.scrollLeftVel) {
+ el.scrollLeft(el.scrollLeft() + this.scrollLeftVel * frac);
+ }
+
+ this.constrainScrollVel(); // since the scroll values changed, recompute the velocities
+
+ // if scrolled all the way, which causes the vels to be zero, stop the animation loop
+ if (!this.scrollTopVel && !this.scrollLeftVel) {
+ this.stopScrolling();
+ }
+ },
+
+
+ // Kills any existing scrolling animation loop
+ stopScrolling: function() {
+ if (this.scrollIntervalId) {
+ clearInterval(this.scrollIntervalId);
+ this.scrollIntervalId = null;
+
+ // when all done with scrolling, recompute positions since they probably changed
+ this.scrollStop();
+ }
+ },
+
+
+ // Get called when the scrollEl is scrolled (NOTE: this is delayed via debounce)
+ scrollHandler: function() {
+ // recompute all coordinates, but *only* if this is *not* part of our scrolling animation
+ if (!this.scrollIntervalId) {
+ this.scrollStop();
+ }
+ },
+
+
+ // Called when scrolling has stopped, whether through auto scroll, or the user scrolling
+ scrollStop: function() {
}
-};
+});
+
+;;
+
+/* Tracks mouse movements over a component and raises events about which hit the mouse is over.
+------------------------------------------------------------------------------------------------------------------------
+options:
+- subjectEl
+- subjectCenter
+*/
+
+var HitDragListener = DragListener.extend({
+
+ component: null, // converts coordinates to hits
+ // methods: prepareHits, releaseHits, queryHit
+
+ origHit: null, // the hit the mouse was over when listening started
+ hit: null, // the hit the mouse is over
+ coordAdjust: null, // delta that will be added to the mouse coordinates when computing collisions
+
+
+ constructor: function(component, options) {
+ DragListener.call(this, options); // call the super-constructor
+
+ this.component = component;
+ },
+
+
+ // Called when drag listening starts (but a real drag has not necessarily began).
+ // ev might be undefined if dragging was started manually.
+ listenStart: function(ev) {
+ var subjectEl = this.subjectEl;
+ var subjectRect;
+ var origPoint;
+ var point;
+
+ DragListener.prototype.listenStart.apply(this, arguments); // call the super-method
+
+ this.computeCoords();
+
+ if (ev) {
+ origPoint = { left: ev.pageX, top: ev.pageY };
+ point = origPoint;
+
+ // constrain the point to bounds of the element being dragged
+ if (subjectEl) {
+ subjectRect = getOuterRect(subjectEl); // used for centering as well
+ point = constrainPoint(point, subjectRect);
+ }
+
+ this.origHit = this.queryHit(point.left, point.top);
+
+ // treat the center of the subject as the collision point?
+ if (subjectEl && this.options.subjectCenter) {
+
+ // only consider the area the subject overlaps the hit. best for large subjects.
+ // TODO: skip this if hit didn't supply left/right/top/bottom
+ if (this.origHit) {
+ subjectRect = intersectRects(this.origHit, subjectRect) ||
+ subjectRect; // in case there is no intersection
+ }
+
+ point = getRectCenter(subjectRect);
+ }
+
+ this.coordAdjust = diffPoints(point, origPoint); // point - origPoint
+ }
+ else {
+ this.origHit = null;
+ this.coordAdjust = null;
+ }
+ },
+
+
+ // Recomputes the drag-critical positions of elements
+ computeCoords: function() {
+ this.component.prepareHits();
+ this.computeScrollBounds(); // why is this here???
+ },
+
+
+ // Called when the actual drag has started
+ dragStart: function(ev) {
+ var hit;
+
+ DragListener.prototype.dragStart.apply(this, arguments); // call the super-method
+
+ // might be different from this.origHit if the min-distance is large
+ hit = this.queryHit(ev.pageX, ev.pageY);
+
+ // report the initial hit the mouse is over
+ // especially important if no min-distance and drag starts immediately
+ if (hit) {
+ this.hitOver(hit);
+ }
+ },
+
+
+ // Called when the drag moves
+ drag: function(dx, dy, ev) {
+ var hit;
+
+ DragListener.prototype.drag.apply(this, arguments); // call the super-method
+
+ hit = this.queryHit(ev.pageX, ev.pageY);
+
+ if (!isHitsEqual(hit, this.hit)) { // a different hit than before?
+ if (this.hit) {
+ this.hitOut();
+ }
+ if (hit) {
+ this.hitOver(hit);
+ }
+ }
+ },
+
+
+ // Called when dragging has been stopped
+ dragStop: function() {
+ this.hitDone();
+ DragListener.prototype.dragStop.apply(this, arguments); // call the super-method
+ },
+
+
+ // Called when a the mouse has just moved over a new hit
+ hitOver: function(hit) {
+ var isOrig = isHitsEqual(hit, this.origHit);
+
+ this.hit = hit;
+
+ this.trigger('hitOver', this.hit, isOrig, this.origHit);
+ },
+
+
+ // Called when the mouse has just moved out of a hit
+ hitOut: function() {
+ if (this.hit) {
+ this.trigger('hitOut', this.hit);
+ this.hitDone();
+ this.hit = null;
+ }
+ },
+
+
+ // Called after a hitOut. Also called before a dragStop
+ hitDone: function() {
+ if (this.hit) {
+ this.trigger('hitDone', this.hit);
+ }
+ },
+
+
+ // Called when drag listening has stopped
+ listenStop: function() {
+ DragListener.prototype.listenStop.apply(this, arguments); // call the super-method
+
+ this.origHit = null;
+ this.hit = null;
+
+ this.component.releaseHits();
+ },
+
+
+ // Called when scrolling has stopped, whether through auto scroll, or the user scrolling
+ scrollStop: function() {
+ DragListener.prototype.scrollStop.apply(this, arguments); // call the super-method
+
+ this.computeCoords(); // hits' absolute positions will be in new places. recompute
+ },
+ // Gets the hit underneath the coordinates for the given mouse event
+ queryHit: function(left, top) {
+
+ if (this.coordAdjust) {
+ left += this.coordAdjust.left;
+ top += this.coordAdjust.top;
+ }
+
+ return this.component.queryHit(left, top);
+ }
+
+});
+
+
+// Returns `true` if the hits are identically equal. `false` otherwise. Must be from the same component.
+// Two null values will be considered equal, as two "out of the component" states are the same.
+function isHitsEqual(hit0, hit1) {
+
+ if (!hit0 && !hit1) {
+ return true;
+ }
+
+ if (hit0 && hit1) {
+ return hit0.component === hit1.component &&
+ isHitPropsWithin(hit0, hit1) &&
+ isHitPropsWithin(hit1, hit0); // ensures all props are identical
+ }
+
+ return false;
+}
+
+
+// Returns true if all of subHit's non-standard properties are within superHit
+function isHitPropsWithin(subHit, superHit) {
+ for (var propName in subHit) {
+ if (!/^(component|left|right|top|bottom)$/.test(propName)) {
+ if (subHit[propName] !== superHit[propName]) {
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
;;
-var fc = $.fullCalendar = { version: "1.6.0" };
-var fcViews = fc.views = {};
+/* Creates a clone of an element and lets it track the mouse as it moves
+----------------------------------------------------------------------------------------------------------------------*/
+var MouseFollower = Class.extend({
-$.fn.fullCalendar = function(options) {
+ options: null,
+ sourceEl: null, // the element that will be cloned and made to look like it is dragging
+ el: null, // the clone of `sourceEl` that will track the mouse
+ parentEl: null, // the element that `el` (the clone) will be attached to
- // method calling
- if (typeof options == 'string') {
- var args = Array.prototype.slice.call(arguments, 1);
- var res;
- this.each(function() {
- var calendar = $.data(this, 'fullCalendar');
- if (calendar && $.isFunction(calendar[options])) {
- var r = calendar[options].apply(calendar, args);
- if (res === undefined) {
- res = r;
+ // the initial position of el, relative to the offset parent. made to match the initial offset of sourceEl
+ top0: null,
+ left0: null,
+
+ // the initial position of the mouse
+ mouseY0: null,
+ mouseX0: null,
+
+ // the number of pixels the mouse has moved from its initial position
+ topDelta: null,
+ leftDelta: null,
+
+ mousemoveProxy: null, // document mousemove handler, bound to the MouseFollower's `this`
+
+ isFollowing: false,
+ isHidden: false,
+ isAnimating: false, // doing the revert animation?
+
+ constructor: function(sourceEl, options) {
+ this.options = options = options || {};
+ this.sourceEl = sourceEl;
+ this.parentEl = options.parentEl ? $(options.parentEl) : sourceEl.parent(); // default to sourceEl's parent
+ },
+
+
+ // Causes the element to start following the mouse
+ start: function(ev) {
+ if (!this.isFollowing) {
+ this.isFollowing = true;
+
+ this.mouseY0 = ev.pageY;
+ this.mouseX0 = ev.pageX;
+ this.topDelta = 0;
+ this.leftDelta = 0;
+
+ if (!this.isHidden) {
+ this.updatePosition();
+ }
+
+ $(document).on('mousemove', this.mousemoveProxy = proxy(this, 'mousemove'));
+ }
+ },
+
+
+ // Causes the element to stop following the mouse. If shouldRevert is true, will animate back to original position.
+ // `callback` gets invoked when the animation is complete. If no animation, it is invoked immediately.
+ stop: function(shouldRevert, callback) {
+ var _this = this;
+ var revertDuration = this.options.revertDuration;
+
+ function complete() {
+ this.isAnimating = false;
+ _this.removeElement();
+
+ this.top0 = this.left0 = null; // reset state for future updatePosition calls
+
+ if (callback) {
+ callback();
+ }
+ }
+
+ if (this.isFollowing && !this.isAnimating) { // disallow more than one stop animation at a time
+ this.isFollowing = false;
+
+ $(document).off('mousemove', this.mousemoveProxy);
+
+ if (shouldRevert && revertDuration && !this.isHidden) { // do a revert animation?
+ this.isAnimating = true;
+ this.el.animate({
+ top: this.top0,
+ left: this.left0
+ }, {
+ duration: revertDuration,
+ complete: complete
+ });
+ }
+ else {
+ complete();
+ }
+ }
+ },
+
+
+ // Gets the tracking element. Create it if necessary
+ getEl: function() {
+ var el = this.el;
+
+ if (!el) {
+ this.sourceEl.width(); // hack to force IE8 to compute correct bounding box
+ el = this.el = this.sourceEl.clone()
+ .css({
+ position: 'absolute',
+ visibility: '', // in case original element was hidden (commonly through hideEvents())
+ display: this.isHidden ? 'none' : '', // for when initially hidden
+ margin: 0,
+ right: 'auto', // erase and set width instead
+ bottom: 'auto', // erase and set height instead
+ width: this.sourceEl.width(), // explicit height in case there was a 'right' value
+ height: this.sourceEl.height(), // explicit width in case there was a 'bottom' value
+ opacity: this.options.opacity || '',
+ zIndex: this.options.zIndex
+ })
+ .appendTo(this.parentEl);
+ }
+
+ return el;
+ },
+
+
+ // Removes the tracking element if it has already been created
+ removeElement: function() {
+ if (this.el) {
+ this.el.remove();
+ this.el = null;
+ }
+ },
+
+
+ // Update the CSS position of the tracking element
+ updatePosition: function() {
+ var sourceOffset;
+ var origin;
+
+ this.getEl(); // ensure this.el
+
+ // make sure origin info was computed
+ if (this.top0 === null) {
+ this.sourceEl.width(); // hack to force IE8 to compute correct bounding box
+ sourceOffset = this.sourceEl.offset();
+ origin = this.el.offsetParent().offset();
+ this.top0 = sourceOffset.top - origin.top;
+ this.left0 = sourceOffset.left - origin.left;
+ }
+
+ this.el.css({
+ top: this.top0 + this.topDelta,
+ left: this.left0 + this.leftDelta
+ });
+ },
+
+
+ // Gets called when the user moves the mouse
+ mousemove: function(ev) {
+ this.topDelta = ev.pageY - this.mouseY0;
+ this.leftDelta = ev.pageX - this.mouseX0;
+
+ if (!this.isHidden) {
+ this.updatePosition();
+ }
+ },
+
+
+ // Temporarily makes the tracking element invisible. Can be called before following starts
+ hide: function() {
+ if (!this.isHidden) {
+ this.isHidden = true;
+ if (this.el) {
+ this.el.hide();
+ }
+ }
+ },
+
+
+ // Show the tracking element after it has been temporarily hidden
+ show: function() {
+ if (this.isHidden) {
+ this.isHidden = false;
+ this.updatePosition();
+ this.getEl().show();
+ }
+ }
+
+});
+
+;;
+
+/* An abstract class comprised of a "grid" of areas that each represent a specific datetime
+----------------------------------------------------------------------------------------------------------------------*/
+
+var Grid = FC.Grid = Class.extend({
+
+ view: null, // a View object
+ isRTL: null, // shortcut to the view's isRTL option
+
+ start: null,
+ end: null,
+
+ el: null, // the containing element
+ elsByFill: null, // a hash of jQuery element sets used for rendering each fill. Keyed by fill name.
+
+ externalDragStartProxy: null, // binds the Grid's scope to externalDragStart (in DayGrid.events)
+
+ // derived from options
+ eventTimeFormat: null,
+ displayEventTime: null,
+ displayEventEnd: null,
+
+ minResizeDuration: null, // TODO: hack. set by subclasses. minumum event resize duration
+
+ // if defined, holds the unit identified (ex: "year" or "month") that determines the level of granularity
+ // of the date areas. if not defined, assumes to be day and time granularity.
+ // TODO: port isTimeScale into same system?
+ largeUnit: null,
+
+
+ constructor: function(view) {
+ this.view = view;
+ this.isRTL = view.opt('isRTL');
+
+ this.elsByFill = {};
+ this.externalDragStartProxy = proxy(this, 'externalDragStart');
+ },
+
+
+ /* Options
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Generates the format string used for event time text, if not explicitly defined by 'timeFormat'
+ computeEventTimeFormat: function() {
+ return this.view.opt('smallTimeFormat');
+ },
+
+
+ // Determines whether events should have their end times displayed, if not explicitly defined by 'displayEventTime'.
+ // Only applies to non-all-day events.
+ computeDisplayEventTime: function() {
+ return true;
+ },
+
+
+ // Determines whether events should have their end times displayed, if not explicitly defined by 'displayEventEnd'
+ computeDisplayEventEnd: function() {
+ return true;
+ },
+
+
+ /* Dates
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Tells the grid about what period of time to display.
+ // Any date-related internal data should be generated.
+ setRange: function(range) {
+ this.start = range.start.clone();
+ this.end = range.end.clone();
+
+ this.rangeUpdated();
+ this.processRangeOptions();
+ },
+
+
+ // Called when internal variables that rely on the range should be updated
+ rangeUpdated: function() {
+ },
+
+
+ // Updates values that rely on options and also relate to range
+ processRangeOptions: function() {
+ var view = this.view;
+ var displayEventTime;
+ var displayEventEnd;
+
+ this.eventTimeFormat =
+ view.opt('eventTimeFormat') ||
+ view.opt('timeFormat') || // deprecated
+ this.computeEventTimeFormat();
+
+ displayEventTime = view.opt('displayEventTime');
+ if (displayEventTime == null) {
+ displayEventTime = this.computeDisplayEventTime(); // might be based off of range
+ }
+
+ displayEventEnd = view.opt('displayEventEnd');
+ if (displayEventEnd == null) {
+ displayEventEnd = this.computeDisplayEventEnd(); // might be based off of range
+ }
+
+ this.displayEventTime = displayEventTime;
+ this.displayEventEnd = displayEventEnd;
+ },
+
+
+ // Converts a range with an inclusive `start` and an exclusive `end` into an array of segment objects
+ rangeToSegs: function(range) {
+ // subclasses must implement
+ },
+
+
+ // Diffs the two dates, returning a duration, based on granularity of the grid
+ // TODO: port isTimeScale into this system?
+ diffDates: function(a, b) {
+ if (this.largeUnit) {
+ return diffByUnit(a, b, this.largeUnit);
+ }
+ else {
+ return diffDayTime(a, b);
+ }
+ },
+
+
+ /* Hit Area
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Called before one or more queryHit calls might happen. Should prepare any cached coordinates for queryHit
+ prepareHits: function() {
+ },
+
+
+ // Called when queryHit calls have subsided. Good place to clear any coordinate caches.
+ releaseHits: function() {
+ },
+
+
+ // Given coordinates from the topleft of the document, return data about the date-related area underneath.
+ // Can return an object with arbitrary properties (although top/right/left/bottom are encouraged).
+ // Must have a `grid` property, a reference to this current grid. TODO: avoid this
+ // The returned object will be processed by getHitSpan and getHitEl.
+ queryHit: function(leftOffset, topOffset) {
+ },
+
+
+ // Given position-level information about a date-related area within the grid,
+ // should return an object with at least a start/end date. Can provide other information as well.
+ getHitSpan: function(hit) {
+ },
+
+
+ // Given position-level information about a date-related area within the grid,
+ // should return a jQuery element that best represents it. passed to dayClick callback.
+ getHitEl: function(hit) {
+ },
+
+
+ /* Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Sets the container element that the grid should render inside of.
+ // Does other DOM-related initializations.
+ setElement: function(el) {
+ var _this = this;
+
+ this.el = el;
+
+ // attach a handler to the grid's root element.
+ // jQuery will take care of unregistering them when removeElement gets called.
+ el.on('mousedown', function(ev) {
+ if (
+ !$(ev.target).is('.fc-event-container *, .fc-more') && // not an an event element, or "more.." link
+ !$(ev.target).closest('.fc-popover').length // not on a popover (like the "more.." events one)
+ ) {
+ _this.dayMousedown(ev);
+ }
+ });
+
+ // attach event-element-related handlers. in Grid.events
+ // same garbage collection note as above.
+ this.bindSegHandlers();
+
+ this.bindGlobalHandlers();
+ },
+
+
+ // Removes the grid's container element from the DOM. Undoes any other DOM-related attachments.
+ // DOES NOT remove any content beforehand (doesn't clear events or call unrenderDates), unlike View
+ removeElement: function() {
+ this.unbindGlobalHandlers();
+
+ this.el.remove();
+
+ // NOTE: we don't null-out this.el for the same reasons we don't do it within View::removeElement
+ },
+
+
+ // Renders the basic structure of grid view before any content is rendered
+ renderSkeleton: function() {
+ // subclasses should implement
+ },
+
+
+ // Renders the grid's date-related content (like areas that represent days/times).
+ // Assumes setRange has already been called and the skeleton has already been rendered.
+ renderDates: function() {
+ // subclasses should implement
+ },
+
+
+ // Unrenders the grid's date-related content
+ unrenderDates: function() {
+ // subclasses should implement
+ },
+
+
+ /* Handlers
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Binds DOM handlers to elements that reside outside the grid, such as the document
+ bindGlobalHandlers: function() {
+ $(document).on('dragstart sortstart', this.externalDragStartProxy); // jqui
+ },
+
+
+ // Unbinds DOM handlers from elements that reside outside the grid
+ unbindGlobalHandlers: function() {
+ $(document).off('dragstart sortstart', this.externalDragStartProxy); // jqui
+ },
+
+
+ // Process a mousedown on an element that represents a day. For day clicking and selecting.
+ dayMousedown: function(ev) {
+ var _this = this;
+ var view = this.view;
+ var isSelectable = view.opt('selectable');
+ var dayClickHit; // null if invalid dayClick
+ var selectionSpan; // null if invalid selection
+
+ // this listener tracks a mousedown on a day element, and a subsequent drag.
+ // if the drag ends on the same day, it is a 'dayClick'.
+ // if 'selectable' is enabled, this listener also detects selections.
+ var dragListener = new HitDragListener(this, {
+ //distance: 5, // needs more work if we want dayClick to fire correctly
+ scroll: view.opt('dragScroll'),
+ dragStart: function() {
+ view.unselect(); // since we could be rendering a new selection, we want to clear any old one
+ },
+ hitOver: function(hit, isOrig, origHit) {
+ if (origHit) { // click needs to have started on a hit
+ dayClickHit = isOrig ? hit : null; // single-hit selection is a day click
+ if (isSelectable) {
+ selectionSpan = _this.computeSelection(
+ _this.getHitSpan(origHit),
+ _this.getHitSpan(hit)
+ );
+ if (selectionSpan) {
+ _this.renderSelection(selectionSpan);
+ }
+ else if (selectionSpan === false) {
+ disableCursor();
+ }
+ }
+ }
+ },
+ hitOut: function() {
+ dayClickHit = null;
+ selectionSpan = null;
+ _this.unrenderSelection();
+ enableCursor();
+ },
+ listenStop: function(ev) {
+ if (dayClickHit) {
+ view.triggerDayClick(
+ _this.getHitSpan(dayClickHit).start,
+ _this.getHitEl(dayClickHit),
+ ev
+ );
}
- if (options == 'destroy') {
- $.removeData(this, 'fullCalendar');
+ if (selectionSpan) {
+ // the selection will already have been rendered. just report it
+ view.reportSelection(selectionSpan, ev);
}
+ enableCursor();
}
});
- if (res !== undefined) {
- return res;
+
+ dragListener.mousedown(ev); // start listening, which will eventually initiate a dragStart
+ },
+
+
+ /* Event Helper
+ ------------------------------------------------------------------------------------------------------------------*/
+ // TODO: should probably move this to Grid.events, like we did event dragging / resizing
+
+
+ // Renders a mock event over the given range
+ renderRangeHelper: function(range, sourceSeg) {
+ var fakeEvent = this.fabricateHelperEvent(range, sourceSeg);
+
+ this.renderHelper(fakeEvent, sourceSeg); // do the actual rendering
+ },
+
+
+ // Builds a fake event given a date range it should cover, and a segment is should be inspired from.
+ // The range's end can be null, in which case the mock event that is rendered will have a null end time.
+ // `sourceSeg` is the internal segment object involved in the drag. If null, something external is dragging.
+ fabricateHelperEvent: function(range, sourceSeg) {
+ var fakeEvent = sourceSeg ? createObject(sourceSeg.event) : {}; // mask the original event object if possible
+
+ fakeEvent.start = range.start.clone();
+ fakeEvent.end = range.end ? range.end.clone() : null;
+ fakeEvent.allDay = null; // force it to be freshly computed by normalizeEventRange
+ this.view.calendar.normalizeEventRange(fakeEvent);
+
+ // this extra className will be useful for differentiating real events from mock events in CSS
+ fakeEvent.className = (fakeEvent.className || []).concat('fc-helper');
+
+ // if something external is being dragged in, don't render a resizer
+ if (!sourceSeg) {
+ fakeEvent.editable = false;
+ }
+
+ return fakeEvent;
+ },
+
+
+ // Renders a mock event
+ renderHelper: function(event, sourceSeg) {
+ // subclasses must implement
+ },
+
+
+ // Unrenders a mock event
+ unrenderHelper: function() {
+ // subclasses must implement
+ },
+
+
+ /* Selection
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a visual indication of a selection. Will highlight by default but can be overridden by subclasses.
+ renderSelection: function(range) {
+ this.renderHighlight(this.selectionRangeToSegs(range));
+ },
+
+
+ // Unrenders any visual indications of a selection. Will unrender a highlight by default.
+ unrenderSelection: function() {
+ this.unrenderHighlight();
+ },
+
+
+ // Given the first and last date-spans of a selection, returns another date-span object.
+ // Subclasses can override and provide additional data in the span object. Will be passed to renderSelection().
+ // Will return false if the selection is invalid and this should be indicated to the user.
+ // Will return null/undefined if a selection invalid but no error should be reported.
+ computeSelection: function(span0, span1) {
+ var dates = [ span0.start, span0.end, span1.start, span1.end ];
+ var combinedSpan;
+
+ dates.sort(compareNumbers); // sorts chronologically. works with Moments
+ combinedSpan = { start: dates[0].clone(), end: dates[3].clone() };
+
+ if (!this.view.calendar.isSelectionRangeAllowed(combinedSpan)) {
+ return false;
+ }
+
+ return combinedSpan;
+ },
+
+
+ selectionRangeToSegs: function(range) {
+ return this.rangeToSegs(range);
+ },
+
+
+ /* Highlight
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders an emphasis on the given date range. Given an array of segments.
+ renderHighlight: function(segs) {
+ this.renderFill('highlight', segs);
+ },
+
+
+ // Unrenders the emphasis on a date range
+ unrenderHighlight: function() {
+ this.unrenderFill('highlight');
+ },
+
+
+ // Generates an array of classNames for rendering the highlight. Used by the fill system.
+ highlightSegClasses: function() {
+ return [ 'fc-highlight' ];
+ },
+
+
+ /* Fill System (highlight, background events, business hours)
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a set of rectangles over the given segments of time.
+ // MUST RETURN a subset of segs, the segs that were actually rendered.
+ // Responsible for populating this.elsByFill. TODO: better API for expressing this requirement
+ renderFill: function(type, segs) {
+ // subclasses must implement
+ },
+
+
+ // Unrenders a specific type of fill that is currently rendered on the grid
+ unrenderFill: function(type) {
+ var el = this.elsByFill[type];
+
+ if (el) {
+ el.remove();
+ delete this.elsByFill[type];
+ }
+ },
+
+
+ // Renders and assigns an `el` property for each fill segment. Generic enough to work with different types.
+ // Only returns segments that successfully rendered.
+ // To be harnessed by renderFill (implemented by subclasses).
+ // Analagous to renderFgSegEls.
+ renderFillSegEls: function(type, segs) {
+ var _this = this;
+ var segElMethod = this[type + 'SegEl'];
+ var html = '';
+ var renderedSegs = [];
+ var i;
+
+ if (segs.length) {
+
+ // build a large concatenation of segment HTML
+ for (i = 0; i < segs.length; i++) {
+ html += this.fillSegHtml(type, segs[i]);
+ }
+
+ // Grab individual elements from the combined HTML string. Use each as the default rendering.
+ // Then, compute the 'el' for each segment.
+ $(html).each(function(i, node) {
+ var seg = segs[i];
+ var el = $(node);
+
+ // allow custom filter methods per-type
+ if (segElMethod) {
+ el = segElMethod.call(_this, seg, el);
+ }
+
+ if (el) { // custom filters did not cancel the render
+ el = $(el); // allow custom filter to return raw DOM node
+
+ // correct element type? (would be bad if a non-TD were inserted into a table for example)
+ if (el.is(_this.fillSegTag)) {
+ seg.el = el;
+ renderedSegs.push(seg);
+ }
+ }
+ });
+ }
+
+ return renderedSegs;
+ },
+
+
+ fillSegTag: 'div', // subclasses can override
+
+
+ // Builds the HTML needed for one fill segment. Generic enought o work with different types.
+ fillSegHtml: function(type, seg) {
+
+ // custom hooks per-type
+ var classesMethod = this[type + 'SegClasses'];
+ var cssMethod = this[type + 'SegCss'];
+
+ var classes = classesMethod ? classesMethod.call(this, seg) : [];
+ var css = cssToStr(cssMethod ? cssMethod.call(this, seg) : {});
+
+ return '<' + this.fillSegTag +
+ (classes.length ? ' class="' + classes.join(' ') + '"' : '') +
+ (css ? ' style="' + css + '"' : '') +
+ ' />';
+ },
+
+
+
+ /* Generic rendering utilities for subclasses
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Computes HTML classNames for a single-day element
+ getDayClasses: function(date) {
+ var view = this.view;
+ var today = view.calendar.getNow().stripTime();
+ var classes = [ 'fc-' + dayIDs[date.day()] ];
+
+ if (
+ view.intervalDuration.as('months') == 1 &&
+ date.month() != view.intervalStart.month()
+ ) {
+ classes.push('fc-other-month');
+ }
+
+ if (date.isSame(today, 'day')) {
+ classes.push(
+ 'fc-today',
+ view.highlightStateClass
+ );
+ }
+ else if (date < today) {
+ classes.push('fc-past');
}
- return this;
+ else {
+ classes.push('fc-future');
+ }
+
+ return classes;
}
-
-
- // would like to have this logic in EventManager, but needs to happen before options are recursively extended
- var eventSources = options.eventSources || [];
- delete options.eventSources;
- if (options.events) {
- eventSources.push(options.events);
- delete options.events;
+
+});
+
+;;
+
+/* Event-rendering and event-interaction methods for the abstract Grid class
+----------------------------------------------------------------------------------------------------------------------*/
+
+Grid.mixin({
+
+ mousedOverSeg: null, // the segment object the user's mouse is over. null if over nothing
+ isDraggingSeg: false, // is a segment being dragged? boolean
+ isResizingSeg: false, // is a segment being resized? boolean
+ isDraggingExternal: false, // jqui-dragging an external element? boolean
+ segs: null, // the event segments currently rendered in the grid
+
+
+ // Renders the given events onto the grid
+ renderEvents: function(events) {
+ var segs = this.eventsToSegs(events);
+ var bgSegs = [];
+ var fgSegs = [];
+ var i, seg;
+
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+
+ if (isBgEvent(seg.event)) {
+ bgSegs.push(seg);
+ }
+ else {
+ fgSegs.push(seg);
+ }
+ }
+
+ // Render each different type of segment.
+ // Each function may return a subset of the segs, segs that were actually rendered.
+ bgSegs = this.renderBgSegs(bgSegs) || bgSegs;
+ fgSegs = this.renderFgSegs(fgSegs) || fgSegs;
+
+ this.segs = bgSegs.concat(fgSegs);
+ },
+
+
+ // Unrenders all events currently rendered on the grid
+ unrenderEvents: function() {
+ this.triggerSegMouseout(); // trigger an eventMouseout if user's mouse is over an event
+
+ this.unrenderFgSegs();
+ this.unrenderBgSegs();
+
+ this.segs = null;
+ },
+
+
+ // Retrieves all rendered segment objects currently rendered on the grid
+ getEventSegs: function() {
+ return this.segs || [];
+ },
+
+
+ /* Foreground Segment Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders foreground event segments onto the grid. May return a subset of segs that were rendered.
+ renderFgSegs: function(segs) {
+ // subclasses must implement
+ },
+
+
+ // Unrenders all currently rendered foreground segments
+ unrenderFgSegs: function() {
+ // subclasses must implement
+ },
+
+
+ // Renders and assigns an `el` property for each foreground event segment.
+ // Only returns segments that successfully rendered.
+ // A utility that subclasses may use.
+ renderFgSegEls: function(segs, disableResizing) {
+ var view = this.view;
+ var html = '';
+ var renderedSegs = [];
+ var i;
+
+ if (segs.length) { // don't build an empty html string
+
+ // build a large concatenation of event segment HTML
+ for (i = 0; i < segs.length; i++) {
+ html += this.fgSegHtml(segs[i], disableResizing);
+ }
+
+ // Grab individual elements from the combined HTML string. Use each as the default rendering.
+ // Then, compute the 'el' for each segment. An el might be null if the eventRender callback returned false.
+ $(html).each(function(i, node) {
+ var seg = segs[i];
+ var el = view.resolveEventEl(seg.event, $(node));
+
+ if (el) {
+ el.data('fc-seg', seg); // used by handlers
+ seg.el = el;
+ renderedSegs.push(seg);
+ }
+ });
+ }
+
+ return renderedSegs;
+ },
+
+
+ // Generates the HTML for the default rendering of a foreground event segment. Used by renderFgSegEls()
+ fgSegHtml: function(seg, disableResizing) {
+ // subclasses should implement
+ },
+
+
+ /* Background Segment Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders the given background event segments onto the grid.
+ // Returns a subset of the segs that were actually rendered.
+ renderBgSegs: function(segs) {
+ return this.renderFill('bgEvent', segs);
+ },
+
+
+ // Unrenders all the currently rendered background event segments
+ unrenderBgSegs: function() {
+ this.unrenderFill('bgEvent');
+ },
+
+
+ // Renders a background event element, given the default rendering. Called by the fill system.
+ bgEventSegEl: function(seg, el) {
+ return this.view.resolveEventEl(seg.event, el); // will filter through eventRender
+ },
+
+
+ // Generates an array of classNames to be used for the default rendering of a background event.
+ // Called by the fill system.
+ bgEventSegClasses: function(seg) {
+ var event = seg.event;
+ var source = event.source || {};
+
+ return [ 'fc-bgevent' ].concat(
+ event.className,
+ source.className || []
+ );
+ },
+
+
+ // Generates a semicolon-separated CSS string to be used for the default rendering of a background event.
+ // Called by the fill system.
+ // TODO: consolidate with getEventSkinCss?
+ bgEventSegCss: function(seg) {
+ var view = this.view;
+ var event = seg.event;
+ var source = event.source || {};
+
+ return {
+ 'background-color':
+ event.backgroundColor ||
+ event.color ||
+ source.backgroundColor ||
+ source.color ||
+ view.opt('eventBackgroundColor') ||
+ view.opt('eventColor')
+ };
+ },
+
+
+ // Generates an array of classNames to be used for the rendering business hours overlay. Called by the fill system.
+ businessHoursSegClasses: function(seg) {
+ return [ 'fc-nonbusiness', 'fc-bgevent' ];
+ },
+
+
+ /* Handlers
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Attaches event-element-related handlers to the container element and leverage bubbling
+ bindSegHandlers: function() {
+ var _this = this;
+ var view = this.view;
+
+ $.each(
+ {
+ mouseenter: function(seg, ev) {
+ _this.triggerSegMouseover(seg, ev);
+ },
+ mouseleave: function(seg, ev) {
+ _this.triggerSegMouseout(seg, ev);
+ },
+ click: function(seg, ev) {
+ return view.trigger('eventClick', this, seg.event, ev); // can return `false` to cancel
+ },
+ mousedown: function(seg, ev) {
+ if ($(ev.target).is('.fc-resizer') && view.isEventResizable(seg.event)) {
+ _this.segResizeMousedown(seg, ev, $(ev.target).is('.fc-start-resizer'));
+ }
+ else if (view.isEventDraggable(seg.event)) {
+ _this.segDragMousedown(seg, ev);
+ }
+ }
+ },
+ function(name, func) {
+ // attach the handler to the container element and only listen for real event elements via bubbling
+ _this.el.on(name, '.fc-event-container > *', function(ev) {
+ var seg = $(this).data('fc-seg'); // grab segment data. put there by View::renderEvents
+
+ // only call the handlers if there is not a drag/resize in progress
+ if (seg && !_this.isDraggingSeg && !_this.isResizingSeg) {
+ return func.call(this, seg, ev); // `this` will be the event element
+ }
+ });
+ }
+ );
+ },
+
+
+ // Updates internal state and triggers handlers for when an event element is moused over
+ triggerSegMouseover: function(seg, ev) {
+ if (!this.mousedOverSeg) {
+ this.mousedOverSeg = seg;
+ this.view.trigger('eventMouseover', seg.el[0], seg.event, ev);
+ }
+ },
+
+
+ // Updates internal state and triggers handlers for when an event element is moused out.
+ // Can be given no arguments, in which case it will mouseout the segment that was previously moused over.
+ triggerSegMouseout: function(seg, ev) {
+ ev = ev || {}; // if given no args, make a mock mouse event
+
+ if (this.mousedOverSeg) {
+ seg = seg || this.mousedOverSeg; // if given no args, use the currently moused-over segment
+ this.mousedOverSeg = null;
+ this.view.trigger('eventMouseout', seg.el[0], seg.event, ev);
+ }
+ },
+
+
+ /* Event Dragging
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Called when the user does a mousedown on an event, which might lead to dragging.
+ // Generic enough to work with any type of Grid.
+ segDragMousedown: function(seg, ev) {
+ var _this = this;
+ var view = this.view;
+ var calendar = view.calendar;
+ var el = seg.el;
+ var event = seg.event;
+ var dropLocation; // a "span" (start/end possibly with additional properties)
+
+ // A clone of the original element that will move with the mouse
+ var mouseFollower = new MouseFollower(seg.el, {
+ parentEl: view.el,
+ opacity: view.opt('dragOpacity'),
+ revertDuration: view.opt('dragRevertDuration'),
+ zIndex: 2 // one above the .fc-view
+ });
+
+ // Tracks mouse movement over the *view's* coordinate map. Allows dragging and dropping between subcomponents
+ // of the view.
+ var dragListener = new HitDragListener(view, {
+ distance: 5,
+ scroll: view.opt('dragScroll'),
+ subjectEl: el,
+ subjectCenter: true,
+ listenStart: function(ev) {
+ mouseFollower.hide(); // don't show until we know this is a real drag
+ mouseFollower.start(ev);
+ },
+ dragStart: function(ev) {
+ _this.triggerSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported
+ _this.segDragStart(seg, ev);
+ view.hideEvent(event); // hide all event segments. our mouseFollower will take over
+ },
+ hitOver: function(hit, isOrig, origHit) {
+
+ // starting hit could be forced (DayGrid.limit)
+ if (seg.hit) {
+ origHit = seg.hit;
+ }
+
+ // since we are querying the parent view, might not belong to this grid
+ dropLocation = _this.computeEventDrop(
+ origHit.component.getHitSpan(origHit),
+ hit.component.getHitSpan(hit),
+ event
+ );
+
+ if (dropLocation && !calendar.isEventRangeAllowed(dropLocation, event)) {
+ disableCursor();
+ dropLocation = null;
+ }
+
+ // if a valid drop location, have the subclass render a visual indication
+ if (dropLocation && view.renderDrag(dropLocation, seg)) {
+ mouseFollower.hide(); // if the subclass is already using a mock event "helper", hide our own
+ }
+ else {
+ mouseFollower.show(); // otherwise, have the helper follow the mouse (no snapping)
+ }
+
+ if (isOrig) {
+ dropLocation = null; // needs to have moved hits to be a valid drop
+ }
+ },
+ hitOut: function() { // called before mouse moves to a different hit OR moved out of all hits
+ view.unrenderDrag(); // unrender whatever was done in renderDrag
+ mouseFollower.show(); // show in case we are moving out of all hits
+ dropLocation = null;
+ },
+ hitDone: function() { // Called after a hitOut OR before a dragStop
+ enableCursor();
+ },
+ dragStop: function(ev) {
+ // do revert animation if hasn't changed. calls a callback when finished (whether animation or not)
+ mouseFollower.stop(!dropLocation, function() {
+ view.unrenderDrag();
+ view.showEvent(event);
+ _this.segDragStop(seg, ev);
+
+ if (dropLocation) {
+ view.reportEventDrop(event, dropLocation, this.largeUnit, el, ev);
+ }
+ });
+ },
+ listenStop: function() {
+ mouseFollower.stop(); // put in listenStop in case there was a mousedown but the drag never started
+ }
+ });
+
+ dragListener.mousedown(ev); // start listening, which will eventually lead to a dragStart
+ },
+
+
+ // Called before event segment dragging starts
+ segDragStart: function(seg, ev) {
+ this.isDraggingSeg = true;
+ this.view.trigger('eventDragStart', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy
+ },
+
+
+ // Called after event segment dragging stops
+ segDragStop: function(seg, ev) {
+ this.isDraggingSeg = false;
+ this.view.trigger('eventDragStop', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy
+ },
+
+
+ // Given the spans an event drag began, and the span event was dropped, calculates the new start/end/allDay
+ // values for the event. Subclasses may override and set additional properties to be used by renderDrag.
+ // A falsy returned value indicates an invalid drop.
+ computeEventDrop: function(startSpan, endSpan, event) {
+ var calendar = this.view.calendar;
+ var dragStart = startSpan.start;
+ var dragEnd = endSpan.start;
+ var delta;
+ var dropLocation;
+
+ if (dragStart.hasTime() === dragEnd.hasTime()) {
+ delta = this.diffDates(dragEnd, dragStart);
+
+ // if an all-day event was in a timed area and it was dragged to a different time,
+ // guarantee an end and adjust start/end to have times
+ if (event.allDay && durationHasTime(delta)) {
+ dropLocation = {
+ start: event.start.clone(),
+ end: calendar.getEventEnd(event), // will be an ambig day
+ allDay: false // for normalizeEventRangeTimes
+ };
+ calendar.normalizeEventRangeTimes(dropLocation);
+ }
+ // othewise, work off existing values
+ else {
+ dropLocation = {
+ start: event.start.clone(),
+ end: event.end ? event.end.clone() : null,
+ allDay: event.allDay // keep it the same
+ };
+ }
+
+ dropLocation.start.add(delta);
+ if (dropLocation.end) {
+ dropLocation.end.add(delta);
+ }
+ }
+ else {
+ // if switching from day <-> timed, start should be reset to the dropped date, and the end cleared
+ dropLocation = {
+ start: dragEnd.clone(),
+ end: null, // end should be cleared
+ allDay: !dragEnd.hasTime()
+ };
+ }
+
+ return dropLocation;
+ },
+
+
+ // Utility for apply dragOpacity to a jQuery set
+ applyDragOpacity: function(els) {
+ var opacity = this.view.opt('dragOpacity');
+
+ if (opacity != null) {
+ els.each(function(i, node) {
+ // Don't use jQuery (will set an IE filter), do it the old fashioned way.
+ // In IE8, a helper element will disappears if there's a filter.
+ node.style.opacity = opacity;
+ });
+ }
+ },
+
+
+ /* External Element Dragging
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Called when a jQuery UI drag is initiated anywhere in the DOM
+ externalDragStart: function(ev, ui) {
+ var view = this.view;
+ var el;
+ var accept;
+
+ if (view.opt('droppable')) { // only listen if this setting is on
+ el = $((ui ? ui.item : null) || ev.target);
+
+ // Test that the dragged element passes the dropAccept selector or filter function.
+ // FYI, the default is "*" (matches all)
+ accept = view.opt('dropAccept');
+ if ($.isFunction(accept) ? accept.call(el[0], el) : el.is(accept)) {
+ if (!this.isDraggingExternal) { // prevent double-listening if fired twice
+ this.listenToExternalDrag(el, ev, ui);
+ }
+ }
+ }
+ },
+
+
+ // Called when a jQuery UI drag starts and it needs to be monitored for dropping
+ listenToExternalDrag: function(el, ev, ui) {
+ var _this = this;
+ var meta = getDraggedElMeta(el); // extra data about event drop, including possible event to create
+ var dropLocation; // a null value signals an unsuccessful drag
+
+ // listener that tracks mouse movement over date-associated pixel regions
+ var dragListener = new HitDragListener(this, {
+ listenStart: function() {
+ _this.isDraggingExternal = true;
+ },
+ hitOver: function(hit) {
+ dropLocation = _this.computeExternalDrop(
+ hit.component.getHitSpan(hit), // since we are querying the parent view, might not belong to this grid
+ meta
+ );
+ if (dropLocation) {
+ _this.renderDrag(dropLocation); // called without a seg parameter
+ }
+ else { // invalid hit
+ disableCursor();
+ }
+ },
+ hitOut: function() {
+ dropLocation = null; // signal unsuccessful
+ _this.unrenderDrag();
+ enableCursor();
+ },
+ dragStop: function() {
+ _this.unrenderDrag();
+ enableCursor();
+
+ if (dropLocation) { // element was dropped on a valid hit
+ _this.view.reportExternalDrop(meta, dropLocation, el, ev, ui);
+ }
+ },
+ listenStop: function() {
+ _this.isDraggingExternal = false;
+ }
+ });
+
+ dragListener.startDrag(ev); // start listening immediately
+ },
+
+
+ // Given a hit to be dropped upon, and misc data associated with the jqui drag (guaranteed to be a plain object),
+ // returns start/end dates for the event that would result from the hypothetical drop. end might be null.
+ // Returning a null value signals an invalid drop hit.
+ computeExternalDrop: function(span, meta) {
+ var dropLocation = {
+ start: span.start,
+ end: null
+ };
+
+ // if dropped on an all-day span, and element's metadata specified a time, set it
+ if (meta.startTime && !dropLocation.start.hasTime()) {
+ dropLocation.start.time(meta.startTime);
+ }
+
+ if (meta.duration) {
+ dropLocation.end = dropLocation.start.clone().add(meta.duration);
+ }
+
+ if (!this.view.calendar.isExternalDropRangeAllowed(dropLocation, meta.eventProps)) {
+ return null;
+ }
+
+ return dropLocation;
+ },
+
+
+
+ /* Drag Rendering (for both events and an external elements)
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a visual indication of an event or external element being dragged.
+ // `dropLocation` contains hypothetical start/end/allDay values the event would have if dropped. end can be null.
+ // `seg` is the internal segment object that is being dragged. If dragging an external element, `seg` is null.
+ // A truthy returned value indicates this method has rendered a helper element.
+ renderDrag: function(dropLocation, seg) {
+ // subclasses must implement
+ },
+
+
+ // Unrenders a visual indication of an event or external element being dragged
+ unrenderDrag: function() {
+ // subclasses must implement
+ },
+
+
+ /* Resizing
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Called when the user does a mousedown on an event's resizer, which might lead to resizing.
+ // Generic enough to work with any type of Grid.
+ segResizeMousedown: function(seg, ev, isStart) {
+ var _this = this;
+ var view = this.view;
+ var calendar = view.calendar;
+ var el = seg.el;
+ var event = seg.event;
+ var eventEnd = calendar.getEventEnd(event);
+ var resizeLocation; // falsy if invalid resize
+
+ // Tracks mouse movement over the *grid's* coordinate map
+ var dragListener = new HitDragListener(this, {
+ distance: 5,
+ scroll: view.opt('dragScroll'),
+ subjectEl: el,
+ dragStart: function(ev) {
+ _this.triggerSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported
+ _this.segResizeStart(seg, ev);
+ },
+ hitOver: function(hit, isOrig, origHit) {
+ var origHitSpan = _this.getHitSpan(origHit);
+ var hitSpan = _this.getHitSpan(hit);
+
+ resizeLocation = isStart ?
+ _this.computeEventStartResize(origHitSpan, hitSpan, event) :
+ _this.computeEventEndResize(origHitSpan, hitSpan, event);
+
+ if (resizeLocation) {
+ if (!calendar.isEventRangeAllowed(resizeLocation, event)) {
+ disableCursor();
+ resizeLocation = null;
+ }
+ // no change? (TODO: how does this work with timezones?)
+ else if (resizeLocation.start.isSame(event.start) && resizeLocation.end.isSame(eventEnd)) {
+ resizeLocation = null;
+ }
+ }
+
+ if (resizeLocation) {
+ view.hideEvent(event);
+ _this.renderEventResize(resizeLocation, seg);
+ }
+ },
+ hitOut: function() { // called before mouse moves to a different hit OR moved out of all hits
+ resizeLocation = null;
+ },
+ hitDone: function() { // resets the rendering to show the original event
+ _this.unrenderEventResize();
+ view.showEvent(event);
+ enableCursor();
+ },
+ dragStop: function(ev) {
+ _this.segResizeStop(seg, ev);
+
+ if (resizeLocation) { // valid date to resize to?
+ view.reportEventResize(event, resizeLocation, this.largeUnit, el, ev);
+ }
+ }
+ });
+
+ dragListener.mousedown(ev); // start listening, which will eventually lead to a dragStart
+ },
+
+
+ // Called before event segment resizing starts
+ segResizeStart: function(seg, ev) {
+ this.isResizingSeg = true;
+ this.view.trigger('eventResizeStart', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy
+ },
+
+
+ // Called after event segment resizing stops
+ segResizeStop: function(seg, ev) {
+ this.isResizingSeg = false;
+ this.view.trigger('eventResizeStop', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy
+ },
+
+
+ // Returns new date-information for an event segment being resized from its start
+ computeEventStartResize: function(startSpan, endSpan, event) {
+ return this.computeEventResize('start', startSpan, endSpan, event);
+ },
+
+
+ // Returns new date-information for an event segment being resized from its end
+ computeEventEndResize: function(startSpan, endSpan, event) {
+ return this.computeEventResize('end', startSpan, endSpan, event);
+ },
+
+
+ // Returns new date-information for an event segment being resized from its start OR end
+ // `type` is either 'start' or 'end'
+ computeEventResize: function(type, startSpan, endSpan, event) {
+ var calendar = this.view.calendar;
+ var delta = this.diffDates(endSpan[type], startSpan[type]);
+ var range;
+ var defaultDuration;
+
+ // build original values to work from, guaranteeing a start and end
+ range = {
+ start: event.start.clone(),
+ end: calendar.getEventEnd(event),
+ allDay: event.allDay
+ };
+
+ // if an all-day event was in a timed area and was resized to a time, adjust start/end to have times
+ if (range.allDay && durationHasTime(delta)) {
+ range.allDay = false;
+ calendar.normalizeEventRangeTimes(range);
+ }
+
+ range[type].add(delta); // apply delta to start or end
+
+ // if the event was compressed too small, find a new reasonable duration for it
+ if (!range.start.isBefore(range.end)) {
+
+ defaultDuration =
+ this.minResizeDuration || // TODO: hack
+ (event.allDay ?
+ calendar.defaultAllDayEventDuration :
+ calendar.defaultTimedEventDuration);
+
+ if (type == 'start') { // resizing the start?
+ range.start = range.end.clone().subtract(defaultDuration);
+ }
+ else { // resizing the end?
+ range.end = range.start.clone().add(defaultDuration);
+ }
+ }
+
+ return range;
+ },
+
+
+ // Renders a visual indication of an event being resized.
+ // `range` has the updated dates of the event. `seg` is the original segment object involved in the drag.
+ renderEventResize: function(range, seg) {
+ // subclasses must implement
+ },
+
+
+ // Unrenders a visual indication of an event being resized.
+ unrenderEventResize: function() {
+ // subclasses must implement
+ },
+
+
+ /* Rendering Utils
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Compute the text that should be displayed on an event's element.
+ // `range` can be the Event object itself, or something range-like, with at least a `start`.
+ // If event times are disabled, or the event has no time, will return a blank string.
+ // If not specified, formatStr will default to the eventTimeFormat setting,
+ // and displayEnd will default to the displayEventEnd setting.
+ getEventTimeText: function(range, formatStr, displayEnd) {
+
+ if (formatStr == null) {
+ formatStr = this.eventTimeFormat;
+ }
+
+ if (displayEnd == null) {
+ displayEnd = this.displayEventEnd;
+ }
+
+ if (this.displayEventTime && range.start.hasTime()) {
+ if (displayEnd && range.end) {
+ return this.view.formatRange(range, formatStr);
+ }
+ else {
+ return range.start.format(formatStr);
+ }
+ }
+
+ return '';
+ },
+
+
+ // Generic utility for generating the HTML classNames for an event segment's element
+ getSegClasses: function(seg, isDraggable, isResizable) {
+ var event = seg.event;
+ var classes = [
+ 'fc-event',
+ seg.isStart ? 'fc-start' : 'fc-not-start',
+ seg.isEnd ? 'fc-end' : 'fc-not-end'
+ ].concat(
+ event.className,
+ event.source ? event.source.className : []
+ );
+
+ if (isDraggable) {
+ classes.push('fc-draggable');
+ }
+ if (isResizable) {
+ classes.push('fc-resizable');
+ }
+
+ return classes;
+ },
+
+
+ // Utility for generating event skin-related CSS properties
+ getEventSkinCss: function(event) {
+ var view = this.view;
+ var source = event.source || {};
+ var eventColor = event.color;
+ var sourceColor = source.color;
+ var optionColor = view.opt('eventColor');
+
+ return {
+ 'background-color':
+ event.backgroundColor ||
+ eventColor ||
+ source.backgroundColor ||
+ sourceColor ||
+ view.opt('eventBackgroundColor') ||
+ optionColor,
+ 'border-color':
+ event.borderColor ||
+ eventColor ||
+ source.borderColor ||
+ sourceColor ||
+ view.opt('eventBorderColor') ||
+ optionColor,
+ color:
+ event.textColor ||
+ source.textColor ||
+ view.opt('eventTextColor')
+ };
+ },
+
+
+ /* Converting events -> ranges -> segs
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Converts an array of event objects into an array of event segment objects.
+ // A custom `rangeToSegsFunc` may be given for arbitrarily slicing up events.
+ // Doesn't guarantee an order for the resulting array.
+ eventsToSegs: function(events, rangeToSegsFunc) {
+ var eventRanges = this.eventsToRanges(events);
+ var segs = [];
+ var i;
+
+ for (i = 0; i < eventRanges.length; i++) {
+ segs.push.apply(
+ segs,
+ this.eventRangeToSegs(eventRanges[i], rangeToSegsFunc)
+ );
+ }
+
+ return segs;
+ },
+
+
+ // Converts an array of events into an array of "range" objects.
+ // A "range" object is a plain object with start/end properties denoting the time it covers. Also an event property.
+ // For "normal" events, this will be identical to the event's start/end, but for "inverse-background" events,
+ // will create an array of ranges that span the time *not* covered by the given event.
+ // Doesn't guarantee an order for the resulting array.
+ eventsToRanges: function(events) {
+ var _this = this;
+ var eventsById = groupEventsById(events);
+ var ranges = [];
+
+ // group by ID so that related inverse-background events can be rendered together
+ $.each(eventsById, function(id, eventGroup) {
+ if (eventGroup.length) {
+ ranges.push.apply(
+ ranges,
+ isInverseBgEvent(eventGroup[0]) ?
+ _this.eventsToInverseRanges(eventGroup) :
+ _this.eventsToNormalRanges(eventGroup)
+ );
+ }
+ });
+
+ return ranges;
+ },
+
+
+ // Converts an array of "normal" events (not inverted rendering) into a parallel array of ranges
+ eventsToNormalRanges: function(events) {
+ var calendar = this.view.calendar;
+ var ranges = [];
+ var i, event;
+ var eventStart, eventEnd;
+
+ for (i = 0; i < events.length; i++) {
+ event = events[i];
+
+ // make copies and normalize by stripping timezone
+ eventStart = event.start.clone().stripZone();
+ eventEnd = calendar.getEventEnd(event).stripZone();
+
+ ranges.push({
+ event: event,
+ start: eventStart,
+ end: eventEnd,
+ eventStartMS: +eventStart,
+ eventDurationMS: eventEnd - eventStart
+ });
+ }
+
+ return ranges;
+ },
+
+
+ // Converts an array of events, with inverse-background rendering, into an array of range objects.
+ // The range objects will cover all the time NOT covered by the events.
+ eventsToInverseRanges: function(events) {
+ var view = this.view;
+ var viewStart = view.start.clone().stripZone(); // normalize timezone
+ var viewEnd = view.end.clone().stripZone(); // normalize timezone
+ var normalRanges = this.eventsToNormalRanges(events); // will give us normalized dates we can use w/o copies
+ var inverseRanges = [];
+ var event0 = events[0]; // assign this to each range's `.event`
+ var start = viewStart; // the end of the previous range. the start of the new range
+ var i, normalRange;
+
+ // ranges need to be in order. required for our date-walking algorithm
+ normalRanges.sort(compareNormalRanges);
+
+ for (i = 0; i < normalRanges.length; i++) {
+ normalRange = normalRanges[i];
+
+ // add the span of time before the event (if there is any)
+ if (normalRange.start > start) { // compare millisecond time (skip any ambig logic)
+ inverseRanges.push({
+ event: event0,
+ start: start,
+ end: normalRange.start
+ });
+ }
+
+ start = normalRange.end;
+ }
+
+ // add the span of time after the last event (if there is any)
+ if (start < viewEnd) { // compare millisecond time (skip any ambig logic)
+ inverseRanges.push({
+ event: event0,
+ start: start,
+ end: viewEnd
+ });
+ }
+
+ return inverseRanges;
+ },
+
+
+ // Slices the given event range into one or more segment objects.
+ // A `rangeToSegsFunc` custom slicing function can be given.
+ eventRangeToSegs: function(eventRange, rangeToSegsFunc) {
+ var segs;
+ var i, seg;
+
+ eventRange = this.view.calendar.ensureVisibleEventRange(eventRange);
+
+ if (rangeToSegsFunc) {
+ segs = rangeToSegsFunc(eventRange);
+ }
+ else {
+ segs = this.rangeToSegs(eventRange); // defined by the subclass
+ }
+
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ seg.event = eventRange.event;
+ seg.eventStartMS = eventRange.eventStartMS;
+ seg.eventDurationMS = eventRange.eventDurationMS;
+ }
+
+ return segs;
+ },
+
+
+ sortSegs: function(segs) {
+ segs.sort(proxy(this, 'compareSegs'));
+ },
+
+
+ // A cmp function for determining which segments should take visual priority
+ // DOES NOT WORK ON INVERTED BACKGROUND EVENTS because they have no eventStartMS/eventDurationMS
+ compareSegs: function(seg1, seg2) {
+ return seg1.eventStartMS - seg2.eventStartMS || // earlier events go first
+ seg2.eventDurationMS - seg1.eventDurationMS || // tie? longer events go first
+ seg2.event.allDay - seg1.event.allDay || // tie? put all-day events first (booleans cast to 0/1)
+ compareByFieldSpecs(seg1.event, seg2.event, this.view.eventOrderSpecs);
+ }
+
+});
+
+
+/* Utilities
+----------------------------------------------------------------------------------------------------------------------*/
+
+
+function isBgEvent(event) { // returns true if background OR inverse-background
+ var rendering = getEventRendering(event);
+ return rendering === 'background' || rendering === 'inverse-background';
+}
+
+
+function isInverseBgEvent(event) {
+ return getEventRendering(event) === 'inverse-background';
+}
+
+
+function getEventRendering(event) {
+ return firstDefined((event.source || {}).rendering, event.rendering);
+}
+
+
+function groupEventsById(events) {
+ var eventsById = {};
+ var i, event;
+
+ for (i = 0; i < events.length; i++) {
+ event = events[i];
+ (eventsById[event._id] || (eventsById[event._id] = [])).push(event);
+ }
+
+ return eventsById;
+}
+
+
+// A cmp function for determining which non-inverted "ranges" (see above) happen earlier
+function compareNormalRanges(range1, range2) {
+ return range1.eventStartMS - range2.eventStartMS; // earlier ranges go first
+}
+
+
+/* External-Dragging-Element Data
+----------------------------------------------------------------------------------------------------------------------*/
+
+// Require all HTML5 data-* attributes used by FullCalendar to have this prefix.
+// A value of '' will query attributes like data-event. A value of 'fc' will query attributes like data-fc-event.
+FC.dataAttrPrefix = '';
+
+// Given a jQuery element that might represent a dragged FullCalendar event, returns an intermediate data structure
+// to be used for Event Object creation.
+// A defined `.eventProps`, even when empty, indicates that an event should be created.
+function getDraggedElMeta(el) {
+ var prefix = FC.dataAttrPrefix;
+ var eventProps; // properties for creating the event, not related to date/time
+ var startTime; // a Duration
+ var duration;
+ var stick;
+
+ if (prefix) { prefix += '-'; }
+ eventProps = el.data(prefix + 'event') || null;
+
+ if (eventProps) {
+ if (typeof eventProps === 'object') {
+ eventProps = $.extend({}, eventProps); // make a copy
+ }
+ else { // something like 1 or true. still signal event creation
+ eventProps = {};
+ }
+
+ // pluck special-cased date/time properties
+ startTime = eventProps.start;
+ if (startTime == null) { startTime = eventProps.time; } // accept 'time' as well
+ duration = eventProps.duration;
+ stick = eventProps.stick;
+ delete eventProps.start;
+ delete eventProps.time;
+ delete eventProps.duration;
+ delete eventProps.stick;
+ }
+
+ // fallback to standalone attribute values for each of the date/time properties
+ if (startTime == null) { startTime = el.data(prefix + 'start'); }
+ if (startTime == null) { startTime = el.data(prefix + 'time'); } // accept 'time' as well
+ if (duration == null) { duration = el.data(prefix + 'duration'); }
+ if (stick == null) { stick = el.data(prefix + 'stick'); }
+
+ // massage into correct data types
+ startTime = startTime != null ? moment.duration(startTime) : null;
+ duration = duration != null ? moment.duration(duration) : null;
+ stick = Boolean(stick);
+
+ return { eventProps: eventProps, startTime: startTime, duration: duration, stick: stick };
+}
+
+
+;;
+
+/*
+A set of rendering and date-related methods for a visual component comprised of one or more rows of day columns.
+Prerequisite: the object being mixed into needs to be a *Grid*
+*/
+var DayTableMixin = FC.DayTableMixin = {
+
+ breakOnWeeks: false, // should create a new row for each week?
+ dayDates: null, // whole-day dates for each column. left to right
+ dayIndices: null, // for each day from start, the offset
+ daysPerRow: null,
+ rowCnt: null,
+ colCnt: null,
+ colHeadFormat: null,
+
+
+ // Populates internal variables used for date calculation and rendering
+ updateDayTable: function() {
+ var view = this.view;
+ var date = this.start.clone();
+ var dayIndex = -1;
+ var dayIndices = [];
+ var dayDates = [];
+ var daysPerRow;
+ var firstDay;
+ var rowCnt;
+
+ while (date.isBefore(this.end)) { // loop each day from start to end
+ if (view.isHiddenDay(date)) {
+ dayIndices.push(dayIndex + 0.5); // mark that it's between indices
+ }
+ else {
+ dayIndex++;
+ dayIndices.push(dayIndex);
+ dayDates.push(date.clone());
+ }
+ date.add(1, 'days');
+ }
+
+ if (this.breakOnWeeks) {
+ // count columns until the day-of-week repeats
+ firstDay = dayDates[0].day();
+ for (daysPerRow = 1; daysPerRow < dayDates.length; daysPerRow++) {
+ if (dayDates[daysPerRow].day() == firstDay) {
+ break;
+ }
+ }
+ rowCnt = Math.ceil(dayDates.length / daysPerRow);
+ }
+ else {
+ rowCnt = 1;
+ daysPerRow = dayDates.length;
+ }
+
+ this.dayDates = dayDates;
+ this.dayIndices = dayIndices;
+ this.daysPerRow = daysPerRow;
+ this.rowCnt = rowCnt;
+
+ this.updateDayTableCols();
+ },
+
+
+ // Computes and assigned the colCnt property and updates any options that may be computed from it
+ updateDayTableCols: function() {
+ this.colCnt = this.computeColCnt();
+ this.colHeadFormat = this.view.opt('columnFormat') || this.computeColHeadFormat();
+ },
+
+
+ // Determines how many columns there should be in the table
+ computeColCnt: function() {
+ return this.daysPerRow;
+ },
+
+
+ // Computes the ambiguously-timed moment for the given cell
+ getCellDate: function(row, col) {
+ return this.dayDates[
+ this.getCellDayIndex(row, col)
+ ].clone();
+ },
+
+
+ // Computes the ambiguously-timed date range for the given cell
+ getCellRange: function(row, col) {
+ var start = this.getCellDate(row, col);
+ var end = start.clone().add(1, 'days');
+
+ return { start: start, end: end };
+ },
+
+
+ // Returns the number of day cells, chronologically, from the first of the grid (0-based)
+ getCellDayIndex: function(row, col) {
+ return row * this.daysPerRow + this.getColDayIndex(col);
+ },
+
+
+ // Returns the numner of day cells, chronologically, from the first cell in *any given row*
+ getColDayIndex: function(col) {
+ if (this.isRTL) {
+ return this.colCnt - 1 - col;
+ }
+ else {
+ return col;
+ }
+ },
+
+
+ // Given a date, returns its chronolocial cell-index from the first cell of the grid.
+ // If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.
+ // If before the first offset, returns a negative number.
+ // If after the last offset, returns an offset past the last cell offset.
+ // Only works for *start* dates of cells. Will not work for exclusive end dates for cells.
+ getDateDayIndex: function(date) {
+ var dayIndices = this.dayIndices;
+ var dayOffset = date.diff(this.start, 'days');
+
+ if (dayOffset < 0) {
+ return dayIndices[0] - 1;
+ }
+ else if (dayOffset >= dayIndices.length) {
+ return dayIndices[dayIndices.length - 1] + 1;
+ }
+ else {
+ return dayIndices[dayOffset];
+ }
+ },
+
+
+ /* Options
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Computes a default column header formatting string if `colFormat` is not explicitly defined
+ computeColHeadFormat: function() {
+ // if more than one week row, or if there are a lot of columns with not much space,
+ // put just the day numbers will be in each cell
+ if (this.rowCnt > 1 || this.colCnt > 10) {
+ return 'ddd'; // "Sat"
+ }
+ // multiple days, so full single date string WON'T be in title text
+ else if (this.colCnt > 1) {
+ return this.view.opt('dayOfMonthFormat'); // "Sat 12/10"
+ }
+ // single day, so full single date string will probably be in title text
+ else {
+ return 'dddd'; // "Saturday"
+ }
+ },
+
+
+ /* Slicing
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Slices up a date range into a segment for every week-row it intersects with
+ sliceRangeByRow: function(range) {
+ var daysPerRow = this.daysPerRow;
+ var normalRange = this.view.computeDayRange(range); // make whole-day range, considering nextDayThreshold
+ var rangeFirst = this.getDateDayIndex(normalRange.start); // inclusive first index
+ var rangeLast = this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); // inclusive last index
+ var segs = [];
+ var row;
+ var rowFirst, rowLast; // inclusive day-index range for current row
+ var segFirst, segLast; // inclusive day-index range for segment
+
+ for (row = 0; row < this.rowCnt; row++) {
+ rowFirst = row * daysPerRow;
+ rowLast = rowFirst + daysPerRow - 1;
+
+ // intersect segment's offset range with the row's
+ segFirst = Math.max(rangeFirst, rowFirst);
+ segLast = Math.min(rangeLast, rowLast);
+
+ // deal with in-between indices
+ segFirst = Math.ceil(segFirst); // in-between starts round to next cell
+ segLast = Math.floor(segLast); // in-between ends round to prev cell
+
+ if (segFirst <= segLast) { // was there any intersection with the current row?
+ segs.push({
+ row: row,
+
+ // normalize to start of row
+ firstRowDayIndex: segFirst - rowFirst,
+ lastRowDayIndex: segLast - rowFirst,
+
+ // must be matching integers to be the segment's start/end
+ isStart: segFirst === rangeFirst,
+ isEnd: segLast === rangeLast
+ });
+ }
+ }
+
+ return segs;
+ },
+
+
+ // Slices up a date range into a segment for every day-cell it intersects with.
+ // TODO: make more DRY with sliceRangeByRow somehow.
+ sliceRangeByDay: function(range) {
+ var daysPerRow = this.daysPerRow;
+ var normalRange = this.view.computeDayRange(range); // make whole-day range, considering nextDayThreshold
+ var rangeFirst = this.getDateDayIndex(normalRange.start); // inclusive first index
+ var rangeLast = this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); // inclusive last index
+ var segs = [];
+ var row;
+ var rowFirst, rowLast; // inclusive day-index range for current row
+ var i;
+ var segFirst, segLast; // inclusive day-index range for segment
+
+ for (row = 0; row < this.rowCnt; row++) {
+ rowFirst = row * daysPerRow;
+ rowLast = rowFirst + daysPerRow - 1;
+
+ for (i = rowFirst; i <= rowLast; i++) {
+
+ // intersect segment's offset range with the row's
+ segFirst = Math.max(rangeFirst, i);
+ segLast = Math.min(rangeLast, i);
+
+ // deal with in-between indices
+ segFirst = Math.ceil(segFirst); // in-between starts round to next cell
+ segLast = Math.floor(segLast); // in-between ends round to prev cell
+
+ if (segFirst <= segLast) { // was there any intersection with the current row?
+ segs.push({
+ row: row,
+
+ // normalize to start of row
+ firstRowDayIndex: segFirst - rowFirst,
+ lastRowDayIndex: segLast - rowFirst,
+
+ // must be matching integers to be the segment's start/end
+ isStart: segFirst === rangeFirst,
+ isEnd: segLast === rangeLast
+ });
+ }
+ }
+ }
+
+ return segs;
+ },
+
+
+ /* Header Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ renderHeadHtml: function() {
+ var view = this.view;
+
+ return '' +
+ '<div class="fc-row ' + view.widgetHeaderClass + '">' +
+ '<table>' +
+ '<thead>' +
+ this.renderHeadTrHtml() +
+ '</thead>' +
+ '</table>' +
+ '</div>';
+ },
+
+
+ renderHeadIntroHtml: function() {
+ return this.renderIntroHtml(); // fall back to generic
+ },
+
+
+ renderHeadTrHtml: function() {
+ return '' +
+ '<tr>' +
+ (this.isRTL ? '' : this.renderHeadIntroHtml()) +
+ this.renderHeadDateCellsHtml() +
+ (this.isRTL ? this.renderHeadIntroHtml() : '') +
+ '</tr>';
+ },
+
+
+ renderHeadDateCellsHtml: function() {
+ var htmls = [];
+ var col, date;
+
+ for (col = 0; col < this.colCnt; col++) {
+ date = this.getCellDate(0, col);
+ htmls.push(this.renderHeadDateCellHtml(date));
+ }
+
+ return htmls.join('');
+ },
+
+
+ renderHeadDateCellHtml: function(date, colspan) {
+ var view = this.view;
+
+ return '' +
+ '<th class="fc-day-header ' + view.widgetHeaderClass + ' fc-' + dayIDs[date.day()] + '"' +
+ (colspan > 1 ? ' colspan="' + colspan + '"' : '') +
+ '>' +
+ htmlEscape(date.format(this.colHeadFormat)) +
+ '</th>';
+ },
+
+
+ /* Background Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ renderBgTrHtml: function(row) {
+ return '' +
+ '<tr>' +
+ (this.isRTL ? '' : this.renderBgIntroHtml(row)) +
+ this.renderBgCellsHtml(row) +
+ (this.isRTL ? this.renderBgIntroHtml(row) : '') +
+ '</tr>';
+ },
+
+
+ renderBgIntroHtml: function(row) {
+ return this.renderIntroHtml(); // fall back to generic
+ },
+
+
+ renderBgCellsHtml: function(row) {
+ var htmls = [];
+ var col, date;
+
+ for (col = 0; col < this.colCnt; col++) {
+ date = this.getCellDate(row, col);
+ htmls.push(this.renderBgCellHtml(date));
+ }
+
+ return htmls.join('');
+ },
+
+
+ renderBgCellHtml: function(date) {
+ var view = this.view;
+ var classes = this.getDayClasses(date);
+
+ classes.unshift('fc-day', view.widgetContentClass);
+
+ return '<td class="' + classes.join(' ') + '"' +
+ ' data-date="' + date.format('YYYY-MM-DD') + '"' + // if date has a time, won't format it
+ '></td>';
+ },
+
+
+ /* Generic
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Generates the default HTML intro for any row. User classes should override
+ renderIntroHtml: function() {
+ },
+
+
+ /* Utils
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Applies the generic "intro" and "outro" HTML to the given cells.
+ // Intro means the leftmost cell when the calendar is LTR and the rightmost cell when RTL. Vice-versa for outro.
+ bookendCells: function(trEl) {
+ var introHtml = this.renderIntroHtml();
+
+ if (introHtml) {
+ if (this.isRTL) {
+ trEl.append(introHtml);
+ }
+ else {
+ trEl.prepend(introHtml);
+ }
+ }
}
-
- options = $.extend(true, {},
- defaults,
- (options.isRTL || options.isRTL===undefined && defaults.isRTL) ? rtlDefaults : {},
- options
- );
-
-
- this.each(function(i, _element) {
- var element = $(_element);
- var calendar = new Calendar(element, options, eventSources);
- element.data('fullCalendar', calendar); // TODO: look into memory leak implications
- calendar.render();
- });
-
-
- return this;
-
};
+;;
+
+/* A component that renders a grid of whole-days that runs horizontally. There can be multiple rows, one per week.
+----------------------------------------------------------------------------------------------------------------------*/
+
+var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
+
+ numbersVisible: false, // should render a row for day/week numbers? set by outside view. TODO: make internal
+ bottomCoordPadding: 0, // hack for extending the hit area for the last row of the coordinate grid
+
+ rowEls: null, // set of fake row elements
+ cellEls: null, // set of whole-day elements comprising the row's background
+ helperEls: null, // set of cell skeleton elements for rendering the mock event "helper"
+
+ rowCoordCache: null,
+ colCoordCache: null,
+
+
+ // Renders the rows and columns into the component's `this.el`, which should already be assigned.
+ // isRigid determins whether the individual rows should ignore the contents and be a constant height.
+ // Relies on the view's colCnt and rowCnt. In the future, this component should probably be self-sufficient.
+ renderDates: function(isRigid) {
+ var view = this.view;
+ var rowCnt = this.rowCnt;
+ var colCnt = this.colCnt;
+ var html = '';
+ var row;
+ var col;
+
+ for (row = 0; row < rowCnt; row++) {
+ html += this.renderDayRowHtml(row, isRigid);
+ }
+ this.el.html(html);
+
+ this.rowEls = this.el.find('.fc-row');
+ this.cellEls = this.el.find('.fc-day');
+
+ this.rowCoordCache = new CoordCache({
+ els: this.rowEls,
+ isVertical: true
+ });
+ this.colCoordCache = new CoordCache({
+ els: this.cellEls.slice(0, this.colCnt), // only the first row
+ isHorizontal: true
+ });
+
+ // trigger dayRender with each cell's element
+ for (row = 0; row < rowCnt; row++) {
+ for (col = 0; col < colCnt; col++) {
+ view.trigger(
+ 'dayRender',
+ null,
+ this.getCellDate(row, col),
+ this.getCellEl(row, col)
+ );
+ }
+ }
+ },
+
+
+ unrenderDates: function() {
+ this.removeSegPopover();
+ },
+
+
+ renderBusinessHours: function() {
+ var events = this.view.calendar.getBusinessHoursEvents(true); // wholeDay=true
+ var segs = this.eventsToSegs(events);
+
+ this.renderFill('businessHours', segs, 'bgevent');
+ },
+
+
+ // Generates the HTML for a single row, which is a div that wraps a table.
+ // `row` is the row number.
+ renderDayRowHtml: function(row, isRigid) {
+ var view = this.view;
+ var classes = [ 'fc-row', 'fc-week', view.widgetContentClass ];
+
+ if (isRigid) {
+ classes.push('fc-rigid');
+ }
+
+ return '' +
+ '<div class="' + classes.join(' ') + '">' +
+ '<div class="fc-bg">' +
+ '<table>' +
+ this.renderBgTrHtml(row) +
+ '</table>' +
+ '</div>' +
+ '<div class="fc-content-skeleton">' +
+ '<table>' +
+ (this.numbersVisible ?
+ '<thead>' +
+ this.renderNumberTrHtml(row) +
+ '</thead>' :
+ ''
+ ) +
+ '</table>' +
+ '</div>' +
+ '</div>';
+ },
+
+
+ /* Grid Number Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ renderNumberTrHtml: function(row) {
+ return '' +
+ '<tr>' +
+ (this.isRTL ? '' : this.renderNumberIntroHtml(row)) +
+ this.renderNumberCellsHtml(row) +
+ (this.isRTL ? this.renderNumberIntroHtml(row) : '') +
+ '</tr>';
+ },
+
+
+ renderNumberIntroHtml: function(row) {
+ return this.renderIntroHtml();
+ },
+
+
+ renderNumberCellsHtml: function(row) {
+ var htmls = [];
+ var col, date;
+
+ for (col = 0; col < this.colCnt; col++) {
+ date = this.getCellDate(row, col);
+ htmls.push(this.renderNumberCellHtml(date));
+ }
+
+ return htmls.join('');
+ },
+
+
+ // Generates the HTML for the <td>s of the "number" row in the DayGrid's content skeleton.
+ // The number row will only exist if either day numbers or week numbers are turned on.
+ renderNumberCellHtml: function(date) {
+ var classes;
+
+ if (!this.view.dayNumbersVisible) { // if there are week numbers but not day numbers
+ return '<td/>'; // will create an empty space above events :(
+ }
+
+ classes = this.getDayClasses(date);
+ classes.unshift('fc-day-number');
+
+ return '' +
+ '<td class="' + classes.join(' ') + '" data-date="' + date.format() + '">' +
+ date.date() +
+ '</td>';
+ },
+
+
+ /* Options
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Computes a default event time formatting string if `timeFormat` is not explicitly defined
+ computeEventTimeFormat: function() {
+ return this.view.opt('extraSmallTimeFormat'); // like "6p" or "6:30p"
+ },
+
+
+ // Computes a default `displayEventEnd` value if one is not expliclty defined
+ computeDisplayEventEnd: function() {
+ return this.colCnt == 1; // we'll likely have space if there's only one day
+ },
+
+
+ /* Dates
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ rangeUpdated: function() {
+ this.updateDayTable();
+ },
+
+
+ // Slices up a date range by row into an array of segments
+ rangeToSegs: function(range) {
+ var segs = this.sliceRangeByRow(range);
+ var i, seg;
+
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ if (this.isRTL) {
+ seg.leftCol = this.daysPerRow - 1 - seg.lastRowDayIndex;
+ seg.rightCol = this.daysPerRow - 1 - seg.firstRowDayIndex;
+ }
+ else {
+ seg.leftCol = seg.firstRowDayIndex;
+ seg.rightCol = seg.lastRowDayIndex;
+ }
+ }
+
+ return segs;
+ },
+
+
+ /* Hit System
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ prepareHits: function() {
+ this.colCoordCache.build();
+ this.rowCoordCache.build();
+ this.rowCoordCache.bottoms[this.rowCnt - 1] += this.bottomCoordPadding; // hack
+ },
+
+
+ releaseHits: function() {
+ this.colCoordCache.clear();
+ this.rowCoordCache.clear();
+ },
+
+
+ queryHit: function(leftOffset, topOffset) {
+ var col = this.colCoordCache.getHorizontalIndex(leftOffset);
+ var row = this.rowCoordCache.getVerticalIndex(topOffset);
+
+ if (row != null && col != null) {
+ return this.getCellHit(row, col);
+ }
+ },
+
+
+ getHitSpan: function(hit) {
+ return this.getCellRange(hit.row, hit.col);
+ },
+
+
+ getHitEl: function(hit) {
+ return this.getCellEl(hit.row, hit.col);
+ },
+
+
+ /* Cell System
+ ------------------------------------------------------------------------------------------------------------------*/
+ // FYI: the first column is the leftmost column, regardless of date
+
+
+ getCellHit: function(row, col) {
+ return {
+ row: row,
+ col: col,
+ component: this, // needed unfortunately :(
+ left: this.colCoordCache.getLeftOffset(col),
+ right: this.colCoordCache.getRightOffset(col),
+ top: this.rowCoordCache.getTopOffset(row),
+ bottom: this.rowCoordCache.getBottomOffset(row)
+ };
+ },
+
+
+ getCellEl: function(row, col) {
+ return this.cellEls.eq(row * this.colCnt + col);
+ },
+
+
+ /* Event Drag Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+ // TODO: move to DayGrid.event, similar to what we did with Grid's drag methods
+
+
+ // Renders a visual indication of an event or external element being dragged.
+ // The dropLocation's end can be null. seg can be null. See Grid::renderDrag for more info.
+ renderDrag: function(dropLocation, seg) {
+
+ // always render a highlight underneath
+ this.renderHighlight(this.eventRangeToSegs(dropLocation));
+
+ // if a segment from the same calendar but another component is being dragged, render a helper event
+ if (seg && !seg.el.closest(this.el).length) {
+
+ this.renderRangeHelper(dropLocation, seg);
+ this.applyDragOpacity(this.helperEls);
+
+ return true; // a helper has been rendered
+ }
+ },
+
+
+ // Unrenders any visual indication of a hovering event
+ unrenderDrag: function() {
+ this.unrenderHighlight();
+ this.unrenderHelper();
+ },
+
+
+ /* Event Resize Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a visual indication of an event being resized
+ renderEventResize: function(range, seg) {
+ this.renderHighlight(this.eventRangeToSegs(range));
+ this.renderRangeHelper(range, seg);
+ },
+
+
+ // Unrenders a visual indication of an event being resized
+ unrenderEventResize: function() {
+ this.unrenderHighlight();
+ this.unrenderHelper();
+ },
+
+
+ /* Event Helper
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a mock "helper" event. `sourceSeg` is the associated internal segment object. It can be null.
+ renderHelper: function(event, sourceSeg) {
+ var helperNodes = [];
+ var segs = this.eventsToSegs([ event ]);
+ var rowStructs;
+
+ segs = this.renderFgSegEls(segs); // assigns each seg's el and returns a subset of segs that were rendered
+ rowStructs = this.renderSegRows(segs);
+
+ // inject each new event skeleton into each associated row
+ this.rowEls.each(function(row, rowNode) {
+ var rowEl = $(rowNode); // the .fc-row
+ var skeletonEl = $('<div class="fc-helper-skeleton"><table/></div>'); // will be absolutely positioned
+ var skeletonTop;
+
+ // If there is an original segment, match the top position. Otherwise, put it at the row's top level
+ if (sourceSeg && sourceSeg.row === row) {
+ skeletonTop = sourceSeg.el.position().top;
+ }
+ else {
+ skeletonTop = rowEl.find('.fc-content-skeleton tbody').position().top;
+ }
+
+ skeletonEl.css('top', skeletonTop)
+ .find('table')
+ .append(rowStructs[row].tbodyEl);
+
+ rowEl.append(skeletonEl);
+ helperNodes.push(skeletonEl[0]);
+ });
+
+ this.helperEls = $(helperNodes); // array -> jQuery set
+ },
+
+
+ // Unrenders any visual indication of a mock helper event
+ unrenderHelper: function() {
+ if (this.helperEls) {
+ this.helperEls.remove();
+ this.helperEls = null;
+ }
+ },
+
+
+ /* Fill System (highlight, background events, business hours)
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ fillSegTag: 'td', // override the default tag name
+
+
+ // Renders a set of rectangles over the given segments of days.
+ // Only returns segments that successfully rendered.
+ renderFill: function(type, segs, className) {
+ var nodes = [];
+ var i, seg;
+ var skeletonEl;
+
+ segs = this.renderFillSegEls(type, segs); // assignes `.el` to each seg. returns successfully rendered segs
+
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ skeletonEl = this.renderFillRow(type, seg, className);
+ this.rowEls.eq(seg.row).append(skeletonEl);
+ nodes.push(skeletonEl[0]);
+ }
+
+ this.elsByFill[type] = $(nodes);
+
+ return segs;
+ },
+
+
+ // Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.
+ renderFillRow: function(type, seg, className) {
+ var colCnt = this.colCnt;
+ var startCol = seg.leftCol;
+ var endCol = seg.rightCol + 1;
+ var skeletonEl;
+ var trEl;
+
+ className = className || type.toLowerCase();
+
+ skeletonEl = $(
+ '<div class="fc-' + className + '-skeleton">' +
+ '<table><tr/></table>' +
+ '</div>'
+ );
+ trEl = skeletonEl.find('tr');
+
+ if (startCol > 0) {
+ trEl.append('<td colspan="' + startCol + '"/>');
+ }
+
+ trEl.append(
+ seg.el.attr('colspan', endCol - startCol)
+ );
+
+ if (endCol < colCnt) {
+ trEl.append('<td colspan="' + (colCnt - endCol) + '"/>');
+ }
+
+ this.bookendCells(trEl);
+
+ return skeletonEl;
+ }
+
+});
+
+;;
+
+/* Event-rendering methods for the DayGrid class
+----------------------------------------------------------------------------------------------------------------------*/
+
+DayGrid.mixin({
+
+ rowStructs: null, // an array of objects, each holding information about a row's foreground event-rendering
+
+
+ // Unrenders all events currently rendered on the grid
+ unrenderEvents: function() {
+ this.removeSegPopover(); // removes the "more.." events popover
+ Grid.prototype.unrenderEvents.apply(this, arguments); // calls the super-method
+ },
+
+
+ // Retrieves all rendered segment objects currently rendered on the grid
+ getEventSegs: function() {
+ return Grid.prototype.getEventSegs.call(this) // get the segments from the super-method
+ .concat(this.popoverSegs || []); // append the segments from the "more..." popover
+ },
+
+
+ // Renders the given background event segments onto the grid
+ renderBgSegs: function(segs) {
+
+ // don't render timed background events
+ var allDaySegs = $.grep(segs, function(seg) {
+ return seg.event.allDay;
+ });
+
+ return Grid.prototype.renderBgSegs.call(this, allDaySegs); // call the super-method
+ },
+
+
+ // Renders the given foreground event segments onto the grid
+ renderFgSegs: function(segs) {
+ var rowStructs;
+
+ // render an `.el` on each seg
+ // returns a subset of the segs. segs that were actually rendered
+ segs = this.renderFgSegEls(segs);
+
+ rowStructs = this.rowStructs = this.renderSegRows(segs);
+
+ // append to each row's content skeleton
+ this.rowEls.each(function(i, rowNode) {
+ $(rowNode).find('.fc-content-skeleton > table').append(
+ rowStructs[i].tbodyEl
+ );
+ });
+
+ return segs; // return only the segs that were actually rendered
+ },
+
+
+ // Unrenders all currently rendered foreground event segments
+ unrenderFgSegs: function() {
+ var rowStructs = this.rowStructs || [];
+ var rowStruct;
+
+ while ((rowStruct = rowStructs.pop())) {
+ rowStruct.tbodyEl.remove();
+ }
+
+ this.rowStructs = null;
+ },
+
+
+ // Uses the given events array to generate <tbody> elements that should be appended to each row's content skeleton.
+ // Returns an array of rowStruct objects (see the bottom of `renderSegRow`).
+ // PRECONDITION: each segment shoud already have a rendered and assigned `.el`
+ renderSegRows: function(segs) {
+ var rowStructs = [];
+ var segRows;
+ var row;
+
+ segRows = this.groupSegRows(segs); // group into nested arrays
+
+ // iterate each row of segment groupings
+ for (row = 0; row < segRows.length; row++) {
+ rowStructs.push(
+ this.renderSegRow(row, segRows[row])
+ );
+ }
+
+ return rowStructs;
+ },
+
+
+ // Builds the HTML to be used for the default element for an individual segment
+ fgSegHtml: function(seg, disableResizing) {
+ var view = this.view;
+ var event = seg.event;
+ var isDraggable = view.isEventDraggable(event);
+ var isResizableFromStart = !disableResizing && event.allDay &&
+ seg.isStart && view.isEventResizableFromStart(event);
+ var isResizableFromEnd = !disableResizing && event.allDay &&
+ seg.isEnd && view.isEventResizableFromEnd(event);
+ var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd);
+ var skinCss = cssToStr(this.getEventSkinCss(event));
+ var timeHtml = '';
+ var timeText;
+ var titleHtml;
+
+ classes.unshift('fc-day-grid-event', 'fc-h-event');
+
+ // Only display a timed events time if it is the starting segment
+ if (seg.isStart) {
+ timeText = this.getEventTimeText(event);
+ if (timeText) {
+ timeHtml = '<span class="fc-time">' + htmlEscape(timeText) + '</span>';
+ }
+ }
+
+ titleHtml =
+ '<span class="fc-title">' +
+ (htmlEscape(event.title || '') || '&nbsp;') + // we always want one line of height
+ '</span>';
+
+ return '<a class="' + classes.join(' ') + '"' +
+ (event.url ?
+ ' href="' + htmlEscape(event.url) + '"' :
+ ''
+ ) +
+ (skinCss ?
+ ' style="' + skinCss + '"' :
+ ''
+ ) +
+ '>' +
+ '<div class="fc-content">' +
+ (this.isRTL ?
+ titleHtml + ' ' + timeHtml : // put a natural space in between
+ timeHtml + ' ' + titleHtml //
+ ) +
+ '</div>' +
+ (isResizableFromStart ?
+ '<div class="fc-resizer fc-start-resizer" />' :
+ ''
+ ) +
+ (isResizableFromEnd ?
+ '<div class="fc-resizer fc-end-resizer" />' :
+ ''
+ ) +
+ '</a>';
+ },
+
+
+ // Given a row # and an array of segments all in the same row, render a <tbody> element, a skeleton that contains
+ // the segments. Returns object with a bunch of internal data about how the render was calculated.
+ // NOTE: modifies rowSegs
+ renderSegRow: function(row, rowSegs) {
+ var colCnt = this.colCnt;
+ var segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels
+ var levelCnt = Math.max(1, segLevels.length); // ensure at least one level
+ var tbody = $('<tbody/>');
+ var segMatrix = []; // lookup for which segments are rendered into which level+col cells
+ var cellMatrix = []; // lookup for all <td> elements of the level+col matrix
+ var loneCellMatrix = []; // lookup for <td> elements that only take up a single column
+ var i, levelSegs;
+ var col;
+ var tr;
+ var j, seg;
+ var td;
+
+ // populates empty cells from the current column (`col`) to `endCol`
+ function emptyCellsUntil(endCol) {
+ while (col < endCol) {
+ // try to grab a cell from the level above and extend its rowspan. otherwise, create a fresh cell
+ td = (loneCellMatrix[i - 1] || [])[col];
+ if (td) {
+ td.attr(
+ 'rowspan',
+ parseInt(td.attr('rowspan') || 1, 10) + 1
+ );
+ }
+ else {
+ td = $('<td/>');
+ tr.append(td);
+ }
+ cellMatrix[i][col] = td;
+ loneCellMatrix[i][col] = td;
+ col++;
+ }
+ }
+
+ for (i = 0; i < levelCnt; i++) { // iterate through all levels
+ levelSegs = segLevels[i];
+ col = 0;
+ tr = $('<tr/>');
+
+ segMatrix.push([]);
+ cellMatrix.push([]);
+ loneCellMatrix.push([]);
+
+ // levelCnt might be 1 even though there are no actual levels. protect against this.
+ // this single empty row is useful for styling.
+ if (levelSegs) {
+ for (j = 0; j < levelSegs.length; j++) { // iterate through segments in level
+ seg = levelSegs[j];
+
+ emptyCellsUntil(seg.leftCol);
+
+ // create a container that occupies or more columns. append the event element.
+ td = $('<td class="fc-event-container"/>').append(seg.el);
+ if (seg.leftCol != seg.rightCol) {
+ td.attr('colspan', seg.rightCol - seg.leftCol + 1);
+ }
+ else { // a single-column segment
+ loneCellMatrix[i][col] = td;
+ }
+
+ while (col <= seg.rightCol) {
+ cellMatrix[i][col] = td;
+ segMatrix[i][col] = seg;
+ col++;
+ }
+
+ tr.append(td);
+ }
+ }
+
+ emptyCellsUntil(colCnt); // finish off the row
+ this.bookendCells(tr);
+ tbody.append(tr);
+ }
+
+ return { // a "rowStruct"
+ row: row, // the row number
+ tbodyEl: tbody,
+ cellMatrix: cellMatrix,
+ segMatrix: segMatrix,
+ segLevels: segLevels,
+ segs: rowSegs
+ };
+ },
+
+
+ // Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.
+ // NOTE: modifies segs
+ buildSegLevels: function(segs) {
+ var levels = [];
+ var i, seg;
+ var j;
+
+ // Give preference to elements with certain criteria, so they have
+ // a chance to be closer to the top.
+ this.sortSegs(segs);
+
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+
+ // loop through levels, starting with the topmost, until the segment doesn't collide with other segments
+ for (j = 0; j < levels.length; j++) {
+ if (!isDaySegCollision(seg, levels[j])) {
+ break;
+ }
+ }
+ // `j` now holds the desired subrow index
+ seg.level = j;
+
+ // create new level array if needed and append segment
+ (levels[j] || (levels[j] = [])).push(seg);
+ }
+
+ // order segments left-to-right. very important if calendar is RTL
+ for (j = 0; j < levels.length; j++) {
+ levels[j].sort(compareDaySegCols);
+ }
+
+ return levels;
+ },
+
+
+ // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's row
+ groupSegRows: function(segs) {
+ var segRows = [];
+ var i;
+
+ for (i = 0; i < this.rowCnt; i++) {
+ segRows.push([]);
+ }
+
+ for (i = 0; i < segs.length; i++) {
+ segRows[segs[i].row].push(segs[i]);
+ }
+
+ return segRows;
+ }
+
+});
+
+
+// Computes whether two segments' columns collide. They are assumed to be in the same row.
+function isDaySegCollision(seg, otherSegs) {
+ var i, otherSeg;
+
+ for (i = 0; i < otherSegs.length; i++) {
+ otherSeg = otherSegs[i];
+
+ if (
+ otherSeg.leftCol <= seg.rightCol &&
+ otherSeg.rightCol >= seg.leftCol
+ ) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+
+// A cmp function for determining the leftmost event
+function compareDaySegCols(a, b) {
+ return a.leftCol - b.leftCol;
+}
+
+;;
+
+/* Methods relate to limiting the number events for a given day on a DayGrid
+----------------------------------------------------------------------------------------------------------------------*/
+// NOTE: all the segs being passed around in here are foreground segs
+
+DayGrid.mixin({
+
+ segPopover: null, // the Popover that holds events that can't fit in a cell. null when not visible
+ popoverSegs: null, // an array of segment objects that the segPopover holds. null when not visible
+
+
+ removeSegPopover: function() {
+ if (this.segPopover) {
+ this.segPopover.hide(); // in handler, will call segPopover's removeElement
+ }
+ },
+
+
+ // Limits the number of "levels" (vertically stacking layers of events) for each row of the grid.
+ // `levelLimit` can be false (don't limit), a number, or true (should be computed).
+ limitRows: function(levelLimit) {
+ var rowStructs = this.rowStructs || [];
+ var row; // row #
+ var rowLevelLimit;
+
+ for (row = 0; row < rowStructs.length; row++) {
+ this.unlimitRow(row);
+
+ if (!levelLimit) {
+ rowLevelLimit = false;
+ }
+ else if (typeof levelLimit === 'number') {
+ rowLevelLimit = levelLimit;
+ }
+ else {
+ rowLevelLimit = this.computeRowLevelLimit(row);
+ }
+
+ if (rowLevelLimit !== false) {
+ this.limitRow(row, rowLevelLimit);
+ }
+ }
+ },
+
+
+ // Computes the number of levels a row will accomodate without going outside its bounds.
+ // Assumes the row is "rigid" (maintains a constant height regardless of what is inside).
+ // `row` is the row number.
+ computeRowLevelLimit: function(row) {
+ var rowEl = this.rowEls.eq(row); // the containing "fake" row div
+ var rowHeight = rowEl.height(); // TODO: cache somehow?
+ var trEls = this.rowStructs[row].tbodyEl.children();
+ var i, trEl;
+ var trHeight;
+
+ function iterInnerHeights(i, childNode) {
+ trHeight = Math.max(trHeight, $(childNode).outerHeight());
+ }
+
+ // Reveal one level <tr> at a time and stop when we find one out of bounds
+ for (i = 0; i < trEls.length; i++) {
+ trEl = trEls.eq(i).removeClass('fc-limited'); // reset to original state (reveal)
+
+ // with rowspans>1 and IE8, trEl.outerHeight() would return the height of the largest cell,
+ // so instead, find the tallest inner content element.
+ trHeight = 0;
+ trEl.find('> td > :first-child').each(iterInnerHeights);
+
+ if (trEl.position().top + trHeight > rowHeight) {
+ return i;
+ }
+ }
+
+ return false; // should not limit at all
+ },
+
+
+ // Limits the given grid row to the maximum number of levels and injects "more" links if necessary.
+ // `row` is the row number.
+ // `levelLimit` is a number for the maximum (inclusive) number of levels allowed.
+ limitRow: function(row, levelLimit) {
+ var _this = this;
+ var rowStruct = this.rowStructs[row];
+ var moreNodes = []; // array of "more" <a> links and <td> DOM nodes
+ var col = 0; // col #, left-to-right (not chronologically)
+ var levelSegs; // array of segment objects in the last allowable level, ordered left-to-right
+ var cellMatrix; // a matrix (by level, then column) of all <td> jQuery elements in the row
+ var limitedNodes; // array of temporarily hidden level <tr> and segment <td> DOM nodes
+ var i, seg;
+ var segsBelow; // array of segment objects below `seg` in the current `col`
+ var totalSegsBelow; // total number of segments below `seg` in any of the columns `seg` occupies
+ var colSegsBelow; // array of segment arrays, below seg, one for each column (offset from segs's first column)
+ var td, rowspan;
+ var segMoreNodes; // array of "more" <td> cells that will stand-in for the current seg's cell
+ var j;
+ var moreTd, moreWrap, moreLink;
+
+ // Iterates through empty level cells and places "more" links inside if need be
+ function emptyCellsUntil(endCol) { // goes from current `col` to `endCol`
+ while (col < endCol) {
+ segsBelow = _this.getCellSegs(row, col, levelLimit);
+ if (segsBelow.length) {
+ td = cellMatrix[levelLimit - 1][col];
+ moreLink = _this.renderMoreLink(row, col, segsBelow);
+ moreWrap = $('<div/>').append(moreLink);
+ td.append(moreWrap);
+ moreNodes.push(moreWrap[0]);
+ }
+ col++;
+ }
+ }
+
+ if (levelLimit && levelLimit < rowStruct.segLevels.length) { // is it actually over the limit?
+ levelSegs = rowStruct.segLevels[levelLimit - 1];
+ cellMatrix = rowStruct.cellMatrix;
+
+ limitedNodes = rowStruct.tbodyEl.children().slice(levelLimit) // get level <tr> elements past the limit
+ .addClass('fc-limited').get(); // hide elements and get a simple DOM-nodes array
+
+ // iterate though segments in the last allowable level
+ for (i = 0; i < levelSegs.length; i++) {
+ seg = levelSegs[i];
+ emptyCellsUntil(seg.leftCol); // process empty cells before the segment
+
+ // determine *all* segments below `seg` that occupy the same columns
+ colSegsBelow = [];
+ totalSegsBelow = 0;
+ while (col <= seg.rightCol) {
+ segsBelow = this.getCellSegs(row, col, levelLimit);
+ colSegsBelow.push(segsBelow);
+ totalSegsBelow += segsBelow.length;
+ col++;
+ }
+
+ if (totalSegsBelow) { // do we need to replace this segment with one or many "more" links?
+ td = cellMatrix[levelLimit - 1][seg.leftCol]; // the segment's parent cell
+ rowspan = td.attr('rowspan') || 1;
+ segMoreNodes = [];
+
+ // make a replacement <td> for each column the segment occupies. will be one for each colspan
+ for (j = 0; j < colSegsBelow.length; j++) {
+ moreTd = $('<td class="fc-more-cell"/>').attr('rowspan', rowspan);
+ segsBelow = colSegsBelow[j];
+ moreLink = this.renderMoreLink(
+ row,
+ seg.leftCol + j,
+ [ seg ].concat(segsBelow) // count seg as hidden too
+ );
+ moreWrap = $('<div/>').append(moreLink);
+ moreTd.append(moreWrap);
+ segMoreNodes.push(moreTd[0]);
+ moreNodes.push(moreTd[0]);
+ }
+
+ td.addClass('fc-limited').after($(segMoreNodes)); // hide original <td> and inject replacements
+ limitedNodes.push(td[0]);
+ }
+ }
+
+ emptyCellsUntil(this.colCnt); // finish off the level
+ rowStruct.moreEls = $(moreNodes); // for easy undoing later
+ rowStruct.limitedEls = $(limitedNodes); // for easy undoing later
+ }
+ },
+
+
+ // Reveals all levels and removes all "more"-related elements for a grid's row.
+ // `row` is a row number.
+ unlimitRow: function(row) {
+ var rowStruct = this.rowStructs[row];
+
+ if (rowStruct.moreEls) {
+ rowStruct.moreEls.remove();
+ rowStruct.moreEls = null;
+ }
+
+ if (rowStruct.limitedEls) {
+ rowStruct.limitedEls.removeClass('fc-limited');
+ rowStruct.limitedEls = null;
+ }
+ },
+
+
+ // Renders an <a> element that represents hidden event element for a cell.
+ // Responsible for attaching click handler as well.
+ renderMoreLink: function(row, col, hiddenSegs) {
+ var _this = this;
+ var view = this.view;
+
+ return $('<a class="fc-more"/>')
+ .text(
+ this.getMoreLinkText(hiddenSegs.length)
+ )
+ .on('click', function(ev) {
+ var clickOption = view.opt('eventLimitClick');
+ var date = _this.getCellDate(row, col);
+ var moreEl = $(this);
+ var dayEl = _this.getCellEl(row, col);
+ var allSegs = _this.getCellSegs(row, col);
+
+ // rescope the segments to be within the cell's date
+ var reslicedAllSegs = _this.resliceDaySegs(allSegs, date);
+ var reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);
+
+ if (typeof clickOption === 'function') {
+ // the returned value can be an atomic option
+ clickOption = view.trigger('eventLimitClick', null, {
+ date: date,
+ dayEl: dayEl,
+ moreEl: moreEl,
+ segs: reslicedAllSegs,
+ hiddenSegs: reslicedHiddenSegs
+ }, ev);
+ }
+
+ if (clickOption === 'popover') {
+ _this.showSegPopover(row, col, moreEl, reslicedAllSegs);
+ }
+ else if (typeof clickOption === 'string') { // a view name
+ view.calendar.zoomTo(date, clickOption);
+ }
+ });
+ },
+
+
+ // Reveals the popover that displays all events within a cell
+ showSegPopover: function(row, col, moreLink, segs) {
+ var _this = this;
+ var view = this.view;
+ var moreWrap = moreLink.parent(); // the <div> wrapper around the <a>
+ var topEl; // the element we want to match the top coordinate of
+ var options;
+
+ if (this.rowCnt == 1) {
+ topEl = view.el; // will cause the popover to cover any sort of header
+ }
+ else {
+ topEl = this.rowEls.eq(row); // will align with top of row
+ }
+
+ options = {
+ className: 'fc-more-popover',
+ content: this.renderSegPopoverContent(row, col, segs),
+ parentEl: this.el,
+ top: topEl.offset().top,
+ autoHide: true, // when the user clicks elsewhere, hide the popover
+ viewportConstrain: view.opt('popoverViewportConstrain'),
+ hide: function() {
+ // kill everything when the popover is hidden
+ _this.segPopover.removeElement();
+ _this.segPopover = null;
+ _this.popoverSegs = null;
+ }
+ };
+
+ // Determine horizontal coordinate.
+ // We use the moreWrap instead of the <td> to avoid border confusion.
+ if (this.isRTL) {
+ options.right = moreWrap.offset().left + moreWrap.outerWidth() + 1; // +1 to be over cell border
+ }
+ else {
+ options.left = moreWrap.offset().left - 1; // -1 to be over cell border
+ }
+
+ this.segPopover = new Popover(options);
+ this.segPopover.show();
+ },
+
+
+ // Builds the inner DOM contents of the segment popover
+ renderSegPopoverContent: function(row, col, segs) {
+ var view = this.view;
+ var isTheme = view.opt('theme');
+ var title = this.getCellDate(row, col).format(view.opt('dayPopoverFormat'));
+ var content = $(
+ '<div class="fc-header ' + view.widgetHeaderClass + '">' +
+ '<span class="fc-close ' +
+ (isTheme ? 'ui-icon ui-icon-closethick' : 'fc-icon fc-icon-x') +
+ '"></span>' +
+ '<span class="fc-title">' +
+ htmlEscape(title) +
+ '</span>' +
+ '<div class="fc-clear"/>' +
+ '</div>' +
+ '<div class="fc-body ' + view.widgetContentClass + '">' +
+ '<div class="fc-event-container"></div>' +
+ '</div>'
+ );
+ var segContainer = content.find('.fc-event-container');
+ var i;
+
+ // render each seg's `el` and only return the visible segs
+ segs = this.renderFgSegEls(segs, true); // disableResizing=true
+ this.popoverSegs = segs;
+
+ for (i = 0; i < segs.length; i++) {
+
+ // because segments in the popover are not part of a grid coordinate system, provide a hint to any
+ // grids that want to do drag-n-drop about which cell it came from
+ this.prepareHits();
+ segs[i].hit = this.getCellHit(row, col);
+ this.releaseHits();
+
+ segContainer.append(segs[i].el);
+ }
+
+ return content;
+ },
+
+
+ // Given the events within an array of segment objects, reslice them to be in a single day
+ resliceDaySegs: function(segs, dayDate) {
+
+ // build an array of the original events
+ var events = $.map(segs, function(seg) {
+ return seg.event;
+ });
+
+ var dayStart = dayDate.clone().stripTime();
+ var dayEnd = dayStart.clone().add(1, 'days');
+ var dayRange = { start: dayStart, end: dayEnd };
+
+ // slice the events with a custom slicing function
+ segs = this.eventsToSegs(
+ events,
+ function(range) {
+ var seg = intersectionToSeg(range, dayRange); // undefind if no intersection
+ return seg ? [ seg ] : []; // must return an array of segments
+ }
+ );
+
+ // force an order because eventsToSegs doesn't guarantee one
+ this.sortSegs(segs);
+
+ return segs;
+ },
+
+
+ // Generates the text that should be inside a "more" link, given the number of events it represents
+ getMoreLinkText: function(num) {
+ var opt = this.view.opt('eventLimitText');
+
+ if (typeof opt === 'function') {
+ return opt(num);
+ }
+ else {
+ return '+' + num + ' ' + opt;
+ }
+ },
+
+
+ // Returns segments within a given cell.
+ // If `startLevel` is specified, returns only events including and below that level. Otherwise returns all segs.
+ getCellSegs: function(row, col, startLevel) {
+ var segMatrix = this.rowStructs[row].segMatrix;
+ var level = startLevel || 0;
+ var segs = [];
+ var seg;
+
+ while (level < segMatrix.length) {
+ seg = segMatrix[level][col];
+ if (seg) {
+ segs.push(seg);
+ }
+ level++;
+ }
+
+ return segs;
+ }
+
+});
+
+;;
+
+/* A component that renders one or more columns of vertical time slots
+----------------------------------------------------------------------------------------------------------------------*/
+// We mixin DayTable, even though there is only a single row of days
+
+var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
+
+ slotDuration: null, // duration of a "slot", a distinct time segment on given day, visualized by lines
+ snapDuration: null, // granularity of time for dragging and selecting
+ snapsPerSlot: null,
+ minTime: null, // Duration object that denotes the first visible time of any given day
+ maxTime: null, // Duration object that denotes the exclusive visible end time of any given day
+ labelFormat: null, // formatting string for times running along vertical axis
+ labelInterval: null, // duration of how often a label should be displayed for a slot
+
+ colEls: null, // cells elements in the day-row background
+ slatEls: null, // elements running horizontally across all columns
+ helperEl: null, // cell skeleton element for rendering the mock event "helper"
+
+ colCoordCache: null,
+ slatCoordCache: null,
+
+ businessHourSegs: null,
+
+
+ constructor: function() {
+ Grid.apply(this, arguments); // call the super-constructor
+
+ this.processOptions();
+ },
+
+
+ // Renders the time grid into `this.el`, which should already be assigned.
+ // Relies on the view's colCnt. In the future, this component should probably be self-sufficient.
+ renderDates: function() {
+ this.el.html(this.renderHtml());
+ this.colEls = this.el.find('.fc-day');
+ this.slatEls = this.el.find('.fc-slats tr');
+
+ this.colCoordCache = new CoordCache({
+ els: this.colEls,
+ isHorizontal: true
+ });
+ this.slatCoordCache = new CoordCache({
+ els: this.slatEls,
+ isVertical: true
+ });
+ },
+
+
+ renderBusinessHours: function() {
+ var events = this.view.calendar.getBusinessHoursEvents();
+ this.businessHourSegs = this.renderFill('businessHours', this.eventsToSegs(events), 'bgevent');
+ },
+
+
+ // Renders the basic HTML skeleton for the grid
+ renderHtml: function() {
+ return '' +
+ '<div class="fc-bg">' +
+ '<table>' +
+ this.renderBgTrHtml(0) + // row=0
+ '</table>' +
+ '</div>' +
+ '<div class="fc-slats">' +
+ '<table>' +
+ this.renderSlatRowHtml() +
+ '</table>' +
+ '</div>';
+ },
+
+
+ // Generates the HTML for the horizontal "slats" that run width-wise. Has a time axis on a side. Depends on RTL.
+ renderSlatRowHtml: function() {
+ var view = this.view;
+ var isRTL = this.isRTL;
+ var html = '';
+ var slotTime = moment.duration(+this.minTime); // wish there was .clone() for durations
+ var slotDate; // will be on the view's first day, but we only care about its time
+ var isLabeled;
+ var axisHtml;
+
+ // Calculate the time for each slot
+ while (slotTime < this.maxTime) {
+ slotDate = this.start.clone().time(slotTime); // after .time() will be in UTC. but that's good, avoids DST issues
+ isLabeled = isInt(divideDurationByDuration(slotTime, this.labelInterval));
+
+ axisHtml =
+ '<td class="fc-axis fc-time ' + view.widgetContentClass + '" ' + view.axisStyleAttr() + '>' +
+ (isLabeled ?
+ '<span>' + // for matchCellWidths
+ htmlEscape(slotDate.format(this.labelFormat)) +
+ '</span>' :
+ ''
+ ) +
+ '</td>';
+
+ html +=
+ '<tr ' + (isLabeled ? '' : 'class="fc-minor"') + '>' +
+ (!isRTL ? axisHtml : '') +
+ '<td class="' + view.widgetContentClass + '"/>' +
+ (isRTL ? axisHtml : '') +
+ "</tr>";
+
+ slotTime.add(this.slotDuration);
+ }
+
+ return html;
+ },
+
+
+ /* Options
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Parses various options into properties of this object
+ processOptions: function() {
+ var view = this.view;
+ var slotDuration = view.opt('slotDuration');
+ var snapDuration = view.opt('snapDuration');
+ var input;
+
+ slotDuration = moment.duration(slotDuration);
+ snapDuration = snapDuration ? moment.duration(snapDuration) : slotDuration;
+
+ this.slotDuration = slotDuration;
+ this.snapDuration = snapDuration;
+ this.snapsPerSlot = slotDuration / snapDuration; // TODO: ensure an integer multiple?
+
+ this.minResizeDuration = snapDuration; // hack
+
+ this.minTime = moment.duration(view.opt('minTime'));
+ this.maxTime = moment.duration(view.opt('maxTime'));
+
+ // might be an array value (for TimelineView).
+ // if so, getting the most granular entry (the last one probably).
+ input = view.opt('slotLabelFormat');
+ if ($.isArray(input)) {
+ input = input[input.length - 1];
+ }
+
+ this.labelFormat =
+ input ||
+ view.opt('axisFormat') || // deprecated
+ view.opt('smallTimeFormat'); // the computed default
+
+ input = view.opt('slotLabelInterval');
+ this.labelInterval = input ?
+ moment.duration(input) :
+ this.computeLabelInterval(slotDuration);
+ },
+
+
+ // Computes an automatic value for slotLabelInterval
+ computeLabelInterval: function(slotDuration) {
+ var i;
+ var labelInterval;
+ var slotsPerLabel;
+
+ // find the smallest stock label interval that results in more than one slots-per-label
+ for (i = AGENDA_STOCK_SUB_DURATIONS.length - 1; i >= 0; i--) {
+ labelInterval = moment.duration(AGENDA_STOCK_SUB_DURATIONS[i]);
+ slotsPerLabel = divideDurationByDuration(labelInterval, slotDuration);
+ if (isInt(slotsPerLabel) && slotsPerLabel > 1) {
+ return labelInterval;
+ }
+ }
+
+ return moment.duration(slotDuration); // fall back. clone
+ },
+
+
+ // Computes a default event time formatting string if `timeFormat` is not explicitly defined
+ computeEventTimeFormat: function() {
+ return this.view.opt('noMeridiemTimeFormat'); // like "6:30" (no AM/PM)
+ },
+
+
+ // Computes a default `displayEventEnd` value if one is not expliclty defined
+ computeDisplayEventEnd: function() {
+ return true;
+ },
+
+
+ /* Hit System
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ prepareHits: function() {
+ this.colCoordCache.build();
+ this.slatCoordCache.build();
+ },
+
+
+ releaseHits: function() {
+ this.colCoordCache.clear();
+ // NOTE: don't clear slatCoordCache because we rely on it for computeTimeTop
+ },
+
+
+ queryHit: function(leftOffset, topOffset) {
+ var snapsPerSlot = this.snapsPerSlot;
+ var colCoordCache = this.colCoordCache;
+ var slatCoordCache = this.slatCoordCache;
+ var colIndex = colCoordCache.getHorizontalIndex(leftOffset);
+ var slatIndex = slatCoordCache.getVerticalIndex(topOffset);
+
+ if (colIndex != null && slatIndex != null) {
+ var slatTop = slatCoordCache.getTopOffset(slatIndex);
+ var slatHeight = slatCoordCache.getHeight(slatIndex);
+ var partial = (topOffset - slatTop) / slatHeight; // floating point number between 0 and 1
+ var localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat
+ var snapIndex = slatIndex * snapsPerSlot + localSnapIndex;
+ var snapTop = slatTop + (localSnapIndex / snapsPerSlot) * slatHeight;
+ var snapBottom = slatTop + ((localSnapIndex + 1) / snapsPerSlot) * slatHeight;
+
+ return {
+ col: colIndex,
+ snap: snapIndex,
+ component: this, // needed unfortunately :(
+ left: colCoordCache.getLeftOffset(colIndex),
+ right: colCoordCache.getRightOffset(colIndex),
+ top: snapTop,
+ bottom: snapBottom
+ };
+ }
+ },
+
+
+ getHitSpan: function(hit) {
+ var date = this.getCellDate(0, hit.col); // row=0
+ var time = this.computeSnapTime(hit.snap); // pass in the snap-index
+ var start = this.view.calendar.rezoneDate(date); // gives it a 00:00 time
+ var end;
+
+ start.time(time);
+ end = start.clone().add(this.snapDuration);
+
+ return { start: start, end: end };
+ },
+
+
+ getHitEl: function(hit) {
+ return this.colEls.eq(hit.col);
+ },
+
+
+ /* Dates
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ rangeUpdated: function() {
+ this.updateDayTable();
+ },
+
+
+ // Given a row number of the grid, representing a "snap", returns a time (Duration) from its start-of-day
+ computeSnapTime: function(snapIndex) {
+ return moment.duration(this.minTime + this.snapDuration * snapIndex);
+ },
+
+
+ // Slices up a date range by column into an array of segments
+ rangeToSegs: function(range) {
+ var segs = this.sliceRangeByTimes(range);
+ var i;
+
+ for (i = 0; i < segs.length; i++) {
+ if (this.isRTL) {
+ segs[i].col = this.daysPerRow - 1 - segs[i].dayIndex;
+ }
+ else {
+ segs[i].col = segs[i].dayIndex;
+ }
+ }
+
+ return segs;
+ },
+
+
+ sliceRangeByTimes: function(range) {
+ var segs = [];
+ var seg;
+ var dayIndex;
+ var dayDate;
+ var dayRange;
+
+ // normalize :(
+ range = {
+ start: range.start.clone().stripZone(),
+ end: range.end.clone().stripZone()
+ };
+
+ for (dayIndex = 0; dayIndex < this.daysPerRow; dayIndex++) {
+ dayDate = this.dayDates[dayIndex].clone(); // TODO: better API for this?
+ dayRange = {
+ start: dayDate.clone().time(this.minTime),
+ end: dayDate.clone().time(this.maxTime)
+ };
+ seg = intersectionToSeg(range, dayRange); // both will be ambig timezone
+ if (seg) {
+ seg.dayIndex = dayIndex;
+ segs.push(seg);
+ }
+ }
+
+ return segs;
+ },
+
+
+ /* Coordinates
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ updateSize: function(isResize) { // NOT a standard Grid method
+ this.slatCoordCache.build();
+
+ if (isResize) {
+ this.updateSegVerticals();
+ }
+ },
+
+
+ // Computes the top coordinate, relative to the bounds of the grid, of the given date.
+ // A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.
+ computeDateTop: function(date, startOfDayDate) {
+ return this.computeTimeTop(
+ moment.duration(
+ date.clone().stripZone() - startOfDayDate.clone().stripTime()
+ )
+ );
+ },
+
+
+ // Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).
+ computeTimeTop: function(time) {
+ var len = this.slatEls.length;
+ var slatCoverage = (time - this.minTime) / this.slotDuration; // floating-point value of # of slots covered
+ var slatIndex;
+ var slatRemainder;
+
+ // compute a floating-point number for how many slats should be progressed through.
+ // from 0 to number of slats (inclusive)
+ // constrained because minTime/maxTime might be customized.
+ slatCoverage = Math.max(0, slatCoverage);
+ slatCoverage = Math.min(len, slatCoverage);
+
+ // an integer index of the furthest whole slat
+ // from 0 to number slats (*exclusive*, so len-1)
+ slatIndex = Math.floor(slatCoverage);
+ slatIndex = Math.min(slatIndex, len - 1);
+
+ // how much further through the slatIndex slat (from 0.0-1.0) must be covered in addition.
+ // could be 1.0 if slatCoverage is covering *all* the slots
+ slatRemainder = slatCoverage - slatIndex;
+
+ return this.slatCoordCache.getTopPosition(slatIndex) +
+ this.slatCoordCache.getHeight(slatIndex) * slatRemainder;
+ },
+
+
+
+ /* Event Drag Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a visual indication of an event being dragged over the specified date(s).
+ // dropLocation's end might be null, as well as `seg`. See Grid::renderDrag for more info.
+ // A returned value of `true` signals that a mock "helper" event has been rendered.
+ renderDrag: function(dropLocation, seg) {
+
+ if (seg) { // if there is event information for this drag, render a helper event
+ this.renderRangeHelper(dropLocation, seg);
+ this.applyDragOpacity(this.helperEl);
+
+ return true; // signal that a helper has been rendered
+ }
+ else {
+ // otherwise, just render a highlight
+ this.renderHighlight(this.eventRangeToSegs(dropLocation));
+ }
+ },
+
+
+ // Unrenders any visual indication of an event being dragged
+ unrenderDrag: function() {
+ this.unrenderHelper();
+ this.unrenderHighlight();
+ },
+
+
+ /* Event Resize Visualization
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a visual indication of an event being resized
+ renderEventResize: function(range, seg) {
+ this.renderRangeHelper(range, seg);
+ },
+
+
+ // Unrenders any visual indication of an event being resized
+ unrenderEventResize: function() {
+ this.unrenderHelper();
+ },
+
+
+ /* Event Helper
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a mock "helper" event. `sourceSeg` is the original segment object and might be null (an external drag)
+ renderHelper: function(event, sourceSeg) {
+ var segs = this.eventsToSegs([ event ]);
+ var tableEl;
+ var i, seg;
+ var sourceEl;
+
+ segs = this.renderFgSegEls(segs); // assigns each seg's el and returns a subset of segs that were rendered
+ tableEl = this.renderSegTable(segs);
+
+ // Try to make the segment that is in the same row as sourceSeg look the same
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ if (sourceSeg && sourceSeg.col === seg.col) {
+ sourceEl = sourceSeg.el;
+ seg.el.css({
+ left: sourceEl.css('left'),
+ right: sourceEl.css('right'),
+ 'margin-left': sourceEl.css('margin-left'),
+ 'margin-right': sourceEl.css('margin-right')
+ });
+ }
+ }
+
+ this.helperEl = $('<div class="fc-helper-skeleton"/>')
+ .append(tableEl)
+ .appendTo(this.el);
+ },
+
+
+ // Unrenders any mock helper event
+ unrenderHelper: function() {
+ if (this.helperEl) {
+ this.helperEl.remove();
+ this.helperEl = null;
+ }
+ },
+
+
+ /* Selection
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a visual indication of a selection. Overrides the default, which was to simply render a highlight.
+ renderSelection: function(range) {
+ if (this.view.opt('selectHelper')) { // this setting signals that a mock helper event should be rendered
+ this.renderRangeHelper(range);
+ }
+ else {
+ this.renderHighlight(this.selectionRangeToSegs(range));
+ }
+ },
+
+
+ // Unrenders any visual indication of a selection
+ unrenderSelection: function() {
+ this.unrenderHelper();
+ this.unrenderHighlight();
+ },
+
+
+ /* Fill System (highlight, background events, business hours)
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a set of rectangles over the given time segments.
+ // Only returns segments that successfully rendered.
+ renderFill: function(type, segs, className) {
+ var segCols;
+ var skeletonEl;
+ var trEl;
+ var col, colSegs;
+ var tdEl;
+ var containerEl;
+ var dayDate;
+ var i, seg;
+
+ if (segs.length) {
+
+ segs = this.renderFillSegEls(type, segs); // assignes `.el` to each seg. returns successfully rendered segs
+ segCols = this.groupSegCols(segs); // group into sub-arrays, and assigns 'col' to each seg
+
+ className = className || type.toLowerCase();
+ skeletonEl = $(
+ '<div class="fc-' + className + '-skeleton">' +
+ '<table><tr/></table>' +
+ '</div>'
+ );
+ trEl = skeletonEl.find('tr');
+
+ for (col = 0; col < segCols.length; col++) {
+ colSegs = segCols[col];
+ tdEl = $('<td/>').appendTo(trEl);
+
+ if (colSegs.length) {
+ containerEl = $('<div class="fc-' + className + '-container"/>').appendTo(tdEl);
+ dayDate = this.getCellDate(0, col); // row=0
+
+ for (i = 0; i < colSegs.length; i++) {
+ seg = colSegs[i];
+ containerEl.append(
+ seg.el.css({
+ top: this.computeDateTop(seg.start, dayDate),
+ bottom: -this.computeDateTop(seg.end, dayDate) // the y position of the bottom edge
+ })
+ );
+ }
+ }
+ }
+
+ this.bookendCells(trEl);
+
+ this.el.append(skeletonEl);
+ this.elsByFill[type] = skeletonEl;
+ }
+
+ return segs;
+ }
+
+});
+
+;;
+
+/* Event-rendering methods for the TimeGrid class
+----------------------------------------------------------------------------------------------------------------------*/
+
+TimeGrid.mixin({
+
+ eventSkeletonEl: null, // has cells with event-containers, which contain absolutely positioned event elements
+
+
+ // Renders the given foreground event segments onto the grid
+ renderFgSegs: function(segs) {
+ segs = this.renderFgSegEls(segs); // returns a subset of the segs. segs that were actually rendered
+
+ this.el.append(
+ this.eventSkeletonEl = $('<div class="fc-content-skeleton"/>')
+ .append(this.renderSegTable(segs))
+ );
+
+ return segs; // return only the segs that were actually rendered
+ },
+
+
+ // Unrenders all currently rendered foreground event segments
+ unrenderFgSegs: function(segs) {
+ if (this.eventSkeletonEl) {
+ this.eventSkeletonEl.remove();
+ this.eventSkeletonEl = null;
+ }
+ },
+
+
+ // Renders and returns the <table> portion of the event-skeleton.
+ // Returns an object with properties 'tbodyEl' and 'segs'.
+ renderSegTable: function(segs) {
+ var tableEl = $('<table><tr/></table>');
+ var trEl = tableEl.find('tr');
+ var segCols;
+ var i, seg;
+ var col, colSegs;
+ var containerEl;
+
+ segCols = this.groupSegCols(segs); // group into sub-arrays, and assigns 'col' to each seg
+
+ this.computeSegVerticals(segs); // compute and assign top/bottom
+
+ for (col = 0; col < segCols.length; col++) { // iterate each column grouping
+ colSegs = segCols[col];
+ this.placeSlotSegs(colSegs); // compute horizontal coordinates, z-index's, and reorder the array
+
+ containerEl = $('<div class="fc-event-container"/>');
+
+ // assign positioning CSS and insert into container
+ for (i = 0; i < colSegs.length; i++) {
+ seg = colSegs[i];
+ seg.el.css(this.generateSegPositionCss(seg));
+
+ // if the height is short, add a className for alternate styling
+ if (seg.bottom - seg.top < 30) {
+ seg.el.addClass('fc-short');
+ }
+
+ containerEl.append(seg.el);
+ }
+
+ trEl.append($('<td/>').append(containerEl));
+ }
+
+ this.bookendCells(trEl);
+
+ return tableEl;
+ },
+
+
+ // Given an array of segments that are all in the same column, sets the backwardCoord and forwardCoord on each.
+ // NOTE: Also reorders the given array by date!
+ placeSlotSegs: function(segs) {
+ var levels;
+ var level0;
+ var i;
+
+ this.sortSegs(segs); // order by date
+ levels = buildSlotSegLevels(segs);
+ computeForwardSlotSegs(levels);
+
+ if ((level0 = levels[0])) {
+
+ for (i = 0; i < level0.length; i++) {
+ computeSlotSegPressures(level0[i]);
+ }
+
+ for (i = 0; i < level0.length; i++) {
+ this.computeSlotSegCoords(level0[i], 0, 0);
+ }
+ }
+ },
+
+
+ // Calculate seg.forwardCoord and seg.backwardCoord for the segment, where both values range
+ // from 0 to 1. If the calendar is left-to-right, the seg.backwardCoord maps to "left" and
+ // seg.forwardCoord maps to "right" (via percentage). Vice-versa if the calendar is right-to-left.
+ //
+ // The segment might be part of a "series", which means consecutive segments with the same pressure
+ // who's width is unknown until an edge has been hit. `seriesBackwardPressure` is the number of
+ // segments behind this one in the current series, and `seriesBackwardCoord` is the starting
+ // coordinate of the first segment in the series.
+ computeSlotSegCoords: function(seg, seriesBackwardPressure, seriesBackwardCoord) {
+ var forwardSegs = seg.forwardSegs;
+ var i;
+
+ if (seg.forwardCoord === undefined) { // not already computed
+
+ if (!forwardSegs.length) {
+
+ // if there are no forward segments, this segment should butt up against the edge
+ seg.forwardCoord = 1;
+ }
+ else {
+
+ // sort highest pressure first
+ this.sortForwardSlotSegs(forwardSegs);
+
+ // this segment's forwardCoord will be calculated from the backwardCoord of the
+ // highest-pressure forward segment.
+ this.computeSlotSegCoords(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord);
+ seg.forwardCoord = forwardSegs[0].backwardCoord;
+ }
+
+ // calculate the backwardCoord from the forwardCoord. consider the series
+ seg.backwardCoord = seg.forwardCoord -
+ (seg.forwardCoord - seriesBackwardCoord) / // available width for series
+ (seriesBackwardPressure + 1); // # of segments in the series
+
+ // use this segment's coordinates to computed the coordinates of the less-pressurized
+ // forward segments
+ for (i=0; i<forwardSegs.length; i++) {
+ this.computeSlotSegCoords(forwardSegs[i], 0, seg.forwardCoord);
+ }
+ }
+ },
+
+
+ // Refreshes the CSS top/bottom coordinates for each segment element. Probably after a window resize/zoom.
+ // Repositions business hours segs too, so not just for events. Maybe shouldn't be here.
+ updateSegVerticals: function() {
+ var allSegs = (this.segs || []).concat(this.businessHourSegs || []);
+ var i;
+
+ this.computeSegVerticals(allSegs);
+
+ for (i = 0; i < allSegs.length; i++) {
+ allSegs[i].el.css(
+ this.generateSegVerticalCss(allSegs[i])
+ );
+ }
+ },
+
+
+ // For each segment in an array, computes and assigns its top and bottom properties
+ computeSegVerticals: function(segs) {
+ var i, seg;
+
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ seg.top = this.computeDateTop(seg.start, seg.start);
+ seg.bottom = this.computeDateTop(seg.end, seg.start);
+ }
+ },
+
+
+ // Renders the HTML for a single event segment's default rendering
+ fgSegHtml: function(seg, disableResizing) {
+ var view = this.view;
+ var event = seg.event;
+ var isDraggable = view.isEventDraggable(event);
+ var isResizableFromStart = !disableResizing && seg.isStart && view.isEventResizableFromStart(event);
+ var isResizableFromEnd = !disableResizing && seg.isEnd && view.isEventResizableFromEnd(event);
+ var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd);
+ var skinCss = cssToStr(this.getEventSkinCss(event));
+ var timeText;
+ var fullTimeText; // more verbose time text. for the print stylesheet
+ var startTimeText; // just the start time text
+
+ classes.unshift('fc-time-grid-event', 'fc-v-event');
+
+ if (view.isMultiDayEvent(event)) { // if the event appears to span more than one day...
+ // Don't display time text on segments that run entirely through a day.
+ // That would appear as midnight-midnight and would look dumb.
+ // Otherwise, display the time text for the *segment's* times (like 6pm-midnight or midnight-10am)
+ if (seg.isStart || seg.isEnd) {
+ timeText = this.getEventTimeText(seg);
+ fullTimeText = this.getEventTimeText(seg, 'LT');
+ startTimeText = this.getEventTimeText(seg, null, false); // displayEnd=false
+ }
+ } else {
+ // Display the normal time text for the *event's* times
+ timeText = this.getEventTimeText(event);
+ fullTimeText = this.getEventTimeText(event, 'LT');
+ startTimeText = this.getEventTimeText(event, null, false); // displayEnd=false
+ }
+
+ return '<a class="' + classes.join(' ') + '"' +
+ (event.url ?
+ ' href="' + htmlEscape(event.url) + '"' :
+ ''
+ ) +
+ (skinCss ?
+ ' style="' + skinCss + '"' :
+ ''
+ ) +
+ '>' +
+ '<div class="fc-content">' +
+ (timeText ?
+ '<div class="fc-time"' +
+ ' data-start="' + htmlEscape(startTimeText) + '"' +
+ ' data-full="' + htmlEscape(fullTimeText) + '"' +
+ '>' +
+ '<span>' + htmlEscape(timeText) + '</span>' +
+ '</div>' :
+ ''
+ ) +
+ (event.title ?
+ '<div class="fc-title">' +
+ htmlEscape(event.title) +
+ '</div>' :
+ ''
+ ) +
+ '</div>' +
+ '<div class="fc-bg"/>' +
+ /* TODO: write CSS for this
+ (isResizableFromStart ?
+ '<div class="fc-resizer fc-start-resizer" />' :
+ ''
+ ) +
+ */
+ (isResizableFromEnd ?
+ '<div class="fc-resizer fc-end-resizer" />' :
+ ''
+ ) +
+ '</a>';
+ },
+
+
+ // Generates an object with CSS properties/values that should be applied to an event segment element.
+ // Contains important positioning-related properties that should be applied to any event element, customized or not.
+ generateSegPositionCss: function(seg) {
+ var shouldOverlap = this.view.opt('slotEventOverlap');
+ var backwardCoord = seg.backwardCoord; // the left side if LTR. the right side if RTL. floating-point
+ var forwardCoord = seg.forwardCoord; // the right side if LTR. the left side if RTL. floating-point
+ var props = this.generateSegVerticalCss(seg); // get top/bottom first
+ var left; // amount of space from left edge, a fraction of the total width
+ var right; // amount of space from right edge, a fraction of the total width
+
+ if (shouldOverlap) {
+ // double the width, but don't go beyond the maximum forward coordinate (1.0)
+ forwardCoord = Math.min(1, backwardCoord + (forwardCoord - backwardCoord) * 2);
+ }
+
+ if (this.isRTL) {
+ left = 1 - forwardCoord;
+ right = backwardCoord;
+ }
+ else {
+ left = backwardCoord;
+ right = 1 - forwardCoord;
+ }
+
+ props.zIndex = seg.level + 1; // convert from 0-base to 1-based
+ props.left = left * 100 + '%';
+ props.right = right * 100 + '%';
+
+ if (shouldOverlap && seg.forwardPressure) {
+ // add padding to the edge so that forward stacked events don't cover the resizer's icon
+ props[this.isRTL ? 'marginLeft' : 'marginRight'] = 10 * 2; // 10 is a guesstimate of the icon's width
+ }
+
+ return props;
+ },
+
+
+ // Generates an object with CSS properties for the top/bottom coordinates of a segment element
+ generateSegVerticalCss: function(seg) {
+ return {
+ top: seg.top,
+ bottom: -seg.bottom // flipped because needs to be space beyond bottom edge of event container
+ };
+ },
+
+
+ // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's col
+ groupSegCols: function(segs) {
+ var segCols = [];
+ var i;
+
+ for (i = 0; i < this.colCnt; i++) {
+ segCols.push([]);
+ }
+
+ for (i = 0; i < segs.length; i++) {
+ segCols[segs[i].col].push(segs[i]);
+ }
+
+ return segCols;
+ },
+
+
+ sortForwardSlotSegs: function(forwardSegs) {
+ forwardSegs.sort(proxy(this, 'compareForwardSlotSegs'));
+ },
+
+
+ // A cmp function for determining which forward segment to rely on more when computing coordinates.
+ compareForwardSlotSegs: function(seg1, seg2) {
+ // put higher-pressure first
+ return seg2.forwardPressure - seg1.forwardPressure ||
+ // put segments that are closer to initial edge first (and favor ones with no coords yet)
+ (seg1.backwardCoord || 0) - (seg2.backwardCoord || 0) ||
+ // do normal sorting...
+ this.compareSegs(seg1, seg2);
+ }
+
+});
+
+
+// Builds an array of segments "levels". The first level will be the leftmost tier of segments if the calendar is
+// left-to-right, or the rightmost if the calendar is right-to-left. Assumes the segments are already ordered by date.
+function buildSlotSegLevels(segs) {
+ var levels = [];
+ var i, seg;
+ var j;
+
+ for (i=0; i<segs.length; i++) {
+ seg = segs[i];
+
+ // go through all the levels and stop on the first level where there are no collisions
+ for (j=0; j<levels.length; j++) {
+ if (!computeSlotSegCollisions(seg, levels[j]).length) {
+ break;
+ }
+ }
+
+ seg.level = j;
+
+ (levels[j] || (levels[j] = [])).push(seg);
+ }
-// function for adding/overriding defaults
-function setDefaults(d) {
- $.extend(true, defaults, d);
+ return levels;
}
+// For every segment, figure out the other segments that are in subsequent
+// levels that also occupy the same vertical space. Accumulate in seg.forwardSegs
+function computeForwardSlotSegs(levels) {
+ var i, level;
+ var j, seg;
+ var k;
+
+ for (i=0; i<levels.length; i++) {
+ level = levels[i];
+
+ for (j=0; j<level.length; j++) {
+ seg = level[j];
+
+ seg.forwardSegs = [];
+ for (k=i+1; k<levels.length; k++) {
+ computeSlotSegCollisions(seg, levels[k], seg.forwardSegs);
+ }
+ }
+ }
+}
+
+
+// Figure out which path forward (via seg.forwardSegs) results in the longest path until
+// the furthest edge is reached. The number of segments in this path will be seg.forwardPressure
+function computeSlotSegPressures(seg) {
+ var forwardSegs = seg.forwardSegs;
+ var forwardPressure = 0;
+ var i, forwardSeg;
+
+ if (seg.forwardPressure === undefined) { // not already computed
+
+ for (i=0; i<forwardSegs.length; i++) {
+ forwardSeg = forwardSegs[i];
+
+ // figure out the child's maximum forward path
+ computeSlotSegPressures(forwardSeg);
+
+ // either use the existing maximum, or use the child's forward pressure
+ // plus one (for the forwardSeg itself)
+ forwardPressure = Math.max(
+ forwardPressure,
+ 1 + forwardSeg.forwardPressure
+ );
+ }
+
+ seg.forwardPressure = forwardPressure;
+ }
+}
+
+
+// Find all the segments in `otherSegs` that vertically collide with `seg`.
+// Append into an optionally-supplied `results` array and return.
+function computeSlotSegCollisions(seg, otherSegs, results) {
+ results = results || [];
+
+ for (var i=0; i<otherSegs.length; i++) {
+ if (isSlotSegCollision(seg, otherSegs[i])) {
+ results.push(otherSegs[i]);
+ }
+ }
+
+ return results;
+}
+
+
+// Do these segments occupy the same vertical space?
+function isSlotSegCollision(seg1, seg2) {
+ return seg1.bottom > seg2.top && seg1.top < seg2.bottom;
+}
+
+;;
+
+/* An abstract class from which other views inherit from
+----------------------------------------------------------------------------------------------------------------------*/
+
+var View = FC.View = Class.extend({
+
+ type: null, // subclass' view name (string)
+ name: null, // deprecated. use `type` instead
+ title: null, // the text that will be displayed in the header's title
+
+ calendar: null, // owner Calendar object
+ options: null, // hash containing all options. already merged with view-specific-options
+ el: null, // the view's containing element. set by Calendar
+
+ displaying: null, // a promise representing the state of rendering. null if no render requested
+ isSkeletonRendered: false,
+ isEventsRendered: false,
+
+ // range the view is actually displaying (moments)
+ start: null,
+ end: null, // exclusive
+
+ // range the view is formally responsible for (moments)
+ // may be different from start/end. for example, a month view might have 1st-31st, excluding padded dates
+ intervalStart: null,
+ intervalEnd: null, // exclusive
+ intervalDuration: null,
+ intervalUnit: null, // name of largest unit being displayed, like "month" or "week"
+
+ isRTL: false,
+ isSelected: false, // boolean whether a range of time is user-selected or not
+
+ eventOrderSpecs: null, // criteria for ordering events when they have same date/time
+
+ // subclasses can optionally use a scroll container
+ scrollerEl: null, // the element that will most likely scroll when content is too tall
+ scrollTop: null, // cached vertical scroll value
+
+ // classNames styled by jqui themes
+ widgetHeaderClass: null,
+ widgetContentClass: null,
+ highlightStateClass: null,
+
+ // for date utils, computed from options
+ nextDayThreshold: null,
+ isHiddenDayHash: null,
+
+ // document handlers, bound to `this` object
+ documentMousedownProxy: null, // TODO: doesn't work with touch
+
+
+ constructor: function(calendar, type, options, intervalDuration) {
+
+ this.calendar = calendar;
+ this.type = this.name = type; // .name is deprecated
+ this.options = options;
+ this.intervalDuration = intervalDuration || moment.duration(1, 'day');
+
+ this.nextDayThreshold = moment.duration(this.opt('nextDayThreshold'));
+ this.initThemingProps();
+ this.initHiddenDays();
+ this.isRTL = this.opt('isRTL');
+
+ this.eventOrderSpecs = parseFieldSpecs(this.opt('eventOrder'));
+
+ this.documentMousedownProxy = proxy(this, 'documentMousedown');
+
+ this.initialize();
+ },
+
+
+ // A good place for subclasses to initialize member variables
+ initialize: function() {
+ // subclasses can implement
+ },
+
+
+ // Retrieves an option with the given name
+ opt: function(name) {
+ return this.options[name];
+ },
+
+
+ // Triggers handlers that are view-related. Modifies args before passing to calendar.
+ trigger: function(name, thisObj) { // arguments beyond thisObj are passed along
+ var calendar = this.calendar;
+
+ return calendar.trigger.apply(
+ calendar,
+ [name, thisObj || this].concat(
+ Array.prototype.slice.call(arguments, 2), // arguments beyond thisObj
+ [ this ] // always make the last argument a reference to the view. TODO: deprecate
+ )
+ );
+ },
+
+
+ /* Dates
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Updates all internal dates to center around the given current date
+ setDate: function(date) {
+ this.setRange(this.computeRange(date));
+ },
+
+
+ // Updates all internal dates for displaying the given range.
+ // Expects all values to be normalized (like what computeRange does).
+ setRange: function(range) {
+ $.extend(this, range);
+ this.updateTitle();
+ },
+
+
+ // Given a single current date, produce information about what range to display.
+ // Subclasses can override. Must return all properties.
+ computeRange: function(date) {
+ var intervalUnit = computeIntervalUnit(this.intervalDuration);
+ var intervalStart = date.clone().startOf(intervalUnit);
+ var intervalEnd = intervalStart.clone().add(this.intervalDuration);
+ var start, end;
+
+ // normalize the range's time-ambiguity
+ if (/year|month|week|day/.test(intervalUnit)) { // whole-days?
+ intervalStart.stripTime();
+ intervalEnd.stripTime();
+ }
+ else { // needs to have a time?
+ if (!intervalStart.hasTime()) {
+ intervalStart = this.calendar.rezoneDate(intervalStart); // convert to current timezone, with 00:00
+ }
+ if (!intervalEnd.hasTime()) {
+ intervalEnd = this.calendar.rezoneDate(intervalEnd); // convert to current timezone, with 00:00
+ }
+ }
+
+ start = intervalStart.clone();
+ start = this.skipHiddenDays(start);
+ end = intervalEnd.clone();
+ end = this.skipHiddenDays(end, -1, true); // exclusively move backwards
+
+ return {
+ intervalUnit: intervalUnit,
+ intervalStart: intervalStart,
+ intervalEnd: intervalEnd,
+ start: start,
+ end: end
+ };
+ },
+
+
+ // Computes the new date when the user hits the prev button, given the current date
+ computePrevDate: function(date) {
+ return this.massageCurrentDate(
+ date.clone().startOf(this.intervalUnit).subtract(this.intervalDuration), -1
+ );
+ },
+
+
+ // Computes the new date when the user hits the next button, given the current date
+ computeNextDate: function(date) {
+ return this.massageCurrentDate(
+ date.clone().startOf(this.intervalUnit).add(this.intervalDuration)
+ );
+ },
+
+
+ // Given an arbitrarily calculated current date of the calendar, returns a date that is ensured to be completely
+ // visible. `direction` is optional and indicates which direction the current date was being
+ // incremented or decremented (1 or -1).
+ massageCurrentDate: function(date, direction) {
+ if (this.intervalDuration.as('days') <= 1) { // if the view displays a single day or smaller
+ if (this.isHiddenDay(date)) {
+ date = this.skipHiddenDays(date, direction);
+ date.startOf('day');
+ }
+ }
+
+ return date;
+ },
+
+
+ /* Title and Date Formatting
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Sets the view's title property to the most updated computed value
+ updateTitle: function() {
+ this.title = this.computeTitle();
+ },
+
+
+ // Computes what the title at the top of the calendar should be for this view
+ computeTitle: function() {
+ return this.formatRange(
+ { start: this.intervalStart, end: this.intervalEnd },
+ this.opt('titleFormat') || this.computeTitleFormat(),
+ this.opt('titleRangeSeparator')
+ );
+ },
+
+
+ // Generates the format string that should be used to generate the title for the current date range.
+ // Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`.
+ computeTitleFormat: function() {
+ if (this.intervalUnit == 'year') {
+ return 'YYYY';
+ }
+ else if (this.intervalUnit == 'month') {
+ return this.opt('monthYearFormat'); // like "September 2014"
+ }
+ else if (this.intervalDuration.as('days') > 1) {
+ return 'll'; // multi-day range. shorter, like "Sep 9 - 10 2014"
+ }
+ else {
+ return 'LL'; // one day. longer, like "September 9 2014"
+ }
+ },
+
+
+ // Utility for formatting a range. Accepts a range object, formatting string, and optional separator.
+ // Displays all-day ranges naturally, with an inclusive end. Takes the current isRTL into account.
+ formatRange: function(range, formatStr, separator) {
+ var end = range.end;
+
+ if (!end.hasTime()) { // all-day?
+ end = end.clone().subtract(1); // convert to inclusive. last ms of previous day
+ }
+
+ return formatRange(range.start, end, formatStr, separator, this.opt('isRTL'));
+ },
+
+
+ /* Rendering
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Sets the container element that the view should render inside of.
+ // Does other DOM-related initializations.
+ setElement: function(el) {
+ this.el = el;
+ this.bindGlobalHandlers();
+ },
+
+
+ // Removes the view's container element from the DOM, clearing any content beforehand.
+ // Undoes any other DOM-related attachments.
+ removeElement: function() {
+ this.clear(); // clears all content
+
+ // clean up the skeleton
+ if (this.isSkeletonRendered) {
+ this.unrenderSkeleton();
+ this.isSkeletonRendered = false;
+ }
+
+ this.unbindGlobalHandlers();
+
+ this.el.remove();
+
+ // NOTE: don't null-out this.el in case the View was destroyed within an API callback.
+ // We don't null-out the View's other jQuery element references upon destroy,
+ // so we shouldn't kill this.el either.
+ },
+
+
+ // Does everything necessary to display the view centered around the given date.
+ // Does every type of rendering EXCEPT rendering events.
+ // Is asychronous and returns a promise.
+ display: function(date) {
+ var _this = this;
+ var scrollState = null;
+
+ if (this.displaying) {
+ scrollState = this.queryScroll();
+ }
+
+ return this.clear().then(function() { // clear the content first (async)
+ return (
+ _this.displaying =
+ $.when(_this.displayView(date)) // displayView might return a promise
+ .then(function() {
+ _this.forceScroll(_this.computeInitialScroll(scrollState));
+ _this.triggerRender();
+ })
+ );
+ });
+ },
+
+
+ // Does everything necessary to clear the content of the view.
+ // Clears dates and events. Does not clear the skeleton.
+ // Is asychronous and returns a promise.
+ clear: function() {
+ var _this = this;
+ var displaying = this.displaying;
+
+ if (displaying) { // previously displayed, or in the process of being displayed?
+ return displaying.then(function() { // wait for the display to finish
+ _this.displaying = null;
+ _this.clearEvents();
+ return _this.clearView(); // might return a promise. chain it
+ });
+ }
+ else {
+ return $.when(); // an immediately-resolved promise
+ }
+ },
+
+
+ // Displays the view's non-event content, such as date-related content or anything required by events.
+ // Renders the view's non-content skeleton if necessary.
+ // Can be asynchronous and return a promise.
+ displayView: function(date) {
+ if (!this.isSkeletonRendered) {
+ this.renderSkeleton();
+ this.isSkeletonRendered = true;
+ }
+ this.setDate(date);
+ if (this.render) {
+ this.render(); // TODO: deprecate
+ }
+ this.renderDates();
+ this.updateSize();
+ this.renderBusinessHours(); // might need coordinates, so should go after updateSize()
+ },
+
+
+ // Unrenders the view content that was rendered in displayView.
+ // Can be asynchronous and return a promise.
+ clearView: function() {
+ this.unselect();
+ this.triggerUnrender();
+ this.unrenderBusinessHours();
+ this.unrenderDates();
+ if (this.destroy) {
+ this.destroy(); // TODO: deprecate
+ }
+ },
+
+
+ // Renders the basic structure of the view before any content is rendered
+ renderSkeleton: function() {
+ // subclasses should implement
+ },
+
+
+ // Unrenders the basic structure of the view
+ unrenderSkeleton: function() {
+ // subclasses should implement
+ },
+
+
+ // Renders the view's date-related content.
+ // Assumes setRange has already been called and the skeleton has already been rendered.
+ renderDates: function() {
+ // subclasses should implement
+ },
+
+
+ // Unrenders the view's date-related content
+ unrenderDates: function() {
+ // subclasses should override
+ },
+
+
+ // Renders business-hours onto the view. Assumes updateSize has already been called.
+ renderBusinessHours: function() {
+ // subclasses should implement
+ },
+
+
+ // Unrenders previously-rendered business-hours
+ unrenderBusinessHours: function() {
+ // subclasses should implement
+ },
+
+
+ // Signals that the view's content has been rendered
+ triggerRender: function() {
+ this.trigger('viewRender', this, this, this.el);
+ },
+
+
+ // Signals that the view's content is about to be unrendered
+ triggerUnrender: function() {
+ this.trigger('viewDestroy', this, this, this.el);
+ },
+
+
+ // Binds DOM handlers to elements that reside outside the view container, such as the document
+ bindGlobalHandlers: function() {
+ $(document).on('mousedown', this.documentMousedownProxy);
+ },
+
+
+ // Unbinds DOM handlers from elements that reside outside the view container
+ unbindGlobalHandlers: function() {
+ $(document).off('mousedown', this.documentMousedownProxy);
+ },
+
+
+ // Initializes internal variables related to theming
+ initThemingProps: function() {
+ var tm = this.opt('theme') ? 'ui' : 'fc';
+
+ this.widgetHeaderClass = tm + '-widget-header';
+ this.widgetContentClass = tm + '-widget-content';
+ this.highlightStateClass = tm + '-state-highlight';
+ },
+
+
+ /* Dimensions
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Refreshes anything dependant upon sizing of the container element of the grid
+ updateSize: function(isResize) {
+ var scrollState;
+
+ if (isResize) {
+ scrollState = this.queryScroll();
+ }
+
+ this.updateHeight(isResize);
+ this.updateWidth(isResize);
+
+ if (isResize) {
+ this.setScroll(scrollState);
+ }
+ },
+
+
+ // Refreshes the horizontal dimensions of the calendar
+ updateWidth: function(isResize) {
+ // subclasses should implement
+ },
+
+
+ // Refreshes the vertical dimensions of the calendar
+ updateHeight: function(isResize) {
+ var calendar = this.calendar; // we poll the calendar for height information
+
+ this.setHeight(
+ calendar.getSuggestedViewHeight(),
+ calendar.isHeightAuto()
+ );
+ },
+
+
+ // Updates the vertical dimensions of the calendar to the specified height.
+ // if `isAuto` is set to true, height becomes merely a suggestion and the view should use its "natural" height.
+ setHeight: function(height, isAuto) {
+ // subclasses should implement
+ },
+
+
+ /* Scroller
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Given the total height of the view, return the number of pixels that should be used for the scroller.
+ // Utility for subclasses.
+ computeScrollerHeight: function(totalHeight) {
+ var scrollerEl = this.scrollerEl;
+ var both;
+ var otherHeight; // cumulative height of everything that is not the scrollerEl in the view (header+borders)
+
+ both = this.el.add(scrollerEl);
+
+ // fuckin IE8/9/10/11 sometimes returns 0 for dimensions. this weird hack was the only thing that worked
+ both.css({
+ position: 'relative', // cause a reflow, which will force fresh dimension recalculation
+ left: -1 // ensure reflow in case the el was already relative. negative is less likely to cause new scroll
+ });
+ otherHeight = this.el.outerHeight() - scrollerEl.height(); // grab the dimensions
+ both.css({ position: '', left: '' }); // undo hack
+
+ return totalHeight - otherHeight;
+ },
+
+
+ // Computes the initial pre-configured scroll state prior to allowing the user to change it.
+ // Given the scroll state from the previous rendering. If first time rendering, given null.
+ computeInitialScroll: function(previousScrollState) {
+ return 0;
+ },
+
+
+ // Retrieves the view's current natural scroll state. Can return an arbitrary format.
+ queryScroll: function() {
+ if (this.scrollerEl) {
+ return this.scrollerEl.scrollTop(); // operates on scrollerEl by default
+ }
+ },
+
+
+ // Sets the view's scroll state. Will accept the same format computeInitialScroll and queryScroll produce.
+ setScroll: function(scrollState) {
+ if (this.scrollerEl) {
+ return this.scrollerEl.scrollTop(scrollState); // operates on scrollerEl by default
+ }
+ },
+
+
+ // Sets the scroll state, making sure to overcome any predefined scroll value the browser has in mind
+ forceScroll: function(scrollState) {
+ var _this = this;
+
+ this.setScroll(scrollState);
+ setTimeout(function() {
+ _this.setScroll(scrollState);
+ }, 0);
+ },
+
+
+ /* Event Elements / Segments
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Does everything necessary to display the given events onto the current view
+ displayEvents: function(events) {
+ var scrollState = this.queryScroll();
+
+ this.clearEvents();
+ this.renderEvents(events);
+ this.isEventsRendered = true;
+ this.setScroll(scrollState);
+ this.triggerEventRender();
+ },
+
+
+ // Does everything necessary to clear the view's currently-rendered events
+ clearEvents: function() {
+ if (this.isEventsRendered) {
+ this.triggerEventUnrender();
+ if (this.destroyEvents) {
+ this.destroyEvents(); // TODO: deprecate
+ }
+ this.unrenderEvents();
+ this.isEventsRendered = false;
+ }
+ },
+
+
+ // Renders the events onto the view.
+ renderEvents: function(events) {
+ // subclasses should implement
+ },
+
+
+ // Removes event elements from the view.
+ unrenderEvents: function() {
+ // subclasses should implement
+ },
+
+
+ // Signals that all events have been rendered
+ triggerEventRender: function() {
+ this.renderedEventSegEach(function(seg) {
+ this.trigger('eventAfterRender', seg.event, seg.event, seg.el);
+ });
+ this.trigger('eventAfterAllRender');
+ },
+
+
+ // Signals that all event elements are about to be removed
+ triggerEventUnrender: function() {
+ this.renderedEventSegEach(function(seg) {
+ this.trigger('eventDestroy', seg.event, seg.event, seg.el);
+ });
+ },
+
+
+ // Given an event and the default element used for rendering, returns the element that should actually be used.
+ // Basically runs events and elements through the eventRender hook.
+ resolveEventEl: function(event, el) {
+ var custom = this.trigger('eventRender', event, event, el);
+
+ if (custom === false) { // means don't render at all
+ el = null;
+ }
+ else if (custom && custom !== true) {
+ el = $(custom);
+ }
+
+ return el;
+ },
+
+
+ // Hides all rendered event segments linked to the given event
+ showEvent: function(event) {
+ this.renderedEventSegEach(function(seg) {
+ seg.el.css('visibility', '');
+ }, event);
+ },
+
+
+ // Shows all rendered event segments linked to the given event
+ hideEvent: function(event) {
+ this.renderedEventSegEach(function(seg) {
+ seg.el.css('visibility', 'hidden');
+ }, event);
+ },
+
+
+ // Iterates through event segments that have been rendered (have an el). Goes through all by default.
+ // If the optional `event` argument is specified, only iterates through segments linked to that event.
+ // The `this` value of the callback function will be the view.
+ renderedEventSegEach: function(func, event) {
+ var segs = this.getEventSegs();
+ var i;
+
+ for (i = 0; i < segs.length; i++) {
+ if (!event || segs[i].event._id === event._id) {
+ if (segs[i].el) {
+ func.call(this, segs[i]);
+ }
+ }
+ }
+ },
+
+
+ // Retrieves all the rendered segment objects for the view
+ getEventSegs: function() {
+ // subclasses must implement
+ return [];
+ },
+
+
+ /* Event Drag-n-Drop
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Computes if the given event is allowed to be dragged by the user
+ isEventDraggable: function(event) {
+ var source = event.source || {};
+
+ return firstDefined(
+ event.startEditable,
+ source.startEditable,
+ this.opt('eventStartEditable'),
+ event.editable,
+ source.editable,
+ this.opt('editable')
+ );
+ },
+
+
+ // Must be called when an event in the view is dropped onto new location.
+ // `dropLocation` is an object that contains the new start/end/allDay values for the event.
+ reportEventDrop: function(event, dropLocation, largeUnit, el, ev) {
+ var calendar = this.calendar;
+ var mutateResult = calendar.mutateEvent(event, dropLocation, largeUnit);
+ var undoFunc = function() {
+ mutateResult.undo();
+ calendar.reportEventChange();
+ };
+
+ this.triggerEventDrop(event, mutateResult.dateDelta, undoFunc, el, ev);
+ calendar.reportEventChange(); // will rerender events
+ },
+
+
+ // Triggers event-drop handlers that have subscribed via the API
+ triggerEventDrop: function(event, dateDelta, undoFunc, el, ev) {
+ this.trigger('eventDrop', el[0], event, dateDelta, undoFunc, ev, {}); // {} = jqui dummy
+ },
+
+
+ /* External Element Drag-n-Drop
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Must be called when an external element, via jQuery UI, has been dropped onto the calendar.
+ // `meta` is the parsed data that has been embedded into the dragging event.
+ // `dropLocation` is an object that contains the new start/end/allDay values for the event.
+ reportExternalDrop: function(meta, dropLocation, el, ev, ui) {
+ var eventProps = meta.eventProps;
+ var eventInput;
+ var event;
+
+ // Try to build an event object and render it. TODO: decouple the two
+ if (eventProps) {
+ eventInput = $.extend({}, eventProps, dropLocation);
+ event = this.calendar.renderEvent(eventInput, meta.stick)[0]; // renderEvent returns an array
+ }
+
+ this.triggerExternalDrop(event, dropLocation, el, ev, ui);
+ },
+
+
+ // Triggers external-drop handlers that have subscribed via the API
+ triggerExternalDrop: function(event, dropLocation, el, ev, ui) {
+
+ // trigger 'drop' regardless of whether element represents an event
+ this.trigger('drop', el[0], dropLocation.start, ev, ui);
+
+ if (event) {
+ this.trigger('eventReceive', null, event); // signal an external event landed
+ }
+ },
+
+
+ /* Drag-n-Drop Rendering (for both events and external elements)
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders a visual indication of a event or external-element drag over the given drop zone.
+ // If an external-element, seg will be `null`
+ renderDrag: function(dropLocation, seg) {
+ // subclasses must implement
+ },
+
+
+ // Unrenders a visual indication of an event or external-element being dragged.
+ unrenderDrag: function() {
+ // subclasses must implement
+ },
+
+
+ /* Event Resizing
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Computes if the given event is allowed to be resized from its starting edge
+ isEventResizableFromStart: function(event) {
+ return this.opt('eventResizableFromStart') && this.isEventResizable(event);
+ },
+
+
+ // Computes if the given event is allowed to be resized from its ending edge
+ isEventResizableFromEnd: function(event) {
+ return this.isEventResizable(event);
+ },
+
+
+ // Computes if the given event is allowed to be resized by the user at all
+ isEventResizable: function(event) {
+ var source = event.source || {};
+
+ return firstDefined(
+ event.durationEditable,
+ source.durationEditable,
+ this.opt('eventDurationEditable'),
+ event.editable,
+ source.editable,
+ this.opt('editable')
+ );
+ },
+
+
+ // Must be called when an event in the view has been resized to a new length
+ reportEventResize: function(event, resizeLocation, largeUnit, el, ev) {
+ var calendar = this.calendar;
+ var mutateResult = calendar.mutateEvent(event, resizeLocation, largeUnit);
+ var undoFunc = function() {
+ mutateResult.undo();
+ calendar.reportEventChange();
+ };
+
+ this.triggerEventResize(event, mutateResult.durationDelta, undoFunc, el, ev);
+ calendar.reportEventChange(); // will rerender events
+ },
+
+
+ // Triggers event-resize handlers that have subscribed via the API
+ triggerEventResize: function(event, durationDelta, undoFunc, el, ev) {
+ this.trigger('eventResize', el[0], event, durationDelta, undoFunc, ev, {}); // {} = jqui dummy
+ },
+
+
+ /* Selection
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Selects a date range on the view. `start` and `end` are both Moments.
+ // `ev` is the native mouse event that begin the interaction.
+ select: function(range, ev) {
+ this.unselect(ev);
+ this.renderSelection(range);
+ this.reportSelection(range, ev);
+ },
+
+
+ // Renders a visual indication of the selection
+ renderSelection: function(range) {
+ // subclasses should implement
+ },
+
+
+ // Called when a new selection is made. Updates internal state and triggers handlers.
+ reportSelection: function(range, ev) {
+ this.isSelected = true;
+ this.triggerSelect(range, ev);
+ },
+
+
+ // Triggers handlers to 'select'
+ triggerSelect: function(range, ev) {
+ this.trigger('select', null, range.start, range.end, ev);
+ },
+
+
+ // Undoes a selection. updates in the internal state and triggers handlers.
+ // `ev` is the native mouse event that began the interaction.
+ unselect: function(ev) {
+ if (this.isSelected) {
+ this.isSelected = false;
+ if (this.destroySelection) {
+ this.destroySelection(); // TODO: deprecate
+ }
+ this.unrenderSelection();
+ this.trigger('unselect', null, ev);
+ }
+ },
+
+
+ // Unrenders a visual indication of selection
+ unrenderSelection: function() {
+ // subclasses should implement
+ },
+
+
+ // Handler for unselecting when the user clicks something and the 'unselectAuto' setting is on
+ documentMousedown: function(ev) {
+ var ignore;
+
+ // is there a selection, and has the user made a proper left click?
+ if (this.isSelected && this.opt('unselectAuto') && isPrimaryMouseButton(ev)) {
+
+ // only unselect if the clicked element is not identical to or inside of an 'unselectCancel' element
+ ignore = this.opt('unselectCancel');
+ if (!ignore || !$(ev.target).closest(ignore).length) {
+ this.unselect(ev);
+ }
+ }
+ },
+
+
+ /* Day Click
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Triggers handlers to 'dayClick'
+ triggerDayClick: function(date, dayEl, ev) {
+ this.trigger('dayClick', dayEl, date, ev);
+ },
+
+
+ /* Date Utils
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Initializes internal variables related to calculating hidden days-of-week
+ initHiddenDays: function() {
+ var hiddenDays = this.opt('hiddenDays') || []; // array of day-of-week indices that are hidden
+ var isHiddenDayHash = []; // is the day-of-week hidden? (hash with day-of-week-index -> bool)
+ var dayCnt = 0;
+ var i;
+
+ if (this.opt('weekends') === false) {
+ hiddenDays.push(0, 6); // 0=sunday, 6=saturday
+ }
+
+ for (i = 0; i < 7; i++) {
+ if (
+ !(isHiddenDayHash[i] = $.inArray(i, hiddenDays) !== -1)
+ ) {
+ dayCnt++;
+ }
+ }
+
+ if (!dayCnt) {
+ throw 'invalid hiddenDays'; // all days were hidden? bad.
+ }
+
+ this.isHiddenDayHash = isHiddenDayHash;
+ },
+
+
+ // Is the current day hidden?
+ // `day` is a day-of-week index (0-6), or a Moment
+ isHiddenDay: function(day) {
+ if (moment.isMoment(day)) {
+ day = day.day();
+ }
+ return this.isHiddenDayHash[day];
+ },
+
+
+ // Incrementing the current day until it is no longer a hidden day, returning a copy.
+ // If the initial value of `date` is not a hidden day, don't do anything.
+ // Pass `isExclusive` as `true` if you are dealing with an end date.
+ // `inc` defaults to `1` (increment one day forward each time)
+ skipHiddenDays: function(date, inc, isExclusive) {
+ var out = date.clone();
+ inc = inc || 1;
+ while (
+ this.isHiddenDayHash[(out.day() + (isExclusive ? inc : 0) + 7) % 7]
+ ) {
+ out.add(inc, 'days');
+ }
+ return out;
+ },
+
+
+ // Returns the date range of the full days the given range visually appears to occupy.
+ // Returns a new range object.
+ computeDayRange: function(range) {
+ var startDay = range.start.clone().stripTime(); // the beginning of the day the range starts
+ var end = range.end;
+ var endDay = null;
+ var endTimeMS;
+
+ if (end) {
+ endDay = end.clone().stripTime(); // the beginning of the day the range exclusively ends
+ endTimeMS = +end.time(); // # of milliseconds into `endDay`
+
+ // If the end time is actually inclusively part of the next day and is equal to or
+ // beyond the next day threshold, adjust the end to be the exclusive end of `endDay`.
+ // Otherwise, leaving it as inclusive will cause it to exclude `endDay`.
+ if (endTimeMS && endTimeMS >= this.nextDayThreshold) {
+ endDay.add(1, 'days');
+ }
+ }
+
+ // If no end was specified, or if it is within `startDay` but not past nextDayThreshold,
+ // assign the default duration of one day.
+ if (!end || endDay <= startDay) {
+ endDay = startDay.clone().add(1, 'days');
+ }
+
+ return { start: startDay, end: endDay };
+ },
+
+
+ // Does the given event visually appear to occupy more than one day?
+ isMultiDayEvent: function(event) {
+ var range = this.computeDayRange(event); // event is range-ish
+
+ return range.end.diff(range.start, 'days') > 1;
+ }
+
+});
;;
-
-function Calendar(element, options, eventSources) {
+var Calendar = FC.Calendar = Class.extend({
+
+ dirDefaults: null, // option defaults related to LTR or RTL
+ langDefaults: null, // option defaults related to current locale
+ overrides: null, // option overrides given to the fullCalendar constructor
+ options: null, // all defaults combined with overrides
+ viewSpecCache: null, // cache of view definitions
+ view: null, // current View object
+ header: null,
+ loadingLevel: 0, // number of simultaneous loading tasks
+
+
+ // a lot of this class' OOP logic is scoped within this constructor function,
+ // but in the future, write individual methods on the prototype.
+ constructor: Calendar_constructor,
+
+
+ // Subclasses can override this for initialization logic after the constructor has been called
+ initialize: function() {
+ },
+
+
+ // Initializes `this.options` and other important options-related objects
+ initOptions: function(overrides) {
+ var lang, langDefaults;
+ var isRTL, dirDefaults;
+
+ // converts legacy options into non-legacy ones.
+ // in the future, when this is removed, don't use `overrides` reference. make a copy.
+ overrides = massageOverrides(overrides);
+
+ lang = overrides.lang;
+ langDefaults = langOptionHash[lang];
+ if (!langDefaults) {
+ lang = Calendar.defaults.lang;
+ langDefaults = langOptionHash[lang] || {};
+ }
+
+ isRTL = firstDefined(
+ overrides.isRTL,
+ langDefaults.isRTL,
+ Calendar.defaults.isRTL
+ );
+ dirDefaults = isRTL ? Calendar.rtlDefaults : {};
+
+ this.dirDefaults = dirDefaults;
+ this.langDefaults = langDefaults;
+ this.overrides = overrides;
+ this.options = mergeOptions([ // merge defaults and overrides. lowest to highest precedence
+ Calendar.defaults, // global defaults
+ dirDefaults,
+ langDefaults,
+ overrides
+ ]);
+ populateInstanceComputableOptions(this.options);
+
+ this.viewSpecCache = {}; // somewhat unrelated
+ },
+
+
+ // Gets information about how to create a view. Will use a cache.
+ getViewSpec: function(viewType) {
+ var cache = this.viewSpecCache;
+
+ return cache[viewType] || (cache[viewType] = this.buildViewSpec(viewType));
+ },
+
+
+ // Given a duration singular unit, like "week" or "day", finds a matching view spec.
+ // Preference is given to views that have corresponding buttons.
+ getUnitViewSpec: function(unit) {
+ var viewTypes;
+ var i;
+ var spec;
+
+ if ($.inArray(unit, intervalUnits) != -1) {
+
+ // put views that have buttons first. there will be duplicates, but oh well
+ viewTypes = this.header.getViewsWithButtons();
+ $.each(FC.views, function(viewType) { // all views
+ viewTypes.push(viewType);
+ });
+
+ for (i = 0; i < viewTypes.length; i++) {
+ spec = this.getViewSpec(viewTypes[i]);
+ if (spec) {
+ if (spec.singleUnit == unit) {
+ return spec;
+ }
+ }
+ }
+ }
+ },
+
+
+ // Builds an object with information on how to create a given view
+ buildViewSpec: function(requestedViewType) {
+ var viewOverrides = this.overrides.views || {};
+ var specChain = []; // for the view. lowest to highest priority
+ var defaultsChain = []; // for the view. lowest to highest priority
+ var overridesChain = []; // for the view. lowest to highest priority
+ var viewType = requestedViewType;
+ var spec; // for the view
+ var overrides; // for the view
+ var duration;
+ var unit;
+
+ // iterate from the specific view definition to a more general one until we hit an actual View class
+ while (viewType) {
+ spec = fcViews[viewType];
+ overrides = viewOverrides[viewType];
+ viewType = null; // clear. might repopulate for another iteration
+
+ if (typeof spec === 'function') { // TODO: deprecate
+ spec = { 'class': spec };
+ }
+
+ if (spec) {
+ specChain.unshift(spec);
+ defaultsChain.unshift(spec.defaults || {});
+ duration = duration || spec.duration;
+ viewType = viewType || spec.type;
+ }
+
+ if (overrides) {
+ overridesChain.unshift(overrides); // view-specific option hashes have options at zero-level
+ duration = duration || overrides.duration;
+ viewType = viewType || overrides.type;
+ }
+ }
+
+ spec = mergeProps(specChain);
+ spec.type = requestedViewType;
+ if (!spec['class']) {
+ return false;
+ }
+
+ if (duration) {
+ duration = moment.duration(duration);
+ if (duration.valueOf()) { // valid?
+ spec.duration = duration;
+ unit = computeIntervalUnit(duration);
+
+ // view is a single-unit duration, like "week" or "day"
+ // incorporate options for this. lowest priority
+ if (duration.as(unit) === 1) {
+ spec.singleUnit = unit;
+ overridesChain.unshift(viewOverrides[unit] || {});
+ }
+ }
+ }
+
+ spec.defaults = mergeOptions(defaultsChain);
+ spec.overrides = mergeOptions(overridesChain);
+
+ this.buildViewSpecOptions(spec);
+ this.buildViewSpecButtonText(spec, requestedViewType);
+
+ return spec;
+ },
+
+
+ // Builds and assigns a view spec's options object from its already-assigned defaults and overrides
+ buildViewSpecOptions: function(spec) {
+ spec.options = mergeOptions([ // lowest to highest priority
+ Calendar.defaults, // global defaults
+ spec.defaults, // view's defaults (from ViewSubclass.defaults)
+ this.dirDefaults,
+ this.langDefaults, // locale and dir take precedence over view's defaults!
+ this.overrides, // calendar's overrides (options given to constructor)
+ spec.overrides // view's overrides (view-specific options)
+ ]);
+ populateInstanceComputableOptions(spec.options);
+ },
+
+
+ // Computes and assigns a view spec's buttonText-related options
+ buildViewSpecButtonText: function(spec, requestedViewType) {
+
+ // given an options object with a possible `buttonText` hash, lookup the buttonText for the
+ // requested view, falling back to a generic unit entry like "week" or "day"
+ function queryButtonText(options) {
+ var buttonText = options.buttonText || {};
+ return buttonText[requestedViewType] ||
+ (spec.singleUnit ? buttonText[spec.singleUnit] : null);
+ }
+
+ // highest to lowest priority
+ spec.buttonTextOverride =
+ queryButtonText(this.overrides) || // constructor-specified buttonText lookup hash takes precedence
+ spec.overrides.buttonText; // `buttonText` for view-specific options is a string
+
+ // highest to lowest priority. mirrors buildViewSpecOptions
+ spec.buttonTextDefault =
+ queryButtonText(this.langDefaults) ||
+ queryButtonText(this.dirDefaults) ||
+ spec.defaults.buttonText || // a single string. from ViewSubclass.defaults
+ queryButtonText(Calendar.defaults) ||
+ (spec.duration ? this.humanizeDuration(spec.duration) : null) || // like "3 days"
+ requestedViewType; // fall back to given view name
+ },
+
+
+ // Given a view name for a custom view or a standard view, creates a ready-to-go View object
+ instantiateView: function(viewType) {
+ var spec = this.getViewSpec(viewType);
+
+ return new spec['class'](this, viewType, spec.options, spec.duration);
+ },
+
+
+ // Returns a boolean about whether the view is okay to instantiate at some point
+ isValidViewType: function(viewType) {
+ return Boolean(this.getViewSpec(viewType));
+ },
+
+
+ // Should be called when any type of async data fetching begins
+ pushLoading: function() {
+ if (!(this.loadingLevel++)) {
+ this.trigger('loading', null, true, this.view);
+ }
+ },
+
+
+ // Should be called when any type of async data fetching completes
+ popLoading: function() {
+ if (!(--this.loadingLevel)) {
+ this.trigger('loading', null, false, this.view);
+ }
+ },
+
+
+ // Given arguments to the select method in the API, returns a range
+ buildSelectRange: function(start, end) {
+
+ start = this.moment(start);
+ if (end) {
+ end = this.moment(end);
+ }
+ else if (start.hasTime()) {
+ end = start.clone().add(this.defaultTimedEventDuration);
+ }
+ else {
+ end = start.clone().add(this.defaultAllDayEventDuration);
+ }
+
+ return { start: start, end: end };
+ }
+
+});
+
+
+Calendar.mixin(Emitter);
+
+
+function Calendar_constructor(element, overrides) {
var t = this;
+
+
+ t.initOptions(overrides || {});
+ var options = this.options;
+
-
- // exports
- t.options = options;
+ // Exports
+ // -----------------------------------------------------------------------------------
+
t.render = render;
t.destroy = destroy;
t.refetchEvents = refetchEvents;
t.reportEvents = reportEvents;
t.reportEventChange = reportEventChange;
- t.rerenderEvents = rerenderEvents;
- t.changeView = changeView;
+ t.rerenderEvents = renderEvents; // `renderEvents` serves as a rerender. an API method
+ t.changeView = renderView; // `renderView` will switch to another view
t.select = select;
t.unselect = unselect;
t.prev = prev;
@@ -204,54 +8229,209 @@ function Calendar(element, options, eventSources) {
t.today = today;
t.gotoDate = gotoDate;
t.incrementDate = incrementDate;
- t.formatDate = function(format, date) { return formatDate(format, date, options) };
- t.formatDates = function(format, date1, date2) { return formatDates(format, date1, date2, options) };
+ t.zoomTo = zoomTo;
t.getDate = getDate;
+ t.getCalendar = getCalendar;
t.getView = getView;
t.option = option;
t.trigger = trigger;
+
+
+
+ // Language-data Internals
+ // -----------------------------------------------------------------------------------
+ // Apply overrides to the current language's data
+
+
+ var localeData = createObject( // make a cheap copy
+ getMomentLocaleData(options.lang) // will fall back to en
+ );
+
+ if (options.monthNames) {
+ localeData._months = options.monthNames;
+ }
+ if (options.monthNamesShort) {
+ localeData._monthsShort = options.monthNamesShort;
+ }
+ if (options.dayNames) {
+ localeData._weekdays = options.dayNames;
+ }
+ if (options.dayNamesShort) {
+ localeData._weekdaysShort = options.dayNamesShort;
+ }
+ if (options.firstDay != null) {
+ var _week = createObject(localeData._week); // _week: { dow: # }
+ _week.dow = options.firstDay;
+ localeData._week = _week;
+ }
+
+ // assign a normalized value, to be used by our .week() moment extension
+ localeData._fullCalendar_weekCalc = (function(weekCalc) {
+ if (typeof weekCalc === 'function') {
+ return weekCalc;
+ }
+ else if (weekCalc === 'local') {
+ return weekCalc;
+ }
+ else if (weekCalc === 'iso' || weekCalc === 'ISO') {
+ return 'ISO';
+ }
+ })(options.weekNumberCalculation);
+
+
+
+ // Calendar-specific Date Utilities
+ // -----------------------------------------------------------------------------------
+
+
+ t.defaultAllDayEventDuration = moment.duration(options.defaultAllDayEventDuration);
+ t.defaultTimedEventDuration = moment.duration(options.defaultTimedEventDuration);
+
+
+ // Builds a moment using the settings of the current calendar: timezone and language.
+ // Accepts anything the vanilla moment() constructor accepts.
+ t.moment = function() {
+ var mom;
+
+ if (options.timezone === 'local') {
+ mom = FC.moment.apply(null, arguments);
+
+ // Force the moment to be local, because FC.moment doesn't guarantee it.
+ if (mom.hasTime()) { // don't give ambiguously-timed moments a local zone
+ mom.local();
+ }
+ }
+ else if (options.timezone === 'UTC') {
+ mom = FC.moment.utc.apply(null, arguments); // process as UTC
+ }
+ else {
+ mom = FC.moment.parseZone.apply(null, arguments); // let the input decide the zone
+ }
+
+ if ('_locale' in mom) { // moment 2.8 and above
+ mom._locale = localeData;
+ }
+ else { // pre-moment-2.8
+ mom._lang = localeData;
+ }
+
+ return mom;
+ };
+
+
+ // Returns a boolean about whether or not the calendar knows how to calculate
+ // the timezone offset of arbitrary dates in the current timezone.
+ t.getIsAmbigTimezone = function() {
+ return options.timezone !== 'local' && options.timezone !== 'UTC';
+ };
+
+
+ // Returns a copy of the given date in the current timezone of it is ambiguously zoned.
+ // This will also give the date an unambiguous time.
+ t.rezoneDate = function(date) {
+ return t.moment(date.toArray());
+ };
+
+
+ // Returns a moment for the current date, as defined by the client's computer,
+ // or overridden by the `now` option.
+ t.getNow = function() {
+ var now = options.now;
+ if (typeof now === 'function') {
+ now = now();
+ }
+ return t.moment(now);
+ };
+
+
+ // Get an event's normalized end date. If not present, calculate it from the defaults.
+ t.getEventEnd = function(event) {
+ if (event.end) {
+ return event.end.clone();
+ }
+ else {
+ return t.getDefaultEventEnd(event.allDay, event.start);
+ }
+ };
+
+
+ // Given an event's allDay status and start date, return swhat its fallback end date should be.
+ t.getDefaultEventEnd = function(allDay, start) { // TODO: rename to computeDefaultEventEnd
+ var end = start.clone();
+
+ if (allDay) {
+ end.stripTime().add(t.defaultAllDayEventDuration);
+ }
+ else {
+ end.add(t.defaultTimedEventDuration);
+ }
+
+ if (t.getIsAmbigTimezone()) {
+ end.stripZone(); // we don't know what the tzo should be
+ }
+
+ return end;
+ };
+
+
+ // Produces a human-readable string for the given duration.
+ // Side-effect: changes the locale of the given duration.
+ t.humanizeDuration = function(duration) {
+ return (duration.locale || duration.lang).call(duration, options.lang) // works moment-pre-2.8
+ .humanize();
+ };
+
+
-
- // imports
- EventManager.call(t, options, eventSources);
+ // Imports
+ // -----------------------------------------------------------------------------------
+
+
+ EventManager.call(t, options);
var isFetchNeeded = t.isFetchNeeded;
var fetchEvents = t.fetchEvents;
-
-
- // locals
+
+
+
+ // Locals
+ // -----------------------------------------------------------------------------------
+
+
var _element = element[0];
var header;
var headerElement;
var content;
var tm; // for making theme classes
- var currentView;
- var viewInstances = {};
- var elementOuterWidth;
+ var currentView; // NOTE: keep this in sync with this.view
+ var viewsByType = {}; // holds all instantiated view instances, current or not
var suggestedViewHeight;
- var absoluteViewElement;
- var resizeUID = 0;
+ var windowResizeProxy; // wraps the windowResize function
var ignoreWindowResize = 0;
- var date = new Date();
+ var date;
var events = [];
- var _dragElement;
- /* Main Rendering
- -----------------------------------------------------------------------------*/
-
-
- setYMD(date, options.year, options.month, options.date);
+ // Main Rendering
+ // -----------------------------------------------------------------------------------
+
+
+ if (options.defaultDate != null) {
+ date = t.moment(options.defaultDate);
+ }
+ else {
+ date = t.getNow();
+ }
- function render(inc) {
+ function render() {
if (!content) {
initialRender();
- }else{
+ }
+ else if (elementVisible()) {
+ // mainly for the public API
calcSize();
- markSizesDirty();
- markEventsDirty();
- renderView(inc);
+ renderView();
}
}
@@ -259,197 +8439,169 @@ function Calendar(element, options, eventSources) {
function initialRender() {
tm = options.theme ? 'ui' : 'fc';
element.addClass('fc');
+
if (options.isRTL) {
element.addClass('fc-rtl');
}
else {
element.addClass('fc-ltr');
}
+
if (options.theme) {
element.addClass('ui-widget');
}
- content = $("<div class='fc-content' style='position:relative'/>")
- .prependTo(element);
- header = new Header(t, options);
+ else {
+ element.addClass('fc-unthemed');
+ }
+
+ content = $("<div class='fc-view-container'/>").prependTo(element);
+
+ header = t.header = new Header(t, options);
headerElement = header.render();
if (headerElement) {
element.prepend(headerElement);
}
- changeView(options.defaultView);
- $(window).resize(windowResize);
- // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize
- if (!bodyVisible()) {
- lateRender();
+
+ renderView(options.defaultView);
+
+ if (options.handleWindowResize) {
+ windowResizeProxy = debounce(windowResize, options.windowResizeDelay); // prevents rapid calls
+ $(window).resize(windowResizeProxy);
}
}
- // called when we know the calendar couldn't be rendered when it was initialized,
- // but we think it's ready now
- function lateRender() {
- setTimeout(function() { // IE7 needs this so dimensions are calculated correctly
- if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once
- renderView();
- }
- },0);
- }
-
-
function destroy() {
- $(window).unbind('resize', windowResize);
- header.destroy();
+
+ if (currentView) {
+ currentView.removeElement();
+
+ // NOTE: don't null-out currentView/t.view in case API methods are called after destroy.
+ // It is still the "current" view, just not rendered.
+ }
+
+ header.removeElement();
content.remove();
- element.removeClass('fc fc-rtl ui-widget');
+ element.removeClass('fc fc-ltr fc-rtl fc-unthemed ui-widget');
+
+ if (windowResizeProxy) {
+ $(window).unbind('resize', windowResizeProxy);
+ }
}
-
function elementVisible() {
- return _element.offsetWidth !== 0;
+ return element.is(':visible');
}
- function bodyVisible() {
- return $('body')[0].offsetWidth !== 0;
- }
-
-
-
- /* View Rendering
- -----------------------------------------------------------------------------*/
-
- // TODO: improve view switching (still weird transition in IE, and FF has whiteout problem)
-
- function changeView(newViewName) {
- if (!currentView || newViewName != currentView.name) {
- ignoreWindowResize++; // because setMinHeight might change the height before render (and subsequently setSize) is reached
-
- unselect();
-
- var oldView = currentView;
- var newViewElement;
-
- if (oldView) {
- (oldView.beforeHide || noop)(); // called before changing min-height. if called after, scroll state is reset (in Opera)
- setMinHeight(content, content.height());
- oldView.element.hide();
- }else{
- setMinHeight(content, 1); // needs to be 1 (not 0) for IE7, or else view dimensions miscalculated
- }
- content.css('overflow', 'hidden');
-
- currentView = viewInstances[newViewName];
- if (currentView) {
- currentView.element.show();
- }else{
- currentView = viewInstances[newViewName] = new fcViews[newViewName](
- newViewElement = absoluteViewElement =
- $("<div class='fc-view fc-view-" + newViewName + "' style='position:absolute'/>")
- .appendTo(content),
- t // the calendar object
- );
- }
-
- if (oldView) {
- header.deactivateButton(oldView.name);
- }
- header.activateButton(newViewName);
-
- renderView(); // after height has been set, will make absoluteViewElement's position=relative, then set to null
-
- content.css('overflow', '');
- if (oldView) {
- setMinHeight(content, 1);
- }
-
- if (!newViewElement) {
- (currentView.afterShow || noop)(); // called after setting min-height/overflow, so in final scroll state (for Opera)
+
+ // View Rendering
+ // -----------------------------------------------------------------------------------
+
+
+ // Renders a view because of a date change, view-type change, or for the first time.
+ // If not given a viewType, keep the current view but render different dates.
+ function renderView(viewType) {
+ ignoreWindowResize++;
+
+ // if viewType is changing, remove the old view's rendering
+ if (currentView && viewType && currentView.type !== viewType) {
+ header.deactivateButton(currentView.type);
+ freezeContentHeight(); // prevent a scroll jump when view element is removed
+ currentView.removeElement();
+ currentView = t.view = null;
+ }
+
+ // if viewType changed, or the view was never created, create a fresh view
+ if (!currentView && viewType) {
+ currentView = t.view =
+ viewsByType[viewType] ||
+ (viewsByType[viewType] = t.instantiateView(viewType));
+
+ currentView.setElement(
+ $("<div class='fc-view fc-" + viewType + "-view' />").appendTo(content)
+ );
+ header.activateButton(viewType);
+ }
+
+ if (currentView) {
+
+ // in case the view should render a period of time that is completely hidden
+ date = currentView.massageCurrentDate(date);
+
+ // render or rerender the view
+ if (
+ !currentView.displaying ||
+ !date.isWithin(currentView.intervalStart, currentView.intervalEnd) // implicit date window change
+ ) {
+ if (elementVisible()) {
+
+ freezeContentHeight();
+ currentView.display(date);
+ unfreezeContentHeight(); // immediately unfreeze regardless of whether display is async
+
+ // need to do this after View::render, so dates are calculated
+ updateHeaderTitle();
+ updateTodayButton();
+
+ getAndRenderEvents();
+ }
}
-
- ignoreWindowResize--;
}
+
+ unfreezeContentHeight(); // undo any lone freezeContentHeight calls
+ ignoreWindowResize--;
}
+
+
+ // Resizing
+ // -----------------------------------------------------------------------------------
+
+
+ t.getSuggestedViewHeight = function() {
+ if (suggestedViewHeight === undefined) {
+ calcSize();
+ }
+ return suggestedViewHeight;
+ };
+
+
+ t.isHeightAuto = function() {
+ return options.contentHeight === 'auto' || options.height === 'auto';
+ };
- function renderView(inc) {
+ function updateSize(shouldRecalc) {
if (elementVisible()) {
- ignoreWindowResize++; // because renderEvents might temporarily change the height before setSize is reached
-
- unselect();
-
- if (suggestedViewHeight === undefined) {
- calcSize();
- }
-
- var forceEventRender = false;
- if (!currentView.start || inc || date < currentView.start || date >= currentView.end) {
- // view must render an entire new date range (and refetch/render events)
- currentView.render(date, inc || 0); // responsible for clearing events
- setSize(true);
- forceEventRender = true;
- }
- else if (currentView.sizeDirty) {
- // view must resize (and rerender events)
- currentView.clearEvents();
- setSize();
- forceEventRender = true;
- }
- else if (currentView.eventsDirty) {
- currentView.clearEvents();
- forceEventRender = true;
- }
- currentView.sizeDirty = false;
- currentView.eventsDirty = false;
- updateEvents(forceEventRender);
-
- elementOuterWidth = element.outerWidth();
-
- header.updateTitle(currentView.title);
- var today = new Date();
- if (today >= currentView.start && today < currentView.end) {
- header.disableButton('today');
- }else{
- header.enableButton('today');
+
+ if (shouldRecalc) {
+ _calcSize();
}
-
+
+ ignoreWindowResize++;
+ currentView.updateSize(true); // isResize=true. will poll getSuggestedViewHeight() and isHeightAuto()
ignoreWindowResize--;
- currentView.trigger('viewDisplay', _element);
+
+ return true; // signal success
}
}
-
-
-
- /* Resizing
- -----------------------------------------------------------------------------*/
-
-
- function updateSize() {
- markSizesDirty();
+
+
+ function calcSize() {
if (elementVisible()) {
- calcSize();
- setSize();
- unselect();
- currentView.clearEvents();
- currentView.renderEvents(events);
- currentView.sizeDirty = false;
+ _calcSize();
}
}
- function markSizesDirty() {
- $.each(viewInstances, function(i, inst) {
- inst.sizeDirty = true;
- });
- }
-
-
- function calcSize() {
- if (options.contentHeight) {
+ function _calcSize() { // assumes elementVisible
+ if (typeof options.contentHeight === 'number') { // exists and not 'auto'
suggestedViewHeight = options.contentHeight;
}
- else if (options.height) {
- suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content);
+ else if (typeof options.height === 'number') { // exists and not 'auto'
+ suggestedViewHeight = options.height - (headerElement ? headerElement.outerHeight(true) : 0);
}
else {
suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5));
@@ -457,35 +8609,14 @@ function Calendar(element, options, eventSources) {
}
- function setSize(dateChanged) { // todo: dateChanged?
- ignoreWindowResize++;
- currentView.setHeight(suggestedViewHeight, dateChanged);
- if (absoluteViewElement) {
- absoluteViewElement.css('position', 'relative');
- absoluteViewElement = null;
- }
- currentView.setWidth(content.width(), dateChanged);
- ignoreWindowResize--;
- }
-
-
- function windowResize() {
- if (!ignoreWindowResize) {
- if (currentView.start) { // view has already been rendered
- var uid = ++resizeUID;
- setTimeout(function() { // add a delay
- if (uid == resizeUID && !ignoreWindowResize && elementVisible()) {
- if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) {
- ignoreWindowResize++; // in case the windowResize callback changes the height
- updateSize();
- currentView.trigger('windowResize', _element);
- ignoreWindowResize--;
- }
- }
- }, 200);
- }else{
- // calendar must have been initialized in a 0x0 iframe that has just been resized
- lateRender();
+ function windowResize(ev) {
+ if (
+ !ignoreWindowResize &&
+ ev.target === window && // so we don't process jqui "resize" events that have bubbled up
+ currentView.start // view has already been rendered
+ ) {
+ if (updateSize(true)) {
+ currentView.trigger('windowResize', _element);
}
}
}
@@ -494,52 +8625,79 @@ function Calendar(element, options, eventSources) {
/* Event Fetching/Rendering
-----------------------------------------------------------------------------*/
+ // TODO: going forward, most of this stuff should be directly handled by the view
+
+
+ function refetchEvents() { // can be called as an API method
+ destroyEvents(); // so that events are cleared before user starts waiting for AJAX
+ fetchAndRenderEvents();
+ }
+
+
+ function renderEvents() { // destroys old events if previously rendered
+ if (elementVisible()) {
+ freezeContentHeight();
+ currentView.displayEvents(events);
+ unfreezeContentHeight();
+ }
+ }
+
+
+ function destroyEvents() {
+ freezeContentHeight();
+ currentView.clearEvents();
+ unfreezeContentHeight();
+ }
-
- // fetches events if necessary, rerenders events if necessary (or if forced)
- function updateEvents(forceRender) {
- if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) {
- refetchEvents();
+
+ function getAndRenderEvents() {
+ if (!options.lazyFetching || isFetchNeeded(currentView.start, currentView.end)) {
+ fetchAndRenderEvents();
}
- else if (forceRender) {
- rerenderEvents();
+ else {
+ renderEvents();
}
}
-
-
- function refetchEvents() {
- fetchEvents(currentView.visStart, currentView.visEnd); // will call reportEvents
+
+
+ function fetchAndRenderEvents() {
+ fetchEvents(currentView.start, currentView.end);
+ // ... will call reportEvents
+ // ... which will call renderEvents
}
-
+
// called when event data arrives
function reportEvents(_events) {
events = _events;
- rerenderEvents();
+ renderEvents();
}
-
-
+
+
// called when a single event's data has been changed
- function reportEventChange(eventID) {
- rerenderEvents(eventID);
+ function reportEventChange() {
+ renderEvents();
}
-
-
- // attempts to rerenderEvents
- function rerenderEvents(modifiedEventID) {
- markEventsDirty();
- if (elementVisible()) {
- currentView.clearEvents();
- currentView.renderEvents(events, modifiedEventID);
- currentView.eventsDirty = false;
- }
+
+
+
+ /* Header Updating
+ -----------------------------------------------------------------------------*/
+
+
+ function updateHeaderTitle() {
+ header.updateTitle(currentView.title);
}
-
-
- function markEventsDirty() {
- $.each(viewInstances, function(i, inst) {
- inst.eventsDirty = true;
- });
+
+
+ function updateTodayButton() {
+ var now = t.getNow();
+ if (now.isWithin(currentView.intervalStart, currentView.intervalEnd)) {
+ header.disableButton('today');
+ }
+ else {
+ header.enableButton('today');
+ }
}
@@ -548,8 +8706,10 @@ function Calendar(element, options, eventSources) {
-----------------------------------------------------------------------------*/
- function select(start, end, allDay) {
- currentView.select(start, end, allDay===undefined ? true : allDay);
+ function select(start, end) {
+ currentView.select(
+ t.buildSelectRange.apply(t, arguments)
+ );
}
@@ -566,59 +8726,86 @@ function Calendar(element, options, eventSources) {
function prev() {
- renderView(-1);
+ date = currentView.computePrevDate(date);
+ renderView();
}
function next() {
- renderView(1);
+ date = currentView.computeNextDate(date);
+ renderView();
}
function prevYear() {
- addYears(date, -1);
+ date.add(-1, 'years');
renderView();
}
function nextYear() {
- addYears(date, 1);
+ date.add(1, 'years');
renderView();
}
function today() {
- date = new Date();
+ date = t.getNow();
renderView();
}
- function gotoDate(year, month, dateOfMonth) {
- if (year instanceof Date) {
- date = cloneDate(year); // provided 1 argument, a Date
- }else{
- setYMD(date, year, month, dateOfMonth);
- }
+ function gotoDate(dateInput) {
+ date = t.moment(dateInput);
renderView();
}
- function incrementDate(years, months, days) {
- if (years !== undefined) {
- addYears(date, years);
- }
- if (months !== undefined) {
- addMonths(date, months);
- }
- if (days !== undefined) {
- addDays(date, days);
- }
+ function incrementDate(delta) {
+ date.add(moment.duration(delta));
renderView();
}
+
+
+ // Forces navigation to a view for the given date.
+ // `viewType` can be a specific view name or a generic one like "week" or "day".
+ function zoomTo(newDate, viewType) {
+ var spec;
+
+ viewType = viewType || 'day'; // day is default zoom
+ spec = t.getViewSpec(viewType) || t.getUnitViewSpec(viewType);
+
+ date = newDate;
+ renderView(spec ? spec.type : null);
+ }
function getDate() {
- return cloneDate(date);
+ return date.clone();
+ }
+
+
+
+ /* Height "Freezing"
+ -----------------------------------------------------------------------------*/
+ // TODO: move this into the view
+
+
+ function freezeContentHeight() {
+ content.css({
+ width: '100%',
+ height: content.height(),
+ overflow: 'hidden'
+ });
+ }
+
+
+ function unfreezeContentHeight() {
+ content.css({
+ width: '',
+ height: '',
+ overflow: ''
+ });
}
@@ -626,6 +8813,11 @@ function Calendar(element, options, eventSources) {
/* Misc
-----------------------------------------------------------------------------*/
+
+ function getCalendar() {
+ return t;
+ }
+
function getView() {
return currentView;
@@ -638,213 +8830,596 @@ function Calendar(element, options, eventSources) {
}
if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') {
options[name] = value;
- updateSize();
+ updateSize(true); // true = allow recalculation of height
}
}
- function trigger(name, thisObj) {
+ function trigger(name, thisObj) { // overrides the Emitter's trigger method :(
+ var args = Array.prototype.slice.call(arguments, 2);
+
+ thisObj = thisObj || _element;
+ this.triggerWith(name, thisObj, args); // Emitter's method
+
if (options[name]) {
- return options[name].apply(
- thisObj || _element,
- Array.prototype.slice.call(arguments, 2)
- );
+ return options[name].apply(thisObj, args);
}
}
+
+ t.initialize();
+}
+
+;;
+
+Calendar.defaults = {
+
+ titleRangeSeparator: ' \u2014 ', // emphasized dash
+ monthYearFormat: 'MMMM YYYY', // required for en. other languages rely on datepicker computable option
+
+ defaultTimedEventDuration: '02:00:00',
+ defaultAllDayEventDuration: { days: 1 },
+ forceEventDuration: false,
+ nextDayThreshold: '09:00:00', // 9am
+
+ // display
+ defaultView: 'month',
+ aspectRatio: 1.35,
+ header: {
+ left: 'title',
+ center: '',
+ right: 'today prev,next'
+ },
+ weekends: true,
+ weekNumbers: false,
+
+ weekNumberTitle: 'W',
+ weekNumberCalculation: 'local',
+ //editable: false,
+
+ scrollTime: '06:00:00',
+ // event ajax
+ lazyFetching: true,
+ startParam: 'start',
+ endParam: 'end',
+ timezoneParam: 'timezone',
+
+ timezone: false,
+
+ //allDayDefault: undefined,
+
+ // locale
+ isRTL: false,
+ buttonText: {
+ prev: "prev",
+ next: "next",
+ prevYear: "prev year",
+ nextYear: "next year",
+ year: 'year', // TODO: locale files need to specify this
+ today: 'today',
+ month: 'month',
+ week: 'week',
+ day: 'day'
+ },
+
+ buttonIcons: {
+ prev: 'left-single-arrow',
+ next: 'right-single-arrow',
+ prevYear: 'left-double-arrow',
+ nextYear: 'right-double-arrow'
+ },
- /* External Dragging
- ------------------------------------------------------------------------*/
+ // jquery-ui theming
+ theme: false,
+ themeButtonIcons: {
+ prev: 'circle-triangle-w',
+ next: 'circle-triangle-e',
+ prevYear: 'seek-prev',
+ nextYear: 'seek-next'
+ },
+
+ //eventResizableFromStart: false,
+ dragOpacity: .75,
+ dragRevertDuration: 500,
+ dragScroll: true,
- if (options.droppable) {
- $(document)
- .bind('dragstart', function(ev, ui) {
- var _e = ev.target;
- var e = $(_e);
- if (!e.parents('.fc').length) { // not already inside a calendar
- var accept = options.dropAccept;
- if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) {
- _dragElement = _e;
- currentView.dragStart(_dragElement, ev, ui);
- }
- }
- })
- .bind('dragstop', function(ev, ui) {
- if (_dragElement) {
- currentView.dragStop(_dragElement, ev, ui);
- _dragElement = null;
- }
- });
- }
+ //selectable: false,
+ unselectAuto: true,
+
+ dropAccept: '*',
+
+ eventOrder: 'title',
+
+ eventLimit: false,
+ eventLimitText: 'more',
+ eventLimitClick: 'popover',
+ dayPopoverFormat: 'LL',
+
+ handleWindowResize: true,
+ windowResizeDelay: 200 // milliseconds before an updateSize happens
+};
+
+
+Calendar.englishDefaults = { // used by lang.js
+ dayPopoverFormat: 'dddd, MMMM D'
+};
+
+
+Calendar.rtlDefaults = { // right-to-left defaults
+ header: { // TODO: smarter solution (first/center/last ?)
+ left: 'next,prev today',
+ center: '',
+ right: 'title'
+ },
+ buttonIcons: {
+ prev: 'right-single-arrow',
+ next: 'left-single-arrow',
+ prevYear: 'right-double-arrow',
+ nextYear: 'left-double-arrow'
+ },
+ themeButtonIcons: {
+ prev: 'circle-triangle-e',
+ next: 'circle-triangle-w',
+ nextYear: 'seek-prev',
+ prevYear: 'seek-next'
+ }
+};
+
+;;
+
+var langOptionHash = FC.langs = {}; // initialize and expose
+
+
+// TODO: document the structure and ordering of a FullCalendar lang file
+// TODO: rename everything "lang" to "locale", like what the moment project did
+
+
+// Initialize jQuery UI datepicker translations while using some of the translations
+// Will set this as the default language for datepicker.
+FC.datepickerLang = function(langCode, dpLangCode, dpOptions) {
+
+ // get the FullCalendar internal option hash for this language. create if necessary
+ var fcOptions = langOptionHash[langCode] || (langOptionHash[langCode] = {});
+
+ // transfer some simple options from datepicker to fc
+ fcOptions.isRTL = dpOptions.isRTL;
+ fcOptions.weekNumberTitle = dpOptions.weekHeader;
+
+ // compute some more complex options from datepicker
+ $.each(dpComputableOptions, function(name, func) {
+ fcOptions[name] = func(dpOptions);
+ });
+
+ // is jQuery UI Datepicker is on the page?
+ if ($.datepicker) {
+
+ // Register the language data.
+ // FullCalendar and MomentJS use language codes like "pt-br" but Datepicker
+ // does it like "pt-BR" or if it doesn't have the language, maybe just "pt".
+ // Make an alias so the language can be referenced either way.
+ $.datepicker.regional[dpLangCode] =
+ $.datepicker.regional[langCode] = // alias
+ dpOptions;
+
+ // Alias 'en' to the default language data. Do this every time.
+ $.datepicker.regional.en = $.datepicker.regional[''];
+
+ // Set as Datepicker's global defaults.
+ $.datepicker.setDefaults(dpOptions);
+ }
+};
+
+
+// Sets FullCalendar-specific translations. Will set the language as the global default.
+FC.lang = function(langCode, newFcOptions) {
+ var fcOptions;
+ var momOptions;
+
+ // get the FullCalendar internal option hash for this language. create if necessary
+ fcOptions = langOptionHash[langCode] || (langOptionHash[langCode] = {});
+ // provided new options for this language? merge them in
+ if (newFcOptions) {
+ fcOptions = langOptionHash[langCode] = mergeOptions([ fcOptions, newFcOptions ]);
+ }
+
+ // compute language options that weren't defined.
+ // always do this. newFcOptions can be undefined when initializing from i18n file,
+ // so no way to tell if this is an initialization or a default-setting.
+ momOptions = getMomentLocaleData(langCode); // will fall back to en
+ $.each(momComputableOptions, function(name, func) {
+ if (fcOptions[name] == null) {
+ fcOptions[name] = func(momOptions, fcOptions);
+ }
+ });
+
+ // set it as the default language for FullCalendar
+ Calendar.defaults.lang = langCode;
+};
+
+
+// NOTE: can't guarantee any of these computations will run because not every language has datepicker
+// configs, so make sure there are English fallbacks for these in the defaults file.
+var dpComputableOptions = {
+
+ buttonText: function(dpOptions) {
+ return {
+ // the translations sometimes wrongly contain HTML entities
+ prev: stripHtmlEntities(dpOptions.prevText),
+ next: stripHtmlEntities(dpOptions.nextText),
+ today: stripHtmlEntities(dpOptions.currentText)
+ };
+ },
+
+ // Produces format strings like "MMMM YYYY" -> "September 2014"
+ monthYearFormat: function(dpOptions) {
+ return dpOptions.showMonthAfterYear ?
+ 'YYYY[' + dpOptions.yearSuffix + '] MMMM' :
+ 'MMMM YYYY[' + dpOptions.yearSuffix + ']';
+ }
+
+};
+
+var momComputableOptions = {
+
+ // Produces format strings like "ddd M/D" -> "Fri 9/15"
+ dayOfMonthFormat: function(momOptions, fcOptions) {
+ var format = momOptions.longDateFormat('l'); // for the format like "M/D/YYYY"
+
+ // strip the year off the edge, as well as other misc non-whitespace chars
+ format = format.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g, '');
+
+ if (fcOptions.isRTL) {
+ format += ' ddd'; // for RTL, add day-of-week to end
+ }
+ else {
+ format = 'ddd ' + format; // for LTR, add day-of-week to beginning
+ }
+ return format;
+ },
+
+ // Produces format strings like "h:mma" -> "6:00pm"
+ mediumTimeFormat: function(momOptions) { // can't be called `timeFormat` because collides with option
+ return momOptions.longDateFormat('LT')
+ .replace(/\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand
+ },
+
+ // Produces format strings like "h(:mm)a" -> "6pm" / "6:30pm"
+ smallTimeFormat: function(momOptions) {
+ return momOptions.longDateFormat('LT')
+ .replace(':mm', '(:mm)')
+ .replace(/(\Wmm)$/, '($1)') // like above, but for foreign langs
+ .replace(/\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand
+ },
+
+ // Produces format strings like "h(:mm)t" -> "6p" / "6:30p"
+ extraSmallTimeFormat: function(momOptions) {
+ return momOptions.longDateFormat('LT')
+ .replace(':mm', '(:mm)')
+ .replace(/(\Wmm)$/, '($1)') // like above, but for foreign langs
+ .replace(/\s*a$/i, 't'); // convert to AM/PM/am/pm to lowercase one-letter. remove any spaces beforehand
+ },
+
+ // Produces format strings like "ha" / "H" -> "6pm" / "18"
+ hourFormat: function(momOptions) {
+ return momOptions.longDateFormat('LT')
+ .replace(':mm', '')
+ .replace(/(\Wmm)$/, '') // like above, but for foreign langs
+ .replace(/\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand
+ },
+
+ // Produces format strings like "h:mm" -> "6:30" (with no AM/PM)
+ noMeridiemTimeFormat: function(momOptions) {
+ return momOptions.longDateFormat('LT')
+ .replace(/\s*a$/i, ''); // remove trailing AM/PM
+ }
+
+};
+
+
+// options that should be computed off live calendar options (considers override options)
+// TODO: best place for this? related to lang?
+// TODO: flipping text based on isRTL is a bad idea because the CSS `direction` might want to handle it
+var instanceComputableOptions = {
+
+ // Produces format strings for results like "Mo 16"
+ smallDayDateFormat: function(options) {
+ return options.isRTL ?
+ 'D dd' :
+ 'dd D';
+ },
+
+ // Produces format strings for results like "Wk 5"
+ weekFormat: function(options) {
+ return options.isRTL ?
+ 'w[ ' + options.weekNumberTitle + ']' :
+ '[' + options.weekNumberTitle + ' ]w';
+ },
+
+ // Produces format strings for results like "Wk5"
+ smallWeekFormat: function(options) {
+ return options.isRTL ?
+ 'w[' + options.weekNumberTitle + ']' :
+ '[' + options.weekNumberTitle + ']w';
+ }
+
+};
+
+function populateInstanceComputableOptions(options) {
+ $.each(instanceComputableOptions, function(name, func) {
+ if (options[name] == null) {
+ options[name] = func(options);
+ }
+ });
}
+
+// Returns moment's internal locale data. If doesn't exist, returns English.
+// Works with moment-pre-2.8
+function getMomentLocaleData(langCode) {
+ var func = moment.localeData || moment.langData;
+ return func.call(moment, langCode) ||
+ func.call(moment, 'en'); // the newer localData could return null, so fall back to en
+}
+
+
+// Initialize English by forcing computation of moment-derived options.
+// Also, sets it as the default.
+FC.lang('en', Calendar.englishDefaults);
+
;;
+/* Top toolbar area with buttons and title
+----------------------------------------------------------------------------------------------------------------------*/
+// TODO: rename all header-related things to "toolbar"
+
function Header(calendar, options) {
var t = this;
-
// exports
t.render = render;
- t.destroy = destroy;
+ t.removeElement = removeElement;
t.updateTitle = updateTitle;
t.activateButton = activateButton;
t.deactivateButton = deactivateButton;
t.disableButton = disableButton;
t.enableButton = enableButton;
-
+ t.getViewsWithButtons = getViewsWithButtons;
// locals
- var element = $([]);
+ var el = $();
+ var viewsWithButtons = [];
var tm;
-
function render() {
- tm = options.theme ? 'ui' : 'fc';
var sections = options.header;
+
+ tm = options.theme ? 'ui' : 'fc';
+
if (sections) {
- element = $("<table class='fc-header' style='width:100%'/>")
- .append(
- $("<tr/>")
- .append(renderSection('left'))
- .append(renderSection('center'))
- .append(renderSection('right'))
- );
- return element;
+ el = $("<div class='fc-toolbar'/>")
+ .append(renderSection('left'))
+ .append(renderSection('right'))
+ .append(renderSection('center'))
+ .append('<div class="fc-clear"/>');
+
+ return el;
}
}
- function destroy() {
- element.remove();
+ function removeElement() {
+ el.remove();
+ el = $();
}
function renderSection(position) {
- var e = $("<td class='fc-header-" + position + "'/>");
+ var sectionEl = $('<div class="fc-' + position + '"/>');
var buttonStr = options.header[position];
+
if (buttonStr) {
$.each(buttonStr.split(' '), function(i) {
- if (i > 0) {
- e.append("<span class='fc-header-space'/>");
- }
- var prevButton;
+ var groupChildren = $();
+ var isOnlyButtons = true;
+ var groupEl;
+
$.each(this.split(','), function(j, buttonName) {
+ var customButtonProps;
+ var viewSpec;
+ var buttonClick;
+ var overrideText; // text explicitly set by calendar's constructor options. overcomes icons
+ var defaultText;
+ var themeIcon;
+ var normalIcon;
+ var innerHtml;
+ var classes;
+ var button; // the element
+
if (buttonName == 'title') {
- e.append("<span class='fc-header-title'><h2>&nbsp;</h2></span>");
- if (prevButton) {
- prevButton.addClass(tm + '-corner-right');
- }
- prevButton = null;
- }else{
- var buttonClick;
- if (calendar[buttonName]) {
- buttonClick = calendar[buttonName]; // calendar method
+ groupChildren = groupChildren.add($('<h2>&nbsp;</h2>')); // we always want it to take up height
+ isOnlyButtons = false;
+ }
+ else {
+ if ((customButtonProps = (calendar.options.customButtons || {})[buttonName])) {
+ buttonClick = function(ev) {
+ if (customButtonProps.click) {
+ customButtonProps.click.call(button[0], ev);
+ }
+ };
+ overrideText = ''; // icons will override text
+ defaultText = customButtonProps.text;
}
- else if (fcViews[buttonName]) {
+ else if ((viewSpec = calendar.getViewSpec(buttonName))) {
buttonClick = function() {
- button.removeClass(tm + '-state-hover'); // forget why
calendar.changeView(buttonName);
};
+ viewsWithButtons.push(buttonName);
+ overrideText = viewSpec.buttonTextOverride;
+ defaultText = viewSpec.buttonTextDefault;
}
+ else if (calendar[buttonName]) { // a calendar method
+ buttonClick = function() {
+ calendar[buttonName]();
+ };
+ overrideText = (calendar.overrides.buttonText || {})[buttonName];
+ defaultText = options.buttonText[buttonName]; // everything else is considered default
+ }
+
if (buttonClick) {
- var icon = options.theme ? smartProperty(options.buttonIcons, buttonName) : null; // why are we using smartProperty here?
- var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here?
- var button = $(
- "<span class='fc-button fc-button-" + buttonName + " " + tm + "-state-default'>" +
- (icon ?
- "<span class='fc-icon-wrap'>" +
- "<span class='ui-icon ui-icon-" + icon + "'/>" +
- "</span>" :
- text
- ) +
- "</span>"
+
+ themeIcon =
+ customButtonProps ?
+ customButtonProps.themeIcon :
+ options.themeButtonIcons[buttonName];
+
+ normalIcon =
+ customButtonProps ?
+ customButtonProps.icon :
+ options.buttonIcons[buttonName];
+
+ if (overrideText) {
+ innerHtml = htmlEscape(overrideText);
+ }
+ else if (themeIcon && options.theme) {
+ innerHtml = "<span class='ui-icon ui-icon-" + themeIcon + "'></span>";
+ }
+ else if (normalIcon && !options.theme) {
+ innerHtml = "<span class='fc-icon fc-icon-" + normalIcon + "'></span>";
+ }
+ else {
+ innerHtml = htmlEscape(defaultText);
+ }
+
+ classes = [
+ 'fc-' + buttonName + '-button',
+ tm + '-button',
+ tm + '-state-default'
+ ];
+
+ button = $( // type="button" so that it doesn't submit a form
+ '<button type="button" class="' + classes.join(' ') + '">' +
+ innerHtml +
+ '</button>'
)
- .click(function() {
+ .click(function(ev) {
+ // don't process clicks for disabled buttons
if (!button.hasClass(tm + '-state-disabled')) {
- buttonClick();
+
+ buttonClick(ev);
+
+ // after the click action, if the button becomes the "active" tab, or disabled,
+ // it should never have a hover class, so remove it now.
+ if (
+ button.hasClass(tm + '-state-active') ||
+ button.hasClass(tm + '-state-disabled')
+ ) {
+ button.removeClass(tm + '-state-hover');
+ }
}
})
.mousedown(function() {
+ // the *down* effect (mouse pressed in).
+ // only on buttons that are not the "active" tab, or disabled
button
.not('.' + tm + '-state-active')
.not('.' + tm + '-state-disabled')
.addClass(tm + '-state-down');
})
.mouseup(function() {
+ // undo the *down* effect
button.removeClass(tm + '-state-down');
})
.hover(
function() {
+ // the *hover* effect.
+ // only on buttons that are not the "active" tab, or disabled
button
.not('.' + tm + '-state-active')
.not('.' + tm + '-state-disabled')
.addClass(tm + '-state-hover');
},
function() {
+ // undo the *hover* effect
button
.removeClass(tm + '-state-hover')
- .removeClass(tm + '-state-down');
+ .removeClass(tm + '-state-down'); // if mouseleave happens before mouseup
}
- )
- .appendTo(e);
- disableTextSelection(button);
- if (!prevButton) {
- button.addClass(tm + '-corner-left');
- }
- prevButton = button;
+ );
+
+ groupChildren = groupChildren.add(button);
}
}
});
- if (prevButton) {
- prevButton.addClass(tm + '-corner-right');
+
+ if (isOnlyButtons) {
+ groupChildren
+ .first().addClass(tm + '-corner-left').end()
+ .last().addClass(tm + '-corner-right').end();
+ }
+
+ if (groupChildren.length > 1) {
+ groupEl = $('<div/>');
+ if (isOnlyButtons) {
+ groupEl.addClass('fc-button-group');
+ }
+ groupEl.append(groupChildren);
+ sectionEl.append(groupEl);
+ }
+ else {
+ sectionEl.append(groupChildren); // 1 or 0 children
}
});
}
- return e;
+
+ return sectionEl;
}
- function updateTitle(html) {
- element.find('h2')
- .html(html);
+ function updateTitle(text) {
+ el.find('h2').text(text);
}
function activateButton(buttonName) {
- element.find('span.fc-button-' + buttonName)
+ el.find('.fc-' + buttonName + '-button')
.addClass(tm + '-state-active');
}
function deactivateButton(buttonName) {
- element.find('span.fc-button-' + buttonName)
+ el.find('.fc-' + buttonName + '-button')
.removeClass(tm + '-state-active');
}
function disableButton(buttonName) {
- element.find('span.fc-button-' + buttonName)
+ el.find('.fc-' + buttonName + '-button')
+ .attr('disabled', 'disabled')
.addClass(tm + '-state-disabled');
}
function enableButton(buttonName) {
- element.find('span.fc-button-' + buttonName)
+ el.find('.fc-' + buttonName + '-button')
+ .removeAttr('disabled')
.removeClass(tm + '-state-disabled');
}
+ function getViewsWithButtons() {
+ return viewsWithButtons;
+ }
+
}
;;
-fc.sourceNormalizers = [];
-fc.sourceFetchers = [];
+FC.sourceNormalizers = [];
+FC.sourceFetchers = [];
var ajaxDefaults = {
dataType: 'json',
@@ -854,7 +9429,7 @@ var ajaxDefaults = {
var eventGUID = 1;
-function EventManager(options, _sources) {
+function EventManager(options) { // assumed to be a calendar
var t = this;
@@ -867,12 +9442,13 @@ function EventManager(options, _sources) {
t.renderEvent = renderEvent;
t.removeEvents = removeEvents;
t.clientEvents = clientEvents;
- t.normalizeEvent = normalizeEvent;
+ t.mutateEvent = mutateEvent;
+ t.normalizeEventRange = normalizeEventRange;
+ t.normalizeEventRangeTimes = normalizeEventRangeTimes;
+ t.ensureVisibleEventRange = ensureVisibleEventRange;
// imports
- var trigger = t.trigger;
- var getView = t.getView;
var reportEvents = t.reportEvents;
@@ -882,13 +9458,18 @@ function EventManager(options, _sources) {
var rangeStart, rangeEnd;
var currentFetchID = 0;
var pendingSourceCnt = 0;
- var loadingLevel = 0;
- var cache = [];
-
-
- for (var i=0; i<_sources.length; i++) {
- _addEventSource(_sources[i]);
- }
+ var cache = []; // holds events that have already been expanded
+
+
+ $.each(
+ (options.events ? [ options.events ] : []).concat(options.eventSources || []),
+ function(i, sourceInput) {
+ var source = buildEventSource(sourceInput);
+ if (source) {
+ sources.push(source);
+ }
+ }
+ );
@@ -897,7 +9478,10 @@ function EventManager(options, _sources) {
function isFetchNeeded(start, end) {
- return !rangeStart || start < rangeStart || end > rangeEnd;
+ return !rangeStart || // nothing has been fetched yet?
+ // or, a part of the new range is outside of the old range? (after normalizing)
+ start.clone().stripZone() < rangeStart.clone().stripZone() ||
+ end.clone().stripZone() > rangeEnd.clone().stripZone();
}
@@ -915,25 +9499,33 @@ function EventManager(options, _sources) {
function fetchEventSource(source, fetchID) {
- _fetchEventSource(source, function(events) {
+ _fetchEventSource(source, function(eventInputs) {
+ var isArraySource = $.isArray(source.events);
+ var i, eventInput;
+ var abstractEvent;
+
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]);
+ if (eventInputs) {
+ for (i = 0; i < eventInputs.length; i++) {
+ eventInput = eventInputs[i];
+
+ if (isArraySource) { // array sources have already been convert to Event Objects
+ abstractEvent = eventInput;
+ }
+ else {
+ abstractEvent = buildEventFromInput(eventInput, source);
+ }
+
+ if (abstractEvent) { // not false (an invalid event)
+ cache.push.apply(
+ cache,
+ expandEvent(abstractEvent) // add individual expanded events to the cache
+ );
+ }
}
- cache = cache.concat(events);
}
+
pendingSourceCnt--;
if (!pendingSourceCnt) {
reportEvents(cache);
@@ -945,10 +9537,19 @@ function EventManager(options, _sources) {
function _fetchEventSource(source, callback) {
var i;
- var fetchers = fc.sourceFetchers;
+ var fetchers = FC.sourceFetchers;
var res;
+
for (i=0; i<fetchers.length; i++) {
- res = fetchers[i](source, rangeStart, rangeEnd, callback);
+ res = fetchers[i].call(
+ t, // this, the Calendar object
+ source,
+ rangeStart.clone(),
+ rangeEnd.clone(),
+ options.timezone,
+ callback
+ );
+
if (res === true) {
// the fetcher is in charge. made its own async request
return;
@@ -959,14 +9560,21 @@ function EventManager(options, _sources) {
return;
}
}
+
var events = source.events;
if (events) {
if ($.isFunction(events)) {
- pushLoading();
- events(cloneDate(rangeStart), cloneDate(rangeEnd), function(events) {
- callback(events);
- popLoading();
- });
+ t.pushLoading();
+ events.call(
+ t, // this, the Calendar object
+ rangeStart.clone(),
+ rangeEnd.clone(),
+ options.timezone,
+ function(events) {
+ callback(events);
+ t.popLoading();
+ }
+ );
}
else if ($.isArray(events)) {
callback(events);
@@ -980,16 +9588,37 @@ function EventManager(options, _sources) {
var success = source.success;
var error = source.error;
var complete = source.complete;
- var data = $.extend({}, source.data || {});
+
+ // retrieve any outbound GET/POST $.ajax data from the options
+ var customData;
+ if ($.isFunction(source.data)) {
+ // supplied as a function that returns a key/value object
+ customData = source.data();
+ }
+ else {
+ // supplied as a straight key/value object
+ customData = source.data;
+ }
+
+ // use a copy of the custom data so we can modify the parameters
+ // and not affect the passed-in object.
+ var data = $.extend({}, customData || {});
+
var startParam = firstDefined(source.startParam, options.startParam);
var endParam = firstDefined(source.endParam, options.endParam);
+ var timezoneParam = firstDefined(source.timezoneParam, options.timezoneParam);
+
if (startParam) {
- data[startParam] = Math.round(+rangeStart / 1000);
+ data[startParam] = rangeStart.format();
}
if (endParam) {
- data[endParam] = Math.round(+rangeEnd / 1000);
+ data[endParam] = rangeEnd.format();
+ }
+ if (options.timezone && options.timezone != 'local') {
+ data[timezoneParam] = options.timezone;
}
- pushLoading();
+
+ t.pushLoading();
$.ajax($.extend({}, ajaxDefaults, source, {
data: data,
success: function(events) {
@@ -1006,7 +9635,7 @@ function EventManager(options, _sources) {
},
complete: function() {
applyAll(complete, this, arguments);
- popLoading();
+ t.popLoading();
}
}));
}else{
@@ -1021,29 +9650,60 @@ function EventManager(options, _sources) {
-----------------------------------------------------------------------------*/
- function addEventSource(source) {
- source = _addEventSource(source);
+ function addEventSource(sourceInput) {
+ var source = buildEventSource(sourceInput);
if (source) {
+ sources.push(source);
pendingSourceCnt++;
fetchEventSource(source, currentFetchID); // will eventually call reportEvents
}
}
-
-
- function _addEventSource(source) {
- if ($.isFunction(source) || $.isArray(source)) {
- source = { events: source };
+
+
+ function buildEventSource(sourceInput) { // will return undefined if invalid source
+ var normalizers = FC.sourceNormalizers;
+ var source;
+ var i;
+
+ if ($.isFunction(sourceInput) || $.isArray(sourceInput)) {
+ source = { events: sourceInput };
}
- else if (typeof source == 'string') {
- source = { url: source };
+ else if (typeof sourceInput === 'string') {
+ source = { url: sourceInput };
}
- if (typeof source == 'object') {
- normalizeSource(source);
- sources.push(source);
+ else if (typeof sourceInput === 'object') {
+ source = $.extend({}, sourceInput); // shallow copy
+ }
+
+ if (source) {
+
+ // TODO: repeat code, same code for event classNames
+ if (source.className) {
+ if (typeof source.className === 'string') {
+ source.className = source.className.split(/\s+/);
+ }
+ // otherwise, assumed to be an array
+ }
+ else {
+ source.className = [];
+ }
+
+ // for array sources, we convert to standard Event Objects up front
+ if ($.isArray(source.events)) {
+ source.origArray = source.events; // for removeEventSource
+ source.events = $.map(source.events, function(eventInput) {
+ return buildEventFromInput(eventInput, source);
+ });
+ }
+
+ for (i=0; i<normalizers.length; i++) {
+ normalizers[i].call(t, source);
+ }
+
return source;
}
}
-
+
function removeEventSource(source) {
sources = $.grep(sources, function(src) {
@@ -1055,87 +9715,122 @@ function EventManager(options, _sources) {
});
reportEvents(cache);
}
+
+
+ function isSourcesEqual(source1, source2) {
+ return source1 && source2 && getSourcePrimitive(source1) == getSourcePrimitive(source2);
+ }
+
+
+ function getSourcePrimitive(source) {
+ return (
+ (typeof source === 'object') ? // a normalized event source?
+ (source.origArray || source.googleCalendarId || source.url || source.events) : // get the primitive
+ null
+ ) ||
+ source; // the given argument *is* the primitive
+ }
/* Manipulation
-----------------------------------------------------------------------------*/
-
-
- function updateEvent(event) { // update an existing event
- var i, len = cache.length, e,
- defaultEventEnd = getView().defaultEventEnd, // getView???
- startDelta = event.start - event._start,
- endDelta = event.end ?
- (event.end - (event._end || defaultEventEnd(event))) // event._end would be null if event.end
- : 0; // was null and event was just resized
- for (i=0; i<len; i++) {
- e = cache[i];
- if (e._id == event._id && e != event) {
- e.start = new Date(+e.start + startDelta);
- if (event.end) {
- if (e.end) {
- e.end = new Date(+e.end + endDelta);
- }else{
- e.end = new Date(+defaultEventEnd(e) + endDelta);
- }
- }else{
- e.end = null;
+
+
+ // Only ever called from the externally-facing API
+ function updateEvent(event) {
+
+ // massage start/end values, even if date string values
+ event.start = t.moment(event.start);
+ if (event.end) {
+ event.end = t.moment(event.end);
+ }
+ else {
+ event.end = null;
+ }
+
+ mutateEvent(event, getMiscEventProps(event)); // will handle start/end/allDay normalization
+ reportEvents(cache); // reports event modifications (so we can redraw)
+ }
+
+
+ // Returns a hash of misc event properties that should be copied over to related events.
+ function getMiscEventProps(event) {
+ var props = {};
+
+ $.each(event, function(name, val) {
+ if (isMiscEventPropName(name)) {
+ if (val !== undefined && isAtomic(val)) { // a defined non-object
+ props[name] = val;
}
- e.title = event.title;
- e.url = event.url;
- e.allDay = event.allDay;
- e.className = event.className;
- e.editable = event.editable;
- e.color = event.color;
- e.backgroudColor = event.backgroudColor;
- e.borderColor = event.borderColor;
- e.textColor = event.textColor;
- normalizeEvent(e);
- }
- }
- normalizeEvent(event);
- reportEvents(cache);
+ }
+ });
+
+ return props;
}
+
+ // non-date-related, non-id-related, non-secret
+ function isMiscEventPropName(name) {
+ return !/^_|^(id|allDay|start|end)$/.test(name);
+ }
+
-
- function renderEvent(event, stick) {
- normalizeEvent(event);
- if (!event.source) {
- if (stick) {
- stickySource.events.push(event);
- event.source = stickySource;
+ // returns the expanded events that were created
+ function renderEvent(eventInput, stick) {
+ var abstractEvent = buildEventFromInput(eventInput);
+ var events;
+ var i, event;
+
+ if (abstractEvent) { // not false (a valid input)
+ events = expandEvent(abstractEvent);
+
+ for (i = 0; i < events.length; i++) {
+ event = events[i];
+
+ if (!event.source) {
+ if (stick) {
+ stickySource.events.push(event);
+ event.source = stickySource;
+ }
+ cache.push(event);
+ }
}
- cache.push(event);
+
+ reportEvents(cache);
+
+ return events;
}
- reportEvents(cache);
+
+ return [];
}
function removeEvents(filter) {
- if (!filter) { // remove all
- cache = [];
- // clear all array sources
- for (var i=0; i<sources.length; i++) {
- if ($.isArray(sources[i].events)) {
- sources[i].events = [];
- }
- }
- }else{
- if (!$.isFunction(filter)) { // an event ID
- var id = filter + '';
- filter = function(e) {
- return e._id == id;
- };
- }
- cache = $.grep(cache, filter, true);
- // remove events from array sources
- for (var i=0; i<sources.length; i++) {
- if ($.isArray(sources[i].events)) {
- sources[i].events = $.grep(sources[i].events, filter, true);
- }
+ var eventID;
+ var i;
+
+ if (filter == null) { // null or undefined. remove all events
+ filter = function() { return true; }; // will always match
+ }
+ else if (!$.isFunction(filter)) { // an event ID
+ eventID = filter + '';
+ filter = function(event) {
+ return event._id == eventID;
+ };
+ }
+
+ // Purge event(s) from our local cache
+ cache = $.grep(cache, filter, true); // inverse=true
+
+ // Remove events from array sources.
+ // This works because they have been converted to official Event Objects up front.
+ // (and as a result, event._id has been calculated).
+ for (i=0; i<sources.length; i++) {
+ if ($.isArray(sources[i].events)) {
+ sources[i].events = $.grep(sources[i].events, filter, true);
}
}
+
reportEvents(cache);
}
@@ -1144,7 +9839,7 @@ function EventManager(options, _sources) {
if ($.isFunction(filter)) {
return $.grep(cache, filter);
}
- else if (filter) { // an event ID
+ else if (filter != null) { // not null, not undefined. an event ID
filter += '';
return $.grep(cache, function(e) {
return e._id == filter;
@@ -1155,4223 +9850,1615 @@ function EventManager(options, _sources) {
- /* Loading State
- -----------------------------------------------------------------------------*/
-
-
- function pushLoading() {
- if (!loadingLevel++) {
- trigger('loading', null, true);
- }
- }
-
-
- function popLoading() {
- if (!--loadingLevel) {
- trigger('loading', null, false);
- }
- }
-
-
-
/* Event Normalization
-----------------------------------------------------------------------------*/
-
-
- function normalizeEvent(event) {
- var source = event.source || {};
- var ignoreTimezone = firstDefined(source.ignoreTimezone, options.ignoreTimezone);
- event._id = event._id || (event.id === undefined ? '_fc' + eventGUID++ : event.id + '');
- if (event.date) {
- if (!event.start) {
- event.start = event.date;
- }
- delete event.date;
+
+
+ // Given a raw object with key/value properties, returns an "abstract" Event object.
+ // An "abstract" event is an event that, if recurring, will not have been expanded yet.
+ // Will return `false` when input is invalid.
+ // `source` is optional
+ function buildEventFromInput(input, source) {
+ var out = {};
+ var start, end;
+ var allDay;
+
+ if (options.eventDataTransform) {
+ input = options.eventDataTransform(input);
}
- event._start = cloneDate(event.start = parseDate(event.start, ignoreTimezone));
- event.end = parseDate(event.end, ignoreTimezone);
- if (event.end && event.end <= event.start) {
- event.end = null;
+ if (source && source.eventDataTransform) {
+ input = source.eventDataTransform(input);
}
- event._end = event.end ? cloneDate(event.end) : null;
- if (event.allDay === undefined) {
- event.allDay = firstDefined(source.allDayDefault, options.allDayDefault);
+
+ // Copy all properties over to the resulting object.
+ // The special-case properties will be copied over afterwards.
+ $.extend(out, input);
+
+ if (source) {
+ out.source = source;
}
- if (event.className) {
- if (typeof event.className == 'string') {
- event.className = event.className.split(/\s+/);
+
+ out._id = input._id || (input.id === undefined ? '_fc' + eventGUID++ : input.id + '');
+
+ if (input.className) {
+ if (typeof input.className == 'string') {
+ out.className = input.className.split(/\s+/);
}
- }else{
- event.className = [];
- }
- // TODO: if there is no start date, return false to indicate an invalid event
- }
-
-
-
- /* Utils
- ------------------------------------------------------------------------------*/
-
-
- function normalizeSource(source) {
- if (source.className) {
- // TODO: repeat code, same code for event classNames
- if (typeof source.className == 'string') {
- source.className = source.className.split(/\s+/);
+ else { // assumed to be an array
+ out.className = input.className;
}
- }else{
- source.className = [];
}
- var normalizers = fc.sourceNormalizers;
- for (var i=0; i<normalizers.length; i++) {
- normalizers[i](source);
+ else {
+ out.className = [];
}
- }
-
-
- function isSourcesEqual(source1, source2) {
- return source1 && source2 && getSourcePrimitive(source1) == getSourcePrimitive(source2);
- }
-
-
- function getSourcePrimitive(source) {
- return ((typeof source == 'object') ? (source.events || source.url) : '') || source;
- }
+ start = input.start || input.date; // "date" is an alias for "start"
+ end = input.end;
-}
+ // parse as a time (Duration) if applicable
+ if (isTimeString(start)) {
+ start = moment.duration(start);
+ }
+ if (isTimeString(end)) {
+ end = moment.duration(end);
+ }
-;;
+ if (input.dow || moment.isDuration(start) || moment.isDuration(end)) {
+ // the event is "abstract" (recurring) so don't calculate exact start/end dates just yet
+ out.start = start ? moment.duration(start) : null; // will be a Duration or null
+ out.end = end ? moment.duration(end) : null; // will be a Duration or null
+ out._recurring = true; // our internal marker
+ }
+ else {
+
+ if (start) {
+ start = t.moment(start);
+ if (!start.isValid()) {
+ return false;
+ }
+ }
-fc.addDays = addDays;
-fc.cloneDate = cloneDate;
-fc.parseDate = parseDate;
-fc.parseISO8601 = parseISO8601;
-fc.parseTime = parseTime;
-fc.formatDate = formatDate;
-fc.formatDates = formatDates;
+ if (end) {
+ end = t.moment(end);
+ if (!end.isValid()) {
+ end = null; // let defaults take over
+ }
+ }
+ allDay = input.allDay;
+ if (allDay === undefined) { // still undefined? fallback to default
+ allDay = firstDefined(
+ source ? source.allDayDefault : undefined,
+ options.allDayDefault
+ );
+ // still undefined? normalizeEventRange will calculate it
+ }
+ assignDatesToEvent(start, end, allDay, out);
+ }
-/* Date Math
------------------------------------------------------------------------------*/
+ return out;
+ }
-var dayIDs = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'],
- DAY_MS = 86400000,
- HOUR_MS = 3600000,
- MINUTE_MS = 60000;
-
-function addYears(d, n, keepTime) {
- d.setFullYear(d.getFullYear() + n);
- if (!keepTime) {
- clearTime(d);
+ // Normalizes and assigns the given dates to the given partially-formed event object.
+ // NOTE: mutates the given start/end moments. does not make a copy.
+ function assignDatesToEvent(start, end, allDay, event) {
+ event.start = start;
+ event.end = end;
+ event.allDay = allDay;
+ normalizeEventRange(event);
+ backupEventDates(event);
}
- return d;
-}
-function addMonths(d, n, keepTime) { // prevents day overflow/underflow
- if (+d) { // prevent infinite looping on invalid dates
- var m = d.getMonth() + n,
- check = cloneDate(d);
- check.setDate(1);
- check.setMonth(m);
- d.setMonth(m);
- if (!keepTime) {
- clearTime(d);
+ // Ensures proper values for allDay/start/end. Accepts an Event object, or a plain object with event-ish properties.
+ // NOTE: Will modify the given object.
+ function normalizeEventRange(props) {
+
+ normalizeEventRangeTimes(props);
+
+ if (props.end && !props.end.isAfter(props.start)) {
+ props.end = null;
}
- while (d.getMonth() != check.getMonth()) {
- d.setDate(d.getDate() + (d < check ? 1 : -1));
+
+ if (!props.end) {
+ if (options.forceEventDuration) {
+ props.end = t.getDefaultEventEnd(props.allDay, props.start);
+ }
+ else {
+ props.end = null;
+ }
}
}
- return d;
-}
-function addDays(d, n, keepTime) { // deals with daylight savings
- if (+d) {
- var dd = d.getDate() + n,
- check = cloneDate(d);
- check.setHours(9); // set to middle of day
- check.setDate(dd);
- d.setDate(dd);
- if (!keepTime) {
- clearTime(d);
+ // Ensures the allDay property exists and the timeliness of the start/end dates are consistent
+ function normalizeEventRangeTimes(range) {
+ if (range.allDay == null) {
+ range.allDay = !(range.start.hasTime() || (range.end && range.end.hasTime()));
+ }
+
+ if (range.allDay) {
+ range.start.stripTime();
+ if (range.end) {
+ // TODO: consider nextDayThreshold here? If so, will require a lot of testing and adjustment
+ range.end.stripTime();
+ }
+ }
+ else {
+ if (!range.start.hasTime()) {
+ range.start = t.rezoneDate(range.start); // will assign a 00:00 time
+ }
+ if (range.end && !range.end.hasTime()) {
+ range.end = t.rezoneDate(range.end); // will assign a 00:00 time
+ }
}
- fixDate(d, check);
}
- return d;
-}
-function fixDate(d, check) { // force d to be on check's YMD, for daylight savings purposes
- if (+d) { // prevent infinite looping on invalid dates
- while (d.getDate() != check.getDate()) {
- d.setTime(+d + (d < check ? 1 : -1) * HOUR_MS);
+ // If `range` is a proper range with a start and end, returns the original object.
+ // If missing an end, computes a new range with an end, computing it as if it were an event.
+ // TODO: make this a part of the event -> eventRange system
+ function ensureVisibleEventRange(range) {
+ var allDay;
+
+ if (!range.end) {
+
+ allDay = range.allDay; // range might be more event-ish than we think
+ if (allDay == null) {
+ allDay = !range.start.hasTime();
+ }
+
+ range = $.extend({}, range); // make a copy, copying over other misc properties
+ range.end = t.getDefaultEventEnd(allDay, range.start);
}
+ return range;
}
-}
-function addMinutes(d, n) {
- d.setMinutes(d.getMinutes() + n);
- return d;
-}
+ // If the given event is a recurring event, break it down into an array of individual instances.
+ // If not a recurring event, return an array with the single original event.
+ // If given a falsy input (probably because of a failed buildEventFromInput call), returns an empty array.
+ // HACK: can override the recurring window by providing custom rangeStart/rangeEnd (for businessHours).
+ function expandEvent(abstractEvent, _rangeStart, _rangeEnd) {
+ var events = [];
+ var dowHash;
+ var dow;
+ var i;
+ var date;
+ var startTime, endTime;
+ var start, end;
+ var event;
+ _rangeStart = _rangeStart || rangeStart;
+ _rangeEnd = _rangeEnd || rangeEnd;
-function clearTime(d) {
- d.setHours(0);
- d.setMinutes(0);
- d.setSeconds(0);
- d.setMilliseconds(0);
- return d;
-}
+ if (abstractEvent) {
+ if (abstractEvent._recurring) {
+ // make a boolean hash as to whether the event occurs on each day-of-week
+ if ((dow = abstractEvent.dow)) {
+ dowHash = {};
+ for (i = 0; i < dow.length; i++) {
+ dowHash[dow[i]] = true;
+ }
+ }
-function cloneDate(d, dontKeepTime) {
- if (dontKeepTime) {
- return clearTime(new Date(+d));
- }
- return new Date(+d);
-}
+ // iterate through every day in the current range
+ date = _rangeStart.clone().stripTime(); // holds the date of the current day
+ while (date.isBefore(_rangeEnd)) {
+ if (!dowHash || dowHash[date.day()]) { // if everyday, or this particular day-of-week
-function zeroDate() { // returns a Date with time 00:00:00 and dateOfMonth=1
- var i=0, d;
- do {
- d = new Date(1970, i++, 1);
- } while (d.getHours()); // != 0
- return d;
-}
+ startTime = abstractEvent.start; // the stored start and end properties are times (Durations)
+ endTime = abstractEvent.end; // "
+ start = date.clone();
+ end = null;
+ if (startTime) {
+ start = start.time(startTime);
+ }
+ if (endTime) {
+ end = date.clone().time(endTime);
+ }
-function skipWeekend(date, inc, excl) {
- inc = inc || 1;
- while (!date.getDay() || (excl && date.getDay()==1 || !excl && date.getDay()==6)) {
- addDays(date, inc);
+ event = $.extend({}, abstractEvent); // make a copy of the original
+ assignDatesToEvent(
+ start, end,
+ !startTime && !endTime, // allDay?
+ event
+ );
+ events.push(event);
+ }
+
+ date.add(1, 'days');
+ }
+ }
+ else {
+ events.push(abstractEvent); // return the original event. will be a one-item array
+ }
+ }
+
+ return events;
}
- return date;
-}
-function dayDiff(d1, d2) { // d1 - d2
- return Math.round((cloneDate(d1, true) - cloneDate(d2, true)) / DAY_MS);
-}
+ /* Event Modification Math
+ -----------------------------------------------------------------------------------------*/
+
+
+ // Modifies an event and all related events by applying the given properties.
+ // Special date-diffing logic is used for manipulation of dates.
+ // If `props` does not contain start/end dates, the updated values are assumed to be the event's current start/end.
+ // All date comparisons are done against the event's pristine _start and _end dates.
+ // Returns an object with delta information and a function to undo all operations.
+ // For making computations in a granularity greater than day/time, specify largeUnit.
+ // NOTE: The given `newProps` might be mutated for normalization purposes.
+ function mutateEvent(event, newProps, largeUnit) {
+ var miscProps = {};
+ var oldProps;
+ var clearEnd;
+ var startDelta;
+ var endDelta;
+ var durationDelta;
+ var undoFunc;
+
+ // diffs the dates in the appropriate way, returning a duration
+ function diffDates(date1, date0) { // date1 - date0
+ if (largeUnit) {
+ return diffByUnit(date1, date0, largeUnit);
+ }
+ else if (newProps.allDay) {
+ return diffDay(date1, date0);
+ }
+ else {
+ return diffDayTime(date1, date0);
+ }
+ }
-function setYMD(date, y, m, d) {
- if (y !== undefined && y != date.getFullYear()) {
- date.setDate(1);
- date.setMonth(0);
- date.setFullYear(y);
- }
- if (m !== undefined && m != date.getMonth()) {
- date.setDate(1);
- date.setMonth(m);
- }
- if (d !== undefined) {
- date.setDate(d);
- }
-}
+ newProps = newProps || {};
+ // normalize new date-related properties
+ if (!newProps.start) {
+ newProps.start = event.start.clone();
+ }
+ if (newProps.end === undefined) {
+ newProps.end = event.end ? event.end.clone() : null;
+ }
+ if (newProps.allDay == null) { // is null or undefined?
+ newProps.allDay = event.allDay;
+ }
+ normalizeEventRange(newProps);
+ // create normalized versions of the original props to compare against
+ // need a real end value, for diffing
+ oldProps = {
+ start: event._start.clone(),
+ end: event._end ? event._end.clone() : t.getDefaultEventEnd(event._allDay, event._start),
+ allDay: newProps.allDay // normalize the dates in the same regard as the new properties
+ };
+ normalizeEventRange(oldProps);
-/* Date Parsing
------------------------------------------------------------------------------*/
+ // need to clear the end date if explicitly changed to null
+ clearEnd = event._end !== null && newProps.end === null;
+ // compute the delta for moving the start date
+ startDelta = diffDates(newProps.start, oldProps.start);
-function parseDate(s, ignoreTimezone) { // ignoreTimezone defaults to true
- if (typeof s == 'object') { // already a Date object
- return s;
- }
- if (typeof s == 'number') { // a UNIX timestamp
- return new Date(s * 1000);
- }
- if (typeof s == 'string') {
- if (s.match(/^\d+(\.\d+)?$/)) { // a UNIX timestamp
- return new Date(parseFloat(s) * 1000);
+ // compute the delta for moving the end date
+ if (newProps.end) {
+ endDelta = diffDates(newProps.end, oldProps.end);
+ durationDelta = endDelta.subtract(startDelta);
}
- if (ignoreTimezone === undefined) {
- ignoreTimezone = true;
+ else {
+ durationDelta = null;
}
- return parseISO8601(s, ignoreTimezone) || (s ? new Date(s) : null);
+
+ // gather all non-date-related properties
+ $.each(newProps, function(name, val) {
+ if (isMiscEventPropName(name)) {
+ if (val !== undefined) {
+ miscProps[name] = val;
+ }
+ }
+ });
+
+ // apply the operations to the event and all related events
+ undoFunc = mutateEvents(
+ clientEvents(event._id), // get events with this ID
+ clearEnd,
+ newProps.allDay,
+ startDelta,
+ durationDelta,
+ miscProps
+ );
+
+ return {
+ dateDelta: startDelta,
+ durationDelta: durationDelta,
+ undo: undoFunc
+ };
}
- // TODO: never return invalid dates (like from new Date(<string>)), return null instead
- return null;
-}
-function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false
- // derived from http://delete.me.uk/2005/03/iso8601.html
- // TODO: for a know glitch/feature, read tests/issue_206_parseDate_dst.html
- var m = s.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 (!m) {
- return null;
+ // Modifies an array of events in the following ways (operations are in order):
+ // - clear the event's `end`
+ // - convert the event to allDay
+ // - add `dateDelta` to the start and end
+ // - add `durationDelta` to the event's duration
+ // - assign `miscProps` to the event
+ //
+ // Returns a function that can be called to undo all the operations.
+ //
+ // TODO: don't use so many closures. possible memory issues when lots of events with same ID.
+ //
+ function mutateEvents(events, clearEnd, allDay, dateDelta, durationDelta, miscProps) {
+ var isAmbigTimezone = t.getIsAmbigTimezone();
+ var undoFunctions = [];
+
+ // normalize zero-length deltas to be null
+ if (dateDelta && !dateDelta.valueOf()) { dateDelta = null; }
+ if (durationDelta && !durationDelta.valueOf()) { durationDelta = null; }
+
+ $.each(events, function(i, event) {
+ var oldProps;
+ var newProps;
+
+ // build an object holding all the old values, both date-related and misc.
+ // for the undo function.
+ oldProps = {
+ start: event.start.clone(),
+ end: event.end ? event.end.clone() : null,
+ allDay: event.allDay
+ };
+ $.each(miscProps, function(name) {
+ oldProps[name] = event[name];
+ });
+
+ // new date-related properties. work off the original date snapshot.
+ // ok to use references because they will be thrown away when backupEventDates is called.
+ newProps = {
+ start: event._start,
+ end: event._end,
+ allDay: allDay // normalize the dates in the same regard as the new properties
+ };
+ normalizeEventRange(newProps); // massages start/end/allDay
+
+ // strip or ensure the end date
+ if (clearEnd) {
+ newProps.end = null;
+ }
+ else if (durationDelta && !newProps.end) { // the duration translation requires an end date
+ newProps.end = t.getDefaultEventEnd(newProps.allDay, newProps.start);
+ }
+
+ if (dateDelta) {
+ newProps.start.add(dateDelta);
+ if (newProps.end) {
+ newProps.end.add(dateDelta);
+ }
+ }
+
+ if (durationDelta) {
+ newProps.end.add(durationDelta); // end already ensured above
+ }
+
+ // if the dates have changed, and we know it is impossible to recompute the
+ // timezone offsets, strip the zone.
+ if (
+ isAmbigTimezone &&
+ !newProps.allDay &&
+ (dateDelta || durationDelta)
+ ) {
+ newProps.start.stripZone();
+ if (newProps.end) {
+ newProps.end.stripZone();
+ }
+ }
+
+ $.extend(event, miscProps, newProps); // copy over misc props, then date-related props
+ backupEventDates(event); // regenerate internal _start/_end/_allDay
+
+ undoFunctions.push(function() {
+ $.extend(event, oldProps);
+ backupEventDates(event); // regenerate internal _start/_end/_allDay
+ });
+ });
+
+ return function() {
+ for (var i = 0; i < undoFunctions.length; i++) {
+ undoFunctions[i]();
+ }
+ };
}
- var date = new Date(m[1], 0, 1);
- if (ignoreTimezone || !m[13]) {
- var check = new Date(m[1], 0, 1, 9, 0);
- if (m[3]) {
- date.setMonth(m[3] - 1);
- check.setMonth(m[3] - 1);
- }
- if (m[5]) {
- date.setDate(m[5]);
- check.setDate(m[5]);
- }
- fixDate(date, check);
- if (m[7]) {
- date.setHours(m[7]);
- }
- if (m[8]) {
- date.setMinutes(m[8]);
- }
- if (m[10]) {
- date.setSeconds(m[10]);
+
+
+ /* Business Hours
+ -----------------------------------------------------------------------------------------*/
+
+ t.getBusinessHoursEvents = getBusinessHoursEvents;
+
+
+ // Returns an array of events as to when the business hours occur in the given view.
+ // Abuse of our event system :(
+ function getBusinessHoursEvents(wholeDay) {
+ var optionVal = options.businessHours;
+ var defaultVal = {
+ className: 'fc-nonbusiness',
+ start: '09:00',
+ end: '17:00',
+ dow: [ 1, 2, 3, 4, 5 ], // monday - friday
+ rendering: 'inverse-background'
+ };
+ var view = t.getView();
+ var eventInput;
+
+ if (optionVal) { // `true` (which means "use the defaults") or an override object
+ eventInput = $.extend(
+ {}, // copy to a new object in either case
+ defaultVal,
+ typeof optionVal === 'object' ? optionVal : {} // override the defaults
+ );
}
- if (m[12]) {
- date.setMilliseconds(Number("0." + m[12]) * 1000);
+
+ if (eventInput) {
+
+ // if a whole-day series is requested, clear the start/end times
+ if (wholeDay) {
+ eventInput.start = null;
+ eventInput.end = null;
+ }
+
+ return expandEvent(
+ buildEventFromInput(eventInput),
+ view.start,
+ view.end
+ );
}
- fixDate(date, check);
- }else{
- date.setUTCFullYear(
- m[1],
- m[3] ? m[3] - 1 : 0,
- m[5] || 1
+
+ return [];
+ }
+
+
+ /* Overlapping / Constraining
+ -----------------------------------------------------------------------------------------*/
+
+ t.isEventRangeAllowed = isEventRangeAllowed;
+ t.isSelectionRangeAllowed = isSelectionRangeAllowed;
+ t.isExternalDropRangeAllowed = isExternalDropRangeAllowed;
+
+
+ function isEventRangeAllowed(range, event) {
+ var source = event.source || {};
+ var constraint = firstDefined(
+ event.constraint,
+ source.constraint,
+ options.eventConstraint
);
- date.setUTCHours(
- m[7] || 0,
- m[8] || 0,
- m[10] || 0,
- m[12] ? Number("0." + m[12]) * 1000 : 0
+ var overlap = firstDefined(
+ event.overlap,
+ source.overlap,
+ options.eventOverlap
);
- if (m[14]) {
- var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0);
- offset *= m[15] == '-' ? 1 : -1;
- date = new Date(+date + (offset * 60 * 1000));
- }
- }
- return date;
-}
+ range = ensureVisibleEventRange(range); // ensure a proper range with an end for isRangeAllowed
-function parseTime(s) { // returns minutes since start of day
- if (typeof s == 'number') { // an hour
- return s * 60;
+ return isRangeAllowed(range, constraint, overlap, event);
}
- if (typeof s == 'object') { // a Date object
- return s.getHours() * 60 + s.getMinutes();
+
+
+ function isSelectionRangeAllowed(range) {
+ return isRangeAllowed(range, options.selectConstraint, options.selectOverlap);
}
- var m = s.match(/(\d+)(?::(\d+))?\s*(\w+)?/);
- if (m) {
- var h = parseInt(m[1], 10);
- if (m[3]) {
- h %= 12;
- if (m[3].toLowerCase().charAt(0) == 'p') {
- h += 12;
- }
+
+
+ // when `eventProps` is defined, consider this an event.
+ // `eventProps` can contain misc non-date-related info about the event.
+ function isExternalDropRangeAllowed(range, eventProps) {
+ var eventInput;
+ var event;
+
+ // note: very similar logic is in View's reportExternalDrop
+ if (eventProps) {
+ eventInput = $.extend({}, eventProps, range);
+ event = expandEvent(buildEventFromInput(eventInput))[0];
}
- return h * 60 + (m[2] ? parseInt(m[2], 10) : 0);
- }
-}
+ if (event) {
+ return isEventRangeAllowed(range, event);
+ }
+ else { // treat it as a selection
+
+ range = ensureVisibleEventRange(range); // ensure a proper range with an end for isSelectionRangeAllowed
+ return isSelectionRangeAllowed(range);
+ }
+ }
-/* Date Formatting
------------------------------------------------------------------------------*/
-// TODO: use same function formatDate(date, [date2], format, [options])
+ // Returns true if the given range (caused by an event drop/resize or a selection) is allowed to exist
+ // according to the constraint/overlap settings.
+ // `event` is not required if checking a selection.
+ function isRangeAllowed(range, constraint, overlap, event) {
+ var constraintEvents;
+ var anyContainment;
+ var peerEvents;
+ var i, peerEvent;
+ var peerOverlap;
-function formatDate(date, format, options) {
- return formatDates(date, null, format, options);
-}
+ // normalize. fyi, we're normalizing in too many places :(
+ range = $.extend({}, range); // copy all properties in case there are misc non-date properties
+ range.start = range.start.clone().stripZone();
+ range.end = range.end.clone().stripZone();
+ // the range must be fully contained by at least one of produced constraint events
+ if (constraint != null) {
-function formatDates(date1, date2, format, options) {
- options = options || defaults;
- var date = date1,
- otherDate = date2,
- i, len = format.length, c,
- i2, formatter,
- res = '';
- for (i=0; i<len; i++) {
- c = format.charAt(i);
- if (c == "'") {
- for (i2=i+1; i2<len; i2++) {
- if (format.charAt(i2) == "'") {
- if (date) {
- if (i2 == i+1) {
- res += "'";
- }else{
- res += format.substring(i+1, i2);
- }
- i = i2;
- }
+ // not treated as an event! intermediate data structure
+ // TODO: use ranges in the future
+ constraintEvents = constraintToEvents(constraint);
+
+ anyContainment = false;
+ for (i = 0; i < constraintEvents.length; i++) {
+ if (eventContainsRange(constraintEvents[i], range)) {
+ anyContainment = true;
break;
}
}
- }
- else if (c == '(') {
- for (i2=i+1; i2<len; i2++) {
- if (format.charAt(i2) == ')') {
- var subres = formatDate(date, format.substring(i+1, i2), options);
- if (parseInt(subres.replace(/\D/, ''), 10)) {
- res += subres;
- }
- i = i2;
- break;
- }
+
+ if (!anyContainment) {
+ return false;
}
}
- else if (c == '[') {
- for (i2=i+1; i2<len; i2++) {
- if (format.charAt(i2) == ']') {
- var subformat = format.substring(i+1, i2);
- var subres = formatDate(date, subformat, options);
- if (subres != formatDate(otherDate, subformat, options)) {
- res += subres;
+
+ peerEvents = t.getPeerEvents(event, range);
+
+ for (i = 0; i < peerEvents.length; i++) {
+ peerEvent = peerEvents[i];
+
+ // there needs to be an actual intersection before disallowing anything
+ if (eventIntersectsRange(peerEvent, range)) {
+
+ // evaluate overlap for the given range and short-circuit if necessary
+ if (overlap === false) {
+ return false;
+ }
+ // if the event's overlap is a test function, pass the peer event in question as the first param
+ else if (typeof overlap === 'function' && !overlap(peerEvent, event)) {
+ return false;
+ }
+
+ // if we are computing if the given range is allowable for an event, consider the other event's
+ // EventObject-specific or Source-specific `overlap` property
+ if (event) {
+ peerOverlap = firstDefined(
+ peerEvent.overlap,
+ (peerEvent.source || {}).overlap
+ // we already considered the global `eventOverlap`
+ );
+ if (peerOverlap === false) {
+ return false;
+ }
+ // if the peer event's overlap is a test function, pass the subject event as the first param
+ if (typeof peerOverlap === 'function' && !peerOverlap(event, peerEvent)) {
+ return false;
}
- i = i2;
- break;
}
}
}
- else if (c == '{') {
- date = date2;
- otherDate = date1;
- }
- else if (c == '}') {
- date = date1;
- otherDate = date2;
+
+ return true;
+ }
+
+
+ // Given an event input from the API, produces an array of event objects. Possible event inputs:
+ // 'businessHours'
+ // An event ID (number or string)
+ // An object with specific start/end dates or a recurring event (like what businessHours accepts)
+ function constraintToEvents(constraintInput) {
+
+ if (constraintInput === 'businessHours') {
+ return getBusinessHoursEvents();
}
- else {
- for (i2=len; i2>i; i2--) {
- if (formatter = dateFormatters[format.substring(i, i2)]) {
- if (date) {
- res += formatter(date, options);
- }
- i = i2 - 1;
- break;
- }
- }
- if (i2 == i) {
- if (date) {
- res += c;
- }
- }
+
+ if (typeof constraintInput === 'object') {
+ return expandEvent(buildEventFromInput(constraintInput));
}
+
+ return clientEvents(constraintInput); // probably an ID
}
- return res;
-};
-var dateFormatters = {
- s : function(d) { return d.getSeconds() },
- ss : function(d) { return zeroPad(d.getSeconds()) },
- m : function(d) { return d.getMinutes() },
- mm : function(d) { return zeroPad(d.getMinutes()) },
- h : function(d) { return d.getHours() % 12 || 12 },
- hh : function(d) { return zeroPad(d.getHours() % 12 || 12) },
- H : function(d) { return d.getHours() },
- HH : function(d) { return zeroPad(d.getHours()) },
- d : function(d) { return d.getDate() },
- dd : function(d) { return zeroPad(d.getDate()) },
- ddd : function(d,o) { return o.dayNamesShort[d.getDay()] },
- dddd: function(d,o) { return o.dayNames[d.getDay()] },
- M : function(d) { return d.getMonth() + 1 },
- MM : function(d) { return zeroPad(d.getMonth() + 1) },
- MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] },
- MMMM: function(d,o) { return o.monthNames[d.getMonth()] },
- yy : function(d) { return (d.getFullYear()+'').substring(2) },
- yyyy: function(d) { return d.getFullYear() },
- t : function(d) { return d.getHours() < 12 ? 'a' : 'p' },
- tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' },
- T : function(d) { return d.getHours() < 12 ? 'A' : 'P' },
- TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' },
- u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") },
- S : function(d) {
- var date = d.getDate();
- if (date > 10 && date < 20) {
- 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);
+ // Does the event's date range fully contain the given range?
+ // start/end already assumed to have stripped zones :(
+ function eventContainsRange(event, range) {
+ var eventStart = event.start.clone().stripZone();
+ var eventEnd = t.getEventEnd(event).stripZone();
+
+ return range.start >= eventStart && range.end <= eventEnd;
}
-};
-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());
+ // Does the event's date range intersect with the given range?
+ // start/end already assumed to have stripped zones :(
+ function eventIntersectsRange(event, range) {
+ var eventStart = event.start.clone().stripZone();
+ var eventEnd = t.getEventEnd(event).stripZone();
+
+ return range.start < eventEnd && range.end > eventStart;
+ }
- // 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;
+ t.getEventCache = function() {
+ return cache;
+ };
+
}
+// Returns a list of events that the given event should be compared against when being considered for a move to
+// the specified range. Attached to the Calendar's prototype because EventManager is a mixin for a Calendar.
+Calendar.prototype.getPeerEvents = function(event, range) {
+ var cache = this.getEventCache();
+ var peerEvents = [];
+ var i, otherEvent;
+
+ for (i = 0; i < cache.length; i++) {
+ otherEvent = cache[i];
+ if (
+ !event ||
+ event._id !== otherEvent._id // don't compare the event to itself or other related [repeating] events
+ ) {
+ peerEvents.push(otherEvent);
+ }
+ }
+
+ return peerEvents;
+};
+
+
+// updates the "backup" properties, which are preserved in order to compute diffs later on.
+function backupEventDates(event) {
+ event._allDay = event.allDay;
+ event._start = event.start.clone();
+ event._end = event.end ? event.end.clone() : null;
+}
+
;;
-fc.applyAll = applyAll;
+/* An abstract class for the "basic" views, as well as month view. Renders one or more rows of day cells.
+----------------------------------------------------------------------------------------------------------------------*/
+// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.
+// It is responsible for managing width/height.
+var BasicView = FC.BasicView = View.extend({
-/* Event Date Math
------------------------------------------------------------------------------*/
+ dayGridClass: DayGrid, // class the dayGrid will be instantiated from (overridable by subclasses)
+ dayGrid: null, // the main subcomponent that does most of the heavy lifting
+ dayNumbersVisible: false, // display day numbers on each day cell?
+ weekNumbersVisible: false, // display week numbers along the side?
-function exclEndDay(event) {
- if (event.end) {
- return _exclEndDay(event.end, event.allDay);
- }else{
- return addDays(cloneDate(event.start), 1);
- }
-}
+ weekNumberWidth: null, // width of all the week-number cells running down the side
+ headContainerEl: null, // div that hold's the dayGrid's rendered date header
+ headRowEl: null, // the fake row element of the day-of-week header
-function _exclEndDay(end, allDay) {
- end = cloneDate(end);
- return allDay || end.getHours() || end.getMinutes() ? addDays(end, 1) : clearTime(end);
-}
+ initialize: function() {
+ this.dayGrid = this.instantiateDayGrid();
+ },
-function segCmp(a, b) {
- return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start);
-}
+ // Generates the DayGrid object this view needs. Draws from this.dayGridClass
+ instantiateDayGrid: function() {
+ // generate a subclass on the fly with BasicView-specific behavior
+ // TODO: cache this subclass
+ var subclass = this.dayGridClass.extend(basicDayGridMethods);
-function segsCollide(seg1, seg2) {
- return seg1.end > seg2.start && seg1.start < seg2.end;
-}
+ return new subclass(this);
+ },
+ // Sets the display range and computes all necessary dates
+ setRange: function(range) {
+ View.prototype.setRange.call(this, range); // call the super-method
-/* Event Sorting
------------------------------------------------------------------------------*/
+ this.dayGrid.breakOnWeeks = /year|month|week/.test(this.intervalUnit); // do before setRange
+ this.dayGrid.setRange(range);
+ },
-// event rendering utilities
-function sliceSegs(events, visEventEnds, start, end) {
- var segs = [],
- i, len=events.length, event,
- eventStart, eventEnd,
- segStart, segEnd,
- isStart, isEnd;
- for (i=0; i<len; i++) {
- event = events[i];
- eventStart = event.start;
- eventEnd = visEventEnds[i];
- if (eventEnd > start && eventStart < end) {
- if (eventStart < start) {
- segStart = cloneDate(start);
- isStart = false;
- }else{
- segStart = eventStart;
- isStart = true;
- }
- if (eventEnd > end) {
- segEnd = cloneDate(end);
- isEnd = false;
- }else{
- segEnd = eventEnd;
- isEnd = true;
- }
- segs.push({
- event: event,
- start: segStart,
- end: segEnd,
- isStart: isStart,
- isEnd: isEnd,
- msLength: segEnd - segStart
- });
- }
- }
- return segs.sort(segCmp);
-}
+ // Compute the value to feed into setRange. Overrides superclass.
+ computeRange: function(date) {
+ var range = View.prototype.computeRange.call(this, date); // get value from the super-method
+ // year and month views should be aligned with weeks. this is already done for week
+ if (/year|month/.test(range.intervalUnit)) {
+ range.start.startOf('week');
+ range.start = this.skipHiddenDays(range.start);
-// event rendering calculation utilities
-function stackSegs(segs) {
- var levels = [],
- i, len = segs.length, seg,
- j, collide, k;
- for (i=0; i<len; i++) {
- seg = segs[i];
- j = 0; // the level index where seg should belong
- while (true) {
- collide = false;
- if (levels[j]) {
- for (k=0; k<levels[j].length; k++) {
- if (segsCollide(levels[j][k], seg)) {
- collide = true;
- break;
- }
- }
- }
- if (collide) {
- j++;
- }else{
- break;
+ // make end-of-week if not already
+ if (range.end.weekday()) {
+ range.end.add(1, 'week').startOf('week');
+ range.end = this.skipHiddenDays(range.end, -1, true); // exclusively move backwards
}
}
- if (levels[j]) {
- levels[j].push(seg);
- }else{
- levels[j] = [seg];
- }
- }
- return levels;
-}
-
+ return range;
+ },
-/* Event Element Binding
------------------------------------------------------------------------------*/
+ // Renders the view into `this.el`, which should already be assigned
+ renderDates: function() {
-function lazySegBind(container, segs, bindHandlers) {
- container.unbind('mouseover').mouseover(function(ev) {
- var parent=ev.target, e,
- i, seg;
- while (parent != this) {
- e = parent;
- parent = parent.parentNode;
- }
- if ((i = e._fci) !== undefined) {
- e._fci = undefined;
- seg = segs[i];
- bindHandlers(seg.event, seg.element, seg);
- $(ev.target).trigger(ev);
- }
- ev.stopPropagation();
- });
-}
+ this.dayNumbersVisible = this.dayGrid.rowCnt > 1; // TODO: make grid responsible
+ this.weekNumbersVisible = this.opt('weekNumbers');
+ this.dayGrid.numbersVisible = this.dayNumbersVisible || this.weekNumbersVisible;
+ this.el.addClass('fc-basic-view').html(this.renderSkeletonHtml());
+ this.renderHead();
+ this.scrollerEl = this.el.find('.fc-day-grid-container');
-/* Element Dimensions
------------------------------------------------------------------------------*/
+ this.dayGrid.setElement(this.el.find('.fc-day-grid'));
+ this.dayGrid.renderDates(this.hasRigidRows());
+ },
-function setOuterWidth(element, width, includeMargins) {
- for (var i=0, e; i<element.length; i++) {
- e = $(element[i]);
- e.width(Math.max(0, width - hsides(e, includeMargins)));
- }
-}
+ // render the day-of-week headers
+ renderHead: function() {
+ this.headContainerEl =
+ this.el.find('.fc-head-container')
+ .html(this.dayGrid.renderHeadHtml());
+ this.headRowEl = this.headContainerEl.find('.fc-row');
+ },
-function setOuterHeight(element, height, includeMargins) {
- for (var i=0, e; i<element.length; i++) {
- e = $(element[i]);
- e.height(Math.max(0, height - vsides(e, includeMargins)));
- }
-}
+ // Unrenders the content of the view. Since we haven't separated skeleton rendering from date rendering,
+ // always completely kill the dayGrid's rendering.
+ unrenderDates: function() {
+ this.dayGrid.unrenderDates();
+ this.dayGrid.removeElement();
+ },
-function hsides(element, includeMargins) {
- return hpadding(element) + hborders(element) + (includeMargins ? hmargins(element) : 0);
-}
+ renderBusinessHours: function() {
+ this.dayGrid.renderBusinessHours();
+ },
-function hpadding(element) {
- return (parseFloat($.css(element[0], 'paddingLeft', true)) || 0) +
- (parseFloat($.css(element[0], 'paddingRight', true)) || 0);
-}
+ // Builds the HTML skeleton for the view.
+ // The day-grid component will render inside of a container defined by this HTML.
+ renderSkeletonHtml: function() {
+ return '' +
+ '<table>' +
+ '<thead class="fc-head">' +
+ '<tr>' +
+ '<td class="fc-head-container ' + this.widgetHeaderClass + '"></td>' +
+ '</tr>' +
+ '</thead>' +
+ '<tbody class="fc-body">' +
+ '<tr>' +
+ '<td class="' + this.widgetContentClass + '">' +
+ '<div class="fc-day-grid-container">' +
+ '<div class="fc-day-grid"/>' +
+ '</div>' +
+ '</td>' +
+ '</tr>' +
+ '</tbody>' +
+ '</table>';
+ },
-function hmargins(element) {
- return (parseFloat($.css(element[0], 'marginLeft', true)) || 0) +
- (parseFloat($.css(element[0], 'marginRight', true)) || 0);
-}
+ // Generates an HTML attribute string for setting the width of the week number column, if it is known
+ weekNumberStyleAttr: function() {
+ if (this.weekNumberWidth !== null) {
+ return 'style="width:' + this.weekNumberWidth + 'px"';
+ }
+ return '';
+ },
-function hborders(element) {
- return (parseFloat($.css(element[0], 'borderLeftWidth', true)) || 0) +
- (parseFloat($.css(element[0], 'borderRightWidth', true)) || 0);
-}
+ // Determines whether each row should have a constant height
+ hasRigidRows: function() {
+ var eventLimit = this.opt('eventLimit');
+ return eventLimit && typeof eventLimit !== 'number';
+ },
-function vsides(element, includeMargins) {
- return vpadding(element) + vborders(element) + (includeMargins ? vmargins(element) : 0);
-}
+ /* Dimensions
+ ------------------------------------------------------------------------------------------------------------------*/
-function vpadding(element) {
- return (parseFloat($.css(element[0], 'paddingTop', true)) || 0) +
- (parseFloat($.css(element[0], 'paddingBottom', true)) || 0);
-}
+ // Refreshes the horizontal dimensions of the view
+ updateWidth: function() {
+ if (this.weekNumbersVisible) {
+ // Make sure all week number cells running down the side have the same width.
+ // Record the width for cells created later.
+ this.weekNumberWidth = matchCellWidths(
+ this.el.find('.fc-week-number')
+ );
+ }
+ },
-function vmargins(element) {
- return (parseFloat($.css(element[0], 'marginTop', true)) || 0) +
- (parseFloat($.css(element[0], 'marginBottom', true)) || 0);
-}
+ // Adjusts the vertical dimensions of the view to the specified values
+ setHeight: function(totalHeight, isAuto) {
+ var eventLimit = this.opt('eventLimit');
+ var scrollerHeight;
+ // reset all heights to be natural
+ unsetScroller(this.scrollerEl);
+ uncompensateScroll(this.headRowEl);
-function vborders(element) {
- return (parseFloat($.css(element[0], 'borderTopWidth', true)) || 0) +
- (parseFloat($.css(element[0], 'borderBottomWidth', true)) || 0);
-}
+ this.dayGrid.removeSegPopover(); // kill the "more" popover if displayed
+ // is the event limit a constant level number?
+ if (eventLimit && typeof eventLimit === 'number') {
+ this.dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after
+ }
-function setMinHeight(element, height) {
- height = (typeof height == 'number' ? height + 'px' : height);
- element.each(function(i, _element) {
- _element.style.cssText += ';min-height:' + height + ';_height:' + height;
- // why can't we just use .css() ? i forget
- });
-}
+ scrollerHeight = this.computeScrollerHeight(totalHeight);
+ this.setGridHeight(scrollerHeight, isAuto);
+ // is the event limit dynamically calculated?
+ if (eventLimit && typeof eventLimit !== 'number') {
+ this.dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set
+ }
+ if (!isAuto && setPotentialScroller(this.scrollerEl, scrollerHeight)) { // using scrollbars?
-/* Misc Utils
------------------------------------------------------------------------------*/
+ compensateScroll(this.headRowEl, getScrollbarWidths(this.scrollerEl));
+ // doing the scrollbar compensation might have created text overflow which created more height. redo
+ scrollerHeight = this.computeScrollerHeight(totalHeight);
+ this.scrollerEl.height(scrollerHeight);
+ }
+ },
-//TODO: arraySlice
-//TODO: isFunction, grep ?
+ // Sets the height of just the DayGrid component in this view
+ setGridHeight: function(height, isAuto) {
+ if (isAuto) {
+ undistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding
+ }
+ else {
+ distributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows
+ }
+ },
-function noop() { }
+ /* Hit Areas
+ ------------------------------------------------------------------------------------------------------------------*/
+ // forward all hit-related method calls to dayGrid
-function cmp(a, b) {
- return a - b;
-}
+ prepareHits: function() {
+ this.dayGrid.prepareHits();
+ },
-function arrayMax(a) {
- return Math.max.apply(Math, a);
-}
+ releaseHits: function() {
+ this.dayGrid.releaseHits();
+ },
-function zeroPad(n) {
- return (n < 10 ? '0' : '') + n;
-}
+ queryHit: function(left, top) {
+ return this.dayGrid.queryHit(left, top);
+ },
-function smartProperty(obj, name) { // get a camel-cased/namespaced property of an object
- if (obj[name] !== undefined) {
- return obj[name];
- }
- var parts = name.split(/(?=[A-Z])/),
- i=parts.length-1, res;
- for (; i>=0; i--) {
- res = obj[parts[i].toLowerCase()];
- if (res !== undefined) {
- return res;
- }
- }
- return obj[''];
-}
+ getHitSpan: function(hit) {
+ return this.dayGrid.getHitSpan(hit);
+ },
-function htmlEscape(s) {
- return s.replace(/&/g, '&amp;')
- .replace(/</g, '&lt;')
- .replace(/>/g, '&gt;')
- .replace(/'/g, '&#039;')
- .replace(/"/g, '&quot;')
- .replace(/\n/g, '<br />');
-}
+ getHitEl: function(hit) {
+ return this.dayGrid.getHitEl(hit);
+ },
-function cssKey(_element) {
- return _element.id + '/' + _element.className + '/' + _element.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig, '');
-}
+ /* Events
+ ------------------------------------------------------------------------------------------------------------------*/
-function disableTextSelection(element) {
- element
- .attr('unselectable', 'on')
- .css('MozUserSelect', 'none')
- .bind('selectstart.ui', function() { return false; });
-}
+ // Renders the given events onto the view and populates the segments array
+ renderEvents: function(events) {
+ this.dayGrid.renderEvents(events);
-/*
-function enableTextSelection(element) {
- element
- .attr('unselectable', 'off')
- .css('MozUserSelect', '')
- .unbind('selectstart.ui');
-}
-*/
+ this.updateHeight(); // must compensate for events that overflow the row
+ },
-function markFirstLast(e) {
- e.children()
- .removeClass('fc-first fc-last')
- .filter(':first-child')
- .addClass('fc-first')
- .end()
- .filter(':last-child')
- .addClass('fc-last');
-}
+ // Retrieves all segment objects that are rendered in the view
+ getEventSegs: function() {
+ return this.dayGrid.getEventSegs();
+ },
-function setDayID(cell, date) {
- cell.each(function(i, _cell) {
- _cell.className = _cell.className.replace(/^fc-\w*/, 'fc-' + dayIDs[date.getDay()]);
- // TODO: make a way that doesn't rely on order of classes
- });
-}
+ // Unrenders all event elements and clears internal segment data
+ unrenderEvents: function() {
+ this.dayGrid.unrenderEvents();
+ // we DON'T need to call updateHeight() because:
+ // A) a renderEvents() call always happens after this, which will eventually call updateHeight()
+ // B) in IE8, this causes a flash whenever events are rerendered
+ },
-function getSkinCss(event, opt) {
- var source = event.source || {};
- var eventColor = event.color;
- var sourceColor = source.color;
- var optionColor = opt('eventColor');
- var backgroundColor =
- event.backgroundColor ||
- eventColor ||
- source.backgroundColor ||
- sourceColor ||
- opt('eventBackgroundColor') ||
- optionColor;
- var borderColor =
- event.borderColor ||
- eventColor ||
- source.borderColor ||
- sourceColor ||
- opt('eventBorderColor') ||
- optionColor;
- var textColor =
- event.textColor ||
- source.textColor ||
- opt('eventTextColor');
- var statements = [];
- if (backgroundColor) {
- statements.push('background-color:' + backgroundColor);
- }
- if (borderColor) {
- statements.push('border-color:' + borderColor);
- }
- if (textColor) {
- statements.push('color:' + textColor);
- }
- return statements.join(';');
-}
+ /* Dragging (for both events and external elements)
+ ------------------------------------------------------------------------------------------------------------------*/
-function applyAll(functions, thisObj, args) {
- if ($.isFunction(functions)) {
- functions = [ functions ];
- }
- if (functions) {
- var i;
- var ret;
- for (i=0; i<functions.length; i++) {
- ret = functions[i].apply(thisObj, args) || ret;
- }
- return ret;
- }
-}
+ // A returned value of `true` signals that a mock "helper" event has been rendered.
+ renderDrag: function(dropLocation, seg) {
+ return this.dayGrid.renderDrag(dropLocation, seg);
+ },
-function firstDefined() {
- for (var i=0; i<arguments.length; i++) {
- if (arguments[i] !== undefined) {
- return arguments[i];
- }
- }
-}
+ unrenderDrag: function() {
+ this.dayGrid.unrenderDrag();
+ },
-;;
-fcViews.month = MonthView;
+ /* Selection
+ ------------------------------------------------------------------------------------------------------------------*/
-function MonthView(element, calendar) {
- var t = this;
-
-
- // exports
- t.render = render;
-
-
- // imports
- BasicView.call(t, element, calendar, 'month');
- var opt = t.opt;
- var renderBasic = t.renderBasic;
- var formatDate = calendar.formatDate;
-
-
-
- function render(date, delta) {
- if (delta) {
- addMonths(date, delta);
- date.setDate(1);
- }
- var start = cloneDate(date, true);
- start.setDate(1);
- var end = addMonths(cloneDate(start), 1);
- var visStart = cloneDate(start);
- var visEnd = cloneDate(end);
- var firstDay = opt('firstDay');
- var nwe = opt('weekends') ? 0 : 1;
- if (nwe) {
- skipWeekend(visStart);
- skipWeekend(visEnd, -1, true);
- }
- addDays(visStart, -((visStart.getDay() - Math.max(firstDay, nwe) + 7) % 7));
- addDays(visEnd, (7 - visEnd.getDay() + Math.max(firstDay, nwe)) % 7);
- var rowCnt = Math.round((visEnd - visStart) / (DAY_MS * 7));
- if (opt('weekMode') == 'fixed') {
- addDays(visEnd, (6 - rowCnt) * 7);
- rowCnt = 6;
- }
- t.title = formatDate(start, opt('titleFormat'));
- t.start = start;
- t.end = end;
- t.visStart = visStart;
- t.visEnd = visEnd;
- renderBasic(rowCnt, nwe ? 5 : 7, true);
- }
-
-
-}
-;;
+ // Renders a visual indication of a selection
+ renderSelection: function(range) {
+ this.dayGrid.renderSelection(range);
+ },
-fcViews.basicWeek = BasicWeekView;
-function BasicWeekView(element, calendar) {
- var t = this;
-
-
- // exports
- t.render = render;
-
-
- // imports
- BasicView.call(t, element, calendar, 'basicWeek');
- var opt = t.opt;
- var renderBasic = t.renderBasic;
- var formatDates = calendar.formatDates;
-
-
-
- function render(date, delta) {
- if (delta) {
- addDays(date, delta * 7);
- }
- var start = addDays(cloneDate(date), -((date.getDay() - opt('firstDay') + 7) % 7));
- var end = addDays(cloneDate(start), 7);
- var visStart = cloneDate(start);
- var visEnd = cloneDate(end);
- var weekends = opt('weekends');
- if (!weekends) {
- skipWeekend(visStart);
- skipWeekend(visEnd, -1, true);
- }
- t.title = formatDates(
- visStart,
- addDays(cloneDate(visEnd), -1),
- opt('titleFormat')
- );
- t.start = start;
- t.end = end;
- t.visStart = visStart;
- t.visEnd = visEnd;
- renderBasic(1, weekends ? 7 : 5, false);
+ // Unrenders a visual indications of a selection
+ unrenderSelection: function() {
+ this.dayGrid.unrenderSelection();
}
-
-
-}
-;;
+});
-fcViews.basicDay = BasicDayView;
-//TODO: when calendar's date starts out on a weekend, shouldn't happen
+// Methods that will customize the rendering behavior of the BasicView's dayGrid
+var basicDayGridMethods = {
-function BasicDayView(element, calendar) {
- var t = this;
-
-
- // exports
- t.render = render;
-
-
- // imports
- BasicView.call(t, element, calendar, 'basicDay');
- var opt = t.opt;
- var renderBasic = t.renderBasic;
- var formatDate = calendar.formatDate;
-
-
-
- function render(date, delta) {
- if (delta) {
- addDays(date, delta);
- if (!opt('weekends')) {
- skipWeekend(date, delta < 0 ? -1 : 1);
- }
+ // Generates the HTML that will go before the day-of week header cells
+ renderHeadIntroHtml: function() {
+ var view = this.view;
+
+ if (view.weekNumbersVisible) {
+ return '' +
+ '<th class="fc-week-number ' + view.widgetHeaderClass + '" ' + view.weekNumberStyleAttr() + '>' +
+ '<span>' + // needed for matchCellWidths
+ htmlEscape(view.opt('weekNumberTitle')) +
+ '</span>' +
+ '</th>';
}
- 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, false);
- }
-
-
-}
-;;
+ return '';
+ },
-setDefaults({
- weekMode: 'fixed'
-});
+ // Generates the HTML that will go before content-skeleton cells that display the day/week numbers
+ renderNumberIntroHtml: function(row) {
+ var view = this.view;
-function BasicView(element, calendar, viewName) {
- var t = this;
-
-
- // exports
- t.renderBasic = renderBasic;
- t.setHeight = setHeight;
- t.setWidth = setWidth;
- t.renderDayOverlay = renderDayOverlay;
- t.defaultSelectionEnd = defaultSelectionEnd;
- t.renderSelection = renderSelection;
- t.clearSelection = clearSelection;
- t.reportDayClick = reportDayClick; // for selection (kinda hacky)
- t.dragStart = dragStart;
- t.dragStop = dragStop;
- t.defaultEventEnd = defaultEventEnd;
- t.getHoverListener = function() { return hoverListener };
- t.colContentLeft = colContentLeft;
- t.colContentRight = colContentRight;
- t.dayOfWeekCol = dayOfWeekCol;
- t.dateCell = dateCell;
- t.cellDate = cellDate;
- t.cellIsAllDay = function() { return true };
- t.allDayRow = allDayRow;
- t.allDayBounds = allDayBounds;
- t.getRowCnt = function() { return rowCnt };
- t.getColCnt = function() { return colCnt };
- t.getColWidth = function() { return colWidth };
- t.getDaySegmentContainer = function() { return daySegmentContainer };
-
-
- // imports
- View.call(t, element, calendar, viewName);
- OverlayManager.call(t);
- SelectionManager.call(t);
- BasicEventRenderer.call(t);
- var opt = t.opt;
- var trigger = t.trigger;
- var clearEvents = t.clearEvents;
- var renderOverlay = t.renderOverlay;
- var clearOverlays = t.clearOverlays;
- var daySelectionMousedown = t.daySelectionMousedown;
- var formatDate = calendar.formatDate;
-
-
- // locals
-
- var table;
- var head;
- var headCells;
- var body;
- var bodyRows;
- var bodyCells;
- var bodyFirstCells;
- var bodyCellTopInners;
- var daySegmentContainer;
-
- var viewWidth;
- var viewHeight;
- var colWidth;
- var weekNumberWidth;
-
- var rowCnt, colCnt;
- var coordinateGrid;
- var hoverListener;
- var colContentPositions;
-
- var rtl, dis, dit;
- var firstDay;
- var nwe; // no weekends? a 0 or 1 for easy computations
- var tm;
- var colFormat;
- var showWeekNumbers;
- var weekNumberTitle;
- var weekNumberFormat;
-
-
-
- /* Rendering
- ------------------------------------------------------------*/
-
-
- disableTextSelection(element.addClass('fc-grid'));
-
-
- function renderBasic(r, c, showNumbers) {
- rowCnt = r;
- colCnt = c;
- updateOptions();
- var firstTime = !body;
- if (firstTime) {
- buildEventContainer();
- }else{
- clearEvents();
+ if (view.weekNumbersVisible) {
+ return '' +
+ '<td class="fc-week-number" ' + view.weekNumberStyleAttr() + '>' +
+ '<span>' + // needed for matchCellWidths
+ this.getCellDate(row, 0).format('w') +
+ '</span>' +
+ '</td>';
}
- buildTable(showNumbers);
- }
-
-
-
- function updateOptions() {
- rtl = opt('isRTL');
- if (rtl) {
- dis = -1;
- dit = colCnt - 1;
- }else{
- dis = 1;
- dit = 0;
- }
- firstDay = opt('firstDay');
- 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 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 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;
+ return '';
+ },
+
- html += "<table class='fc-border-separate' style='width:100%' cellspacing='0'>" +
- "<thead>" +
- "<tr>";
+ // Generates the HTML that goes before the day bg cells for each day-row
+ renderBgIntroHtml: function() {
+ var view = this.view;
- if (showWeekNumbers) {
- html += "<th class='fc-week-number " + headerClass + "'/>";
+ if (view.weekNumbersVisible) {
+ return '<td class="fc-week-number ' + view.widgetContentClass + '" ' +
+ view.weekNumberStyleAttr() + '></td>';
}
- for (i=0; i<colCnt; i++) {
- html += "<th class='fc-day-header fc-" + dayIDs[i] + " " + headerClass + "'/>";
+ return '';
+ },
+
+
+ // Generates the HTML that goes before every other type of row generated by DayGrid.
+ // Affects helper-skeleton and highlight-skeleton rows.
+ renderIntroHtml: function() {
+ var view = this.view;
+
+ if (view.weekNumbersVisible) {
+ return '<td class="fc-week-number" ' + view.weekNumberStyleAttr() + '></td>';
}
- html += "</tr>" +
- "</thead>" +
- "<tbody>";
+ return '';
+ }
- 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++) {
- cellDate = _cellDate(i, j); // a little confusing. cellDate is local variable. _cellDate is private function
+/* A month view with day cells running in rows (one-per-week) and columns
+----------------------------------------------------------------------------------------------------------------------*/
- 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');
- }
+var MonthView = FC.MonthView = BasicView.extend({
- 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>";
- }
+ // Produces information about what range to display
+ computeRange: function(date) {
+ var range = BasicView.prototype.computeRange.call(this, date); // get value from super-method
+ var rowCnt;
- html += "</tr>";
+ // ensure 6 weeks
+ if (this.isFixedWeeks()) {
+ rowCnt = Math.ceil(range.end.diff(range.start, 'weeks', true)); // could be partial weeks due to hiddenDays
+ range.end.add(6 - rowCnt, 'weeks');
}
- html += "</tbody>" +
- "</table>";
- lockHeight(); // the unlock happens later, in setHeight()...
- if (table) {
- table.remove();
- }
- table = $(html).appendTo(element);
+ return range;
+ },
- head = table.find('thead');
- headCells = head.find('.fc-day-header');
- body = table.find('tbody');
- bodyRows = body.find('tr');
- 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');
- bodyRows.filter(':last').addClass('fc-last');
-
- if (showWeekNumbers) {
- head.find('.fc-week-number').text(weekNumberTitle);
- }
- headCells.each(function(i, _cell) {
- var date = indexDate(i);
- $(_cell).text(formatDate(date, colFormat));
- });
+ // Overrides the default BasicView behavior to have special multi-week auto-height logic
+ setGridHeight: function(height, isAuto) {
- 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) {
- var date = indexDate(i);
- trigger('dayRender', t, date, $(_cell));
- });
+ isAuto = isAuto || this.opt('weekMode') === 'variable'; // LEGACY: weekMode is deprecated
- dayBind(bodyCells);
- }
-
-
-
- function setHeight(height) {
- viewHeight = height;
-
- var bodyHeight = viewHeight - head.height();
- var rowHeight;
- var rowHeightLast;
- var cell;
-
- if (opt('weekMode') == 'variable') {
- rowHeight = rowHeightLast = Math.floor(bodyHeight / (rowCnt==1 ? 2 : 6));
- }else{
- rowHeight = Math.floor(bodyHeight / rowCnt);
- rowHeightLast = bodyHeight - rowHeight * (rowCnt-1);
+ // if auto, make the height of each row the height that it would be if there were 6 weeks
+ if (isAuto) {
+ height *= this.rowCnt / 6;
}
-
- bodyFirstCells.each(function(i, _cell) {
- if (i < rowCnt) {
- cell = $(_cell);
- setMinHeight(
- cell.find('> div'),
- (i==rowCnt-1 ? rowHeightLast : rowHeight) - vsides(cell)
- );
- }
- });
-
- unlockHeight();
- }
-
-
- function setWidth(width) {
- viewWidth = width;
- colContentPositions.clear();
- weekNumberWidth = 0;
- if (showWeekNumbers) {
- weekNumberWidth = head.find('th.fc-week-number').outerWidth();
- }
+ distributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows
+ },
- colWidth = Math.floor((viewWidth - weekNumberWidth) / colCnt);
- setOuterWidth(headCells.slice(0, -1), colWidth);
- }
-
-
-
- /* Day clicking and binding
- -----------------------------------------------------------*/
-
-
- function dayBind(days) {
- days.click(dayClick)
- .mousedown(daySelectionMousedown);
- }
-
-
- function dayClick(ev) {
- if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick
- var date = parseISO8601($(this).data('date'));
- trigger('dayClick', this, date, true, ev);
- }
- }
-
-
-
- /* Semi-transparent Overlay Helpers
- ------------------------------------------------------*/
-
-
- function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive
- if (refreshCoordinateGrid) {
- coordinateGrid.build();
- }
- var rowStart = cloneDate(t.visStart);
- var rowEnd = addDays(cloneDate(rowStart), colCnt);
- for (var i=0; i<rowCnt; i++) {
- var stretchStart = new Date(Math.max(rowStart, overlayStart));
- var stretchEnd = new Date(Math.min(rowEnd, overlayEnd));
- if (stretchStart < stretchEnd) {
- var colStart, colEnd;
- if (rtl) {
- colStart = dayDiff(stretchEnd, rowStart)*dis+dit+1;
- colEnd = dayDiff(stretchStart, rowStart)*dis+dit+1;
- }else{
- colStart = dayDiff(stretchStart, rowStart);
- colEnd = dayDiff(stretchEnd, rowStart);
- }
- dayBind(
- renderCellOverlay(i, colStart, i, colEnd-1)
- );
- }
- addDays(rowStart, 7);
- addDays(rowEnd, 7);
- }
- }
-
-
- function renderCellOverlay(row0, col0, row1, col1) { // row1,col1 is inclusive
- var rect = coordinateGrid.rect(row0, col0, row1, col1, element);
- return renderOverlay(rect, element);
- }
-
-
-
- /* Selection
- -----------------------------------------------------------------------*/
-
-
- function defaultSelectionEnd(startDate, allDay) {
- return cloneDate(startDate);
- }
-
-
- function renderSelection(startDate, endDate, allDay) {
- renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true); // rebuild every time???
- }
-
-
- function clearSelection() {
- clearOverlays();
- }
-
-
- function reportDayClick(date, allDay, ev) {
- var cell = dateCell(date);
- var _element = bodyCells[cell.row*colCnt + cell.col];
- trigger('dayClick', _element, date, allDay, ev);
- }
-
-
-
- /* External Dragging
- -----------------------------------------------------------------------*/
-
-
- function dragStart(_dragElement, ev, ui) {
- hoverListener.start(function(cell) {
- clearOverlays();
- if (cell) {
- renderCellOverlay(cell.row, cell.col, cell.row, cell.col);
- }
- }, ev);
- }
-
-
- function dragStop(_dragElement, ev, ui) {
- var cell = hoverListener.stop();
- clearOverlays();
- if (cell) {
- var d = cellDate(cell);
- trigger('drop', _dragElement, d, true, ev, ui);
- }
- }
-
-
-
- /* Utilities
- --------------------------------------------------------*/
-
-
- function defaultEventEnd(event) {
- return cloneDate(event.start);
- }
-
-
- coordinateGrid = new CoordinateGrid(function(rows, cols) {
- var e, n, p;
- headCells.each(function(i, _e) {
- e = $(_e);
- n = e.offset().left;
- if (i) {
- p[1] = n;
- }
- p = [n];
- cols[i] = p;
- });
- p[1] = n + e.outerWidth();
- bodyRows.each(function(i, _e) {
- if (i < rowCnt) {
- e = $(_e);
- n = e.offset().top;
- if (i) {
- p[1] = n;
- }
- p = [n];
- rows[i] = p;
- }
- });
- p[1] = n + e.outerHeight();
- });
-
-
- hoverListener = new HoverListener(coordinateGrid);
-
-
- colContentPositions = new HorizontalPositionCache(function(col) {
- return bodyCellTopInners.eq(col);
- });
-
-
- function colContentLeft(col) {
- return colContentPositions.left(col);
- }
-
-
- function colContentRight(col) {
- return colContentPositions.right(col);
- }
-
-
-
-
- function dateCell(date) {
- return {
- row: Math.floor(dayDiff(date, t.visStart) / 7),
- col: dayOfWeekCol(date.getDay())
- };
- }
-
-
- function cellDate(cell) {
- return _cellDate(cell.row, cell.col);
- }
-
-
- function _cellDate(row, col) {
- return addDays(cloneDate(t.visStart), row*7 + col*dis+dit);
- // what about weekends in middle of week?
- }
-
-
- function indexDate(index) {
- return _cellDate(Math.floor(index/colCnt), index%colCnt);
- }
-
-
- function dayOfWeekCol(dayOfWeek) {
- return ((dayOfWeek - Math.max(firstDay, nwe) + colCnt) % colCnt) * dis + dit;
- }
-
-
-
-
- function allDayRow(i) {
- return bodyRows.eq(i);
- }
-
-
- function allDayBounds(i) {
- var left = 0;
- if (showWeekNumbers) {
- left += weekNumberWidth;
+
+ isFixedWeeks: function() {
+ var weekMode = this.opt('weekMode'); // LEGACY: weekMode is deprecated
+ if (weekMode) {
+ return weekMode === 'fixed'; // if any other type of weekMode, assume NOT fixed
}
- return {
- left: left,
- right: viewWidth
- };
+
+ return this.opt('fixedWeekCount');
}
+});
+;;
- // 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)
+fcViews.basic = {
+ 'class': BasicView
+};
- function lockHeight() {
- setMinHeight(element, element.height());
- }
+fcViews.basicDay = {
+ type: 'basic',
+ duration: { days: 1 }
+};
- function unlockHeight() {
- setMinHeight(element, 1);
- }
-
-}
+fcViews.basicWeek = {
+ type: 'basic',
+ duration: { weeks: 1 }
+};
+fcViews.month = {
+ 'class': MonthView,
+ duration: { months: 1 }, // important for prev/next
+ defaults: {
+ fixedWeekCount: true
+ }
+};
;;
-function BasicEventRenderer() {
- var t = this;
-
-
- // exports
- t.renderEvents = renderEvents;
- t.compileDaySegs = compileSegs; // for DayEventRenderer
- t.clearEvents = clearEvents;
- t.bindDaySeg = bindDaySeg;
-
-
- // imports
- DayEventRenderer.call(t);
- var opt = t.opt;
- var trigger = t.trigger;
- //var setOverflowHidden = t.setOverflowHidden;
- var isEventDraggable = t.isEventDraggable;
- var isEventResizable = t.isEventResizable;
- var reportEvents = t.reportEvents;
- var reportEventClear = t.reportEventClear;
- var eventElementHandlers = t.eventElementHandlers;
- var showEvents = t.showEvents;
- var hideEvents = t.hideEvents;
- var eventDrop = t.eventDrop;
- var getDaySegmentContainer = t.getDaySegmentContainer;
- var getHoverListener = t.getHoverListener;
- var renderDayOverlay = t.renderDayOverlay;
- var clearOverlays = t.clearOverlays;
- var getRowCnt = t.getRowCnt;
- var getColCnt = t.getColCnt;
- var renderDaySegs = t.renderDaySegs;
- var resizableDayEvent = t.resizableDayEvent;
-
-
-
- /* Rendering
- --------------------------------------------------------------------*/
-
-
- function renderEvents(events, modifiedEventId) {
- reportEvents(events);
- renderDaySegs(compileSegs(events), modifiedEventId);
- trigger('eventAfterAllRender');
- }
-
-
- function clearEvents() {
- reportEventClear();
- getDaySegmentContainer().empty();
- }
-
-
- function compileSegs(events) {
- var rowCnt = getRowCnt(),
- colCnt = getColCnt(),
- d1 = cloneDate(t.visStart),
- d2 = addDays(cloneDate(d1), colCnt),
- visEventsEnds = $.map(events, exclEndDay),
- i, row,
- j, level,
- k, seg,
- segs=[];
- for (i=0; i<rowCnt; i++) {
- row = stackSegs(sliceSegs(events, visEventsEnds, d1, d2));
- for (j=0; j<row.length; j++) {
- level = row[j];
- for (k=0; k<level.length; k++) {
- seg = level[k];
- seg.row = i;
- seg.level = j; // not needed anymore
- segs.push(seg);
- }
- }
- addDays(d1, 7);
- addDays(d2, 7);
- }
- return segs;
- }
-
-
- function bindDaySeg(event, eventElement, seg) {
- if (isEventDraggable(event)) {
- draggableDayEvent(event, eventElement);
- }
- if (seg.isEnd && isEventResizable(event)) {
- resizableDayEvent(event, eventElement, seg);
- }
- eventElementHandlers(event, eventElement);
- // needs to be after, because resizableDayEvent might stopImmediatePropagation on click
- }
-
-
-
- /* Dragging
- ----------------------------------------------------------------------------*/
-
-
- function draggableDayEvent(event, eventElement) {
- var hoverListener = getHoverListener();
- var dayDelta;
- eventElement.draggable({
- zIndex: 9,
- delay: 50,
- opacity: opt('dragOpacity'),
- revertDuration: opt('dragRevertDuration'),
- start: function(ev, ui) {
- trigger('eventDragStart', eventElement, event, ev, ui);
- hideEvents(event, eventElement);
- hoverListener.start(function(cell, origCell, rowDelta, colDelta) {
- eventElement.draggable('option', 'revert', !cell || !rowDelta && !colDelta);
- clearOverlays();
- if (cell) {
- //setOverflowHidden(true);
- dayDelta = rowDelta*7 + colDelta * (opt('isRTL') ? -1 : 1);
- renderDayOverlay(
- addDays(cloneDate(event.start), dayDelta),
- addDays(exclEndDay(event), dayDelta)
- );
- }else{
- //setOverflowHidden(false);
- dayDelta = 0;
- }
- }, ev, 'drag');
- },
- stop: function(ev, ui) {
- hoverListener.stop();
- clearOverlays();
- trigger('eventDragStop', eventElement, event, ev, ui);
- if (dayDelta) {
- eventDrop(this, event, dayDelta, 0, event.allDay, ev, ui);
- }else{
- eventElement.css('filter', ''); // clear IE opacity side-effects
- showEvents(event, eventElement);
- }
- //setOverflowHidden(false);
- }
- });
- }
+/* An abstract class for all agenda-related views. Displays one more columns with time slots running vertically.
+----------------------------------------------------------------------------------------------------------------------*/
+// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).
+// Responsible for managing width/height.
+var AgendaView = FC.AgendaView = View.extend({
-}
+ timeGridClass: TimeGrid, // class used to instantiate the timeGrid. subclasses can override
+ timeGrid: null, // the main time-grid subcomponent of this view
-;;
+ dayGridClass: DayGrid, // class used to instantiate the dayGrid. subclasses can override
+ dayGrid: null, // the "all-day" subcomponent. if all-day is turned off, this will be null
-fcViews.agendaWeek = AgendaWeekView;
+ axisWidth: null, // the width of the time axis running down the side
-function AgendaWeekView(element, calendar) {
- var t = this;
-
-
- // exports
- t.render = render;
-
-
- // imports
- AgendaView.call(t, element, calendar, 'agendaWeek');
- var opt = t.opt;
- var renderAgenda = t.renderAgenda;
- var formatDates = calendar.formatDates;
-
-
-
- function render(date, delta) {
- if (delta) {
- addDays(date, delta * 7);
- }
- var start = addDays(cloneDate(date), -((date.getDay() - opt('firstDay') + 7) % 7));
- var end = addDays(cloneDate(start), 7);
- var visStart = cloneDate(start);
- var visEnd = cloneDate(end);
- var weekends = opt('weekends');
- if (!weekends) {
- skipWeekend(visStart);
- skipWeekend(visEnd, -1, true);
- }
- t.title = formatDates(
- visStart,
- addDays(cloneDate(visEnd), -1),
- opt('titleFormat')
- );
- t.start = start;
- t.end = end;
- t.visStart = visStart;
- t.visEnd = visEnd;
- renderAgenda(weekends ? 7 : 5);
- }
-
+ headContainerEl: null, // div that hold's the timeGrid's rendered date header
+ noScrollRowEls: null, // set of fake row elements that must compensate when scrollerEl has scrollbars
-}
+ // when the time-grid isn't tall enough to occupy the given height, we render an <hr> underneath
+ bottomRuleEl: null,
+ bottomRuleHeight: null,
-;;
-fcViews.agendaDay = AgendaDayView;
+ initialize: function() {
+ this.timeGrid = this.instantiateTimeGrid();
-function AgendaDayView(element, calendar) {
- var t = this;
-
-
- // exports
- t.render = render;
-
-
- // imports
- AgendaView.call(t, element, calendar, 'agendaDay');
- var opt = t.opt;
- var renderAgenda = t.renderAgenda;
- var formatDate = calendar.formatDate;
-
-
-
- function render(date, delta) {
- if (delta) {
- addDays(date, delta);
- if (!opt('weekends')) {
- skipWeekend(date, delta < 0 ? -1 : 1);
- }
+ if (this.opt('allDaySlot')) { // should we display the "all-day" area?
+ this.dayGrid = this.instantiateDayGrid(); // the all-day subcomponent of this view
}
- var start = cloneDate(date, true);
- var end = addDays(cloneDate(start), 1);
- t.title = formatDate(date, opt('titleFormat'));
- t.start = t.visStart = start;
- t.end = t.visEnd = end;
- renderAgenda(1);
- }
-
+ },
-}
-;;
+ // Instantiates the TimeGrid object this view needs. Draws from this.timeGridClass
+ instantiateTimeGrid: function() {
+ var subclass = this.timeGridClass.extend(agendaTimeGridMethods);
-setDefaults({
- allDaySlot: true,
- 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
-});
+ return new subclass(this);
+ },
-// TODO: make it work in quirks mode (event corners, all-day height)
-// TODO: test liquid width, especially in IE6
+ // Instantiates the DayGrid object this view might need. Draws from this.dayGridClass
+ instantiateDayGrid: function() {
+ var subclass = this.dayGridClass.extend(agendaDayGridMethods);
+ return new subclass(this);
+ },
-function AgendaView(element, calendar, viewName) {
- var t = this;
-
-
- // exports
- t.renderAgenda = renderAgenda;
- t.setWidth = setWidth;
- t.setHeight = setHeight;
- t.beforeHide = beforeHide;
- t.afterShow = afterShow;
- t.defaultEventEnd = defaultEventEnd;
- t.timePosition = timePosition;
- t.dayOfWeekCol = dayOfWeekCol;
- t.dateCell = dateCell;
- t.cellDate = cellDate;
- t.cellIsAllDay = cellIsAllDay;
- t.allDayRow = getAllDayRow;
- t.allDayBounds = allDayBounds;
- t.getHoverListener = function() { return hoverListener };
- t.colContentLeft = colContentLeft;
- t.colContentRight = colContentRight;
- t.getDaySegmentContainer = function() { return daySegmentContainer };
- t.getSlotSegmentContainer = function() { return slotSegmentContainer };
- t.getMinMinute = function() { return minMinute };
- t.getMaxMinute = function() { return maxMinute };
- t.getBodyContent = function() { return slotContent }; // !!??
- t.getRowCnt = function() { return 1 };
- t.getColCnt = function() { return colCnt };
- t.getColWidth = function() { return colWidth };
- t.getSnapHeight = function() { return snapHeight };
- t.getSnapMinutes = function() { return snapMinutes };
- t.defaultSelectionEnd = defaultSelectionEnd;
- t.renderDayOverlay = renderDayOverlay;
- t.renderSelection = renderSelection;
- t.clearSelection = clearSelection;
- t.reportDayClick = reportDayClick; // selection mousedown hack
- t.dragStart = dragStart;
- t.dragStop = dragStop;
-
-
- // imports
- View.call(t, element, calendar, viewName);
- OverlayManager.call(t);
- SelectionManager.call(t);
- AgendaEventRenderer.call(t);
- var opt = t.opt;
- var trigger = t.trigger;
- var clearEvents = t.clearEvents;
- var renderOverlay = t.renderOverlay;
- var clearOverlays = t.clearOverlays;
- var reportSelection = t.reportSelection;
- var unselect = t.unselect;
- var daySelectionMousedown = t.daySelectionMousedown;
- var slotSegHtml = t.slotSegHtml;
- var formatDate = calendar.formatDate;
-
-
- // locals
-
- var dayTable;
- var dayHead;
- var dayHeadCells;
- var dayBody;
- var dayBodyCells;
- var dayBodyCellInners;
- var dayBodyFirstCell;
- var dayBodyFirstCellStretcher;
- var slotLayer;
- var daySegmentContainer;
- var allDayTable;
- var allDayRow;
- var slotScroller;
- var slotContent;
- var slotSegmentContainer;
- var slotTable;
- var slotTableFirstInner;
- var axisFirstCells;
- var gutterCells;
- var selectionHelper;
-
- var viewWidth;
- var viewHeight;
- var axisWidth;
- var colWidth;
- var gutterWidth;
- var slotHeight; // TODO: what if slotHeight changes? (see issue 650)
-
- 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;
- var coordinateGrid;
- var hoverListener;
- var colContentPositions;
- var slotTopCache = {};
- var savedScrollTop;
-
- var tm;
- var firstDay;
- var nwe; // no weekends (int)
- var rtl, dis, dit; // day index sign / translate
- var minMinute, maxMinute;
- var colFormat;
- var showWeekNumbers;
- var weekNumberTitle;
- var weekNumberFormat;
-
-
/* Rendering
- -----------------------------------------------------------------------------*/
-
-
- disableTextSelection(element.addClass('fc-agenda'));
-
-
- function renderAgenda(c) {
- colCnt = c;
- updateOptions();
- if (!dayTable) {
- buildSkeleton();
- }else{
- clearEvents();
- }
- updateCells();
- }
-
-
-
- function updateOptions() {
- tm = opt('theme') ? 'ui' : 'fc';
- nwe = opt('weekends') ? 0 : 1;
- firstDay = opt('firstDay');
- if (rtl = opt('isRTL')) {
- dis = -1;
- dit = colCnt - 1;
- }else{
- dis = 1;
- dit = 0;
- }
- 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');
- }
-
-
-
- function buildSkeleton() {
- var headerClass = tm + "-widget-header";
- var contentClass = tm + "-widget-content";
- var s;
- var i;
- var d;
- var maxd;
- var minutes;
- var slotNormal = opt('slotMinutes') % 15 == 0;
-
- s =
- "<table style='width:100%' class='fc-agenda-days fc-border-separate' cellspacing='0'>" +
- "<thead>" +
- "<tr>";
+ // Sets the display range and computes all necessary dates
+ setRange: function(range) {
+ View.prototype.setRange.call(this, range); // call the super-method
- if (showWeekNumbers) {
- s += "<th class='fc-agenda-axis fc-week-number " + headerClass + "'/>";
+ this.timeGrid.setRange(range);
+ if (this.dayGrid) {
+ this.dayGrid.setRange(range);
}
- 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
- }
- s +=
- "<th class='fc-agenda-gutter " + headerClass + "'>&nbsp;</th>" +
- "</tr>" +
- "</thead>" +
- "<tbody>" +
- "<tr>" +
- "<th class='fc-agenda-axis " + headerClass + "'>&nbsp;</th>";
- for (i=0; i<colCnt; i++) {
- s +=
- "<td class='fc- fc-col" + i + ' ' + contentClass + "'>" + // fc- needed for setDayID
- "<div>" +
- "<div class='fc-day-content'>" +
- "<div style='position:relative'>&nbsp;</div>" +
- "</div>" +
- "</div>" +
- "</td>";
- }
- s +=
- "<td class='fc-agenda-gutter " + contentClass + "'>&nbsp;</td>" +
- "</tr>" +
- "</tbody>" +
- "</table>";
- dayTable = $(s).appendTo(element);
- dayHead = dayTable.find('thead');
- dayHeadCells = dayHead.find('th').slice(1, -1);
- dayBody = dayTable.find('tbody');
- dayBodyCells = dayBody.find('td').slice(0, -1);
- dayBodyCellInners = dayBodyCells.find('div.fc-day-content div');
- dayBodyFirstCell = dayBodyCells.eq(0);
- dayBodyFirstCellStretcher = dayBodyFirstCell.find('> div');
-
- markFirstLast(dayHead.add(dayHead.find('tr')));
- markFirstLast(dayBody.add(dayBody.find('tr')));
-
- axisFirstCells = dayHead.find('th:first');
- gutterCells = dayTable.find('.fc-agenda-gutter');
-
- slotLayer =
- $("<div style='position:absolute;z-index:2;left:0;width:100%'/>")
- .appendTo(element);
-
- if (opt('allDaySlot')) {
-
- daySegmentContainer =
- $("<div style='position:absolute;z-index:8;top:0;left:0'/>")
- .appendTo(slotLayer);
-
- s =
- "<table style='width:100%' class='fc-agenda-allday' cellspacing='0'>" +
- "<tr>" +
- "<th class='" + headerClass + " fc-agenda-axis'>" + opt('allDayText') + "</th>" +
- "<td>" +
- "<div class='fc-day-content'><div style='position:relative'/></div>" +
- "</td>" +
- "<th class='" + headerClass + " fc-agenda-gutter'>&nbsp;</th>" +
- "</tr>" +
- "</table>";
- allDayTable = $(s).appendTo(slotLayer);
- allDayRow = allDayTable.find('tr');
-
- dayBind(allDayRow.find('td'));
-
- axisFirstCells = axisFirstCells.add(allDayTable.find('th:first'));
- gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter'));
-
- slotLayer.append(
- "<div class='fc-agenda-divider " + headerClass + "'>" +
- "<div class='fc-agenda-divider-inner'/>" +
- "</div>"
- );
-
- }else{
-
- daySegmentContainer = $([]); // in jQuery 1.4, we can just do $()
-
- }
-
- slotScroller =
- $("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>")
- .appendTo(slotLayer);
-
- slotContent =
- $("<div style='position:relative;width:100%;overflow:hidden'/>")
- .appendTo(slotScroller);
-
- slotSegmentContainer =
- $("<div style='position:absolute;z-index:8;top:0;left:0'/>")
- .appendTo(slotContent);
-
- s =
- "<table class='fc-agenda-slots' style='width:100%' cellspacing='0'>" +
- "<tbody>";
- d = zeroDate();
- maxd = addMinutes(cloneDate(d), maxMinute);
- addMinutes(d, minMinute);
- slotCnt = 0;
- for (i=0; d < maxd; i++) {
- minutes = d.getMinutes();
- s +=
- "<tr class='fc-slot" + i + ' ' + (!minutes ? '' : 'fc-minor') + "'>" +
- "<th class='fc-agenda-axis " + headerClass + "'>" +
- ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : '&nbsp;') +
- "</th>" +
- "<td class='" + contentClass + "'>" +
- "<div style='position:relative'>&nbsp;</div>" +
- "</td>" +
- "</tr>";
- addMinutes(d, opt('slotMinutes'));
- slotCnt++;
- }
- s +=
- "</tbody>" +
- "</table>";
- slotTable = $(s).appendTo(slotContent);
- slotTableFirstInner = slotTable.find('div:first');
-
- slotBind(slotTable.find('td'));
-
- axisFirstCells = axisFirstCells.add(slotTable.find('th:first'));
- }
-
-
-
- function updateCells() {
- var i;
- var headCell;
- 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);
- headCell.html(formatDate(date, colFormat));
- bodyCell = dayBodyCells.eq(i);
- if (+date == +today) {
- bodyCell.addClass(tm + '-state-highlight fc-today');
- }else{
- bodyCell.removeClass(tm + '-state-highlight fc-today');
- }
- setDayID(headCell.add(bodyCell), date);
- }
- }
-
-
-
- function setHeight(height, dateChanged) {
- if (height === undefined) {
- height = viewHeight;
- }
- viewHeight = height;
- slotTopCache = {};
-
- var headHeight = dayBody.position().top;
- var allDayHeight = slotScroller.position().top; // including divider
- var bodyHeight = Math.min( // total body height, including borders
- height - headHeight, // when scrollbars
- slotTable.height() + allDayHeight + 1 // when no scrollbars. +1 for bottom border
- );
-
- dayBodyFirstCellStretcher
- .height(bodyHeight - vsides(dayBodyFirstCell));
-
- slotLayer.css('top', headHeight);
-
- slotScroller.height(bodyHeight - allDayHeight - 1);
-
- slotHeight = slotTableFirstInner.height() + 1; // +1 for border
+ // Renders the view into `this.el`, which has already been assigned
+ renderDates: function() {
- snapRatio = opt('slotMinutes') / snapMinutes;
- snapHeight = slotHeight / snapRatio;
-
- if (dateChanged) {
- resetScroll();
- }
- }
-
-
-
- function setWidth(width) {
- viewWidth = width;
- colContentPositions.clear();
-
- axisWidth = 0;
- setOuterWidth(
- axisFirstCells
- .width('')
- .each(function(i, _cell) {
- axisWidth = Math.max(axisWidth, $(_cell).outerWidth());
- }),
- axisWidth
- );
-
- var slotTableWidth = slotScroller[0].clientWidth; // needs to be done after axisWidth (for IE7)
- //slotTable.width(slotTableWidth);
-
- gutterWidth = slotScroller.width() - slotTableWidth;
- if (gutterWidth) {
- setOuterWidth(gutterCells, gutterWidth);
- gutterCells
- .show()
- .prev()
- .removeClass('fc-last');
- }else{
- gutterCells
- .hide()
- .prev()
- .addClass('fc-last');
- }
-
- colWidth = Math.floor((slotTableWidth - axisWidth) / colCnt);
- setOuterWidth(dayHeadCells.slice(0, -1), colWidth);
- }
-
+ this.el.addClass('fc-agenda-view').html(this.renderSkeletonHtml());
+ this.renderHead();
+ // the element that wraps the time-grid that will probably scroll
+ this.scrollerEl = this.el.find('.fc-time-grid-container');
- function resetScroll() {
- var d0 = zeroDate();
- var scrollDate = cloneDate(d0);
- scrollDate.setHours(opt('firstHour'));
- var top = timePosition(d0, scrollDate) + 1; // +1 for the border
- function scroll() {
- slotScroller.scrollTop(top);
- }
- scroll();
- setTimeout(scroll, 0); // overrides any previous scroll state made by the browser
- }
-
-
- function beforeHide() {
- savedScrollTop = slotScroller.scrollTop();
- }
-
-
- function afterShow() {
- slotScroller.scrollTop(savedScrollTop);
- }
-
-
-
- /* Slot/Day clicking and binding
- -----------------------------------------------------------------------*/
-
+ this.timeGrid.setElement(this.el.find('.fc-time-grid'));
+ this.timeGrid.renderDates();
- function dayBind(cells) {
- cells.click(slotClick)
- .mousedown(daySelectionMousedown);
- }
+ // the <hr> that sometimes displays under the time-grid
+ this.bottomRuleEl = $('<hr class="fc-divider ' + this.widgetHeaderClass + '"/>')
+ .appendTo(this.timeGrid.el); // inject it into the time-grid
+ if (this.dayGrid) {
+ this.dayGrid.setElement(this.el.find('.fc-day-grid'));
+ this.dayGrid.renderDates();
- function slotBind(cells) {
- cells.click(slotClick)
- .mousedown(slotSelectionMousedown);
- }
-
-
- function slotClick(ev) {
- if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick
- var col = Math.min(colCnt-1, Math.floor((ev.pageX - dayTable.offset().left - axisWidth) / colWidth));
- var date = colDate(col);
- var rowMatch = this.parentNode.className.match(/fc-slot(\d+)/); // TODO: maybe use data
- if (rowMatch) {
- var mins = parseInt(rowMatch[1]) * opt('slotMinutes');
- var hours = Math.floor(mins/60);
- date.setHours(hours);
- date.setMinutes(mins%60 + minMinute);
- trigger('dayClick', dayBodyCells[col], date, false, ev);
- }else{
- trigger('dayClick', dayBodyCells[col], date, true, ev);
- }
+ // have the day-grid extend it's coordinate area over the <hr> dividing the two grids
+ this.dayGrid.bottomCoordPadding = this.dayGrid.el.next('hr').outerHeight();
}
- }
-
-
-
- /* Semi-transparent Overlay Helpers
- -----------------------------------------------------*/
-
- function renderDayOverlay(startDate, endDate, refreshCoordinateGrid) { // endDate is exclusive
- if (refreshCoordinateGrid) {
- coordinateGrid.build();
- }
- var visStart = cloneDate(t.visStart);
- var startCol, endCol;
- if (rtl) {
- startCol = dayDiff(endDate, visStart)*dis+dit+1;
- endCol = dayDiff(startDate, visStart)*dis+dit+1;
- }else{
- startCol = dayDiff(startDate, visStart);
- endCol = dayDiff(endDate, visStart);
- }
- startCol = Math.max(0, startCol);
- endCol = Math.min(colCnt, endCol);
- if (startCol < endCol) {
- dayBind(
- renderCellOverlay(0, startCol, 0, endCol-1)
- );
- }
- }
-
-
- function renderCellOverlay(row0, col0, row1, col1) { // only for all-day?
- var rect = coordinateGrid.rect(row0, col0, row1, col1, slotLayer);
- return renderOverlay(rect, slotLayer);
- }
-
+ this.noScrollRowEls = this.el.find('.fc-row:not(.fc-scroller *)'); // fake rows not within the scroller
+ },
- function renderSlotOverlay(overlayStart, overlayEnd) {
- var dayStart = cloneDate(t.visStart);
- var dayEnd = addDays(cloneDate(dayStart), 1);
- for (var i=0; i<colCnt; i++) {
- var stretchStart = new Date(Math.max(dayStart, overlayStart));
- var stretchEnd = new Date(Math.min(dayEnd, overlayEnd));
- if (stretchStart < stretchEnd) {
- var col = i*dis+dit;
- var rect = coordinateGrid.rect(0, col, 0, col, slotContent); // only use it for horizontal coords
- var top = timePosition(dayStart, stretchStart);
- var bottom = timePosition(dayStart, stretchEnd);
- rect.top = top;
- rect.height = bottom - top;
- slotBind(
- renderOverlay(rect, slotContent)
- );
- }
- addDays(dayStart, 1);
- addDays(dayEnd, 1);
- }
- }
-
-
-
- /* Coordinate Utilities
- -----------------------------------------------------------------------------*/
-
-
- coordinateGrid = new CoordinateGrid(function(rows, cols) {
- var e, n, p;
- dayHeadCells.each(function(i, _e) {
- e = $(_e);
- n = e.offset().left;
- if (i) {
- p[1] = n;
- }
- p = [n];
- cols[i] = p;
- });
- p[1] = n + e.outerWidth();
- if (opt('allDaySlot')) {
- e = allDayRow;
- n = e.offset().top;
- rows[0] = [n, n+e.outerHeight()];
- }
- var slotTableTop = slotContent.offset().top;
- var slotScrollerTop = slotScroller.offset().top;
- var slotScrollerBottom = slotScrollerTop + slotScroller.outerHeight();
- function constrain(n) {
- return Math.max(slotScrollerTop, Math.min(slotScrollerBottom, n));
- }
- for (var i=0; i<slotCnt*snapRatio; i++) { // adapt slot count to increased/decreased selection slot count
- rows.push([
- constrain(slotTableTop + snapHeight*i),
- constrain(slotTableTop + snapHeight*(i+1))
- ]);
- }
- });
-
-
- hoverListener = new HoverListener(coordinateGrid);
-
-
- colContentPositions = new HorizontalPositionCache(function(col) {
- return dayBodyCellInners.eq(col);
- });
-
-
- function colContentLeft(col) {
- return colContentPositions.left(col);
- }
-
-
- function colContentRight(col) {
- return colContentPositions.right(col);
- }
-
-
-
-
- function dateCell(date) { // "cell" terminology is now confusing
- return {
- row: Math.floor(dayDiff(date, t.visStart) / 7),
- col: dayOfWeekCol(date.getDay())
- };
- }
-
-
- function cellDate(cell) {
- var d = colDate(cell.col);
- var slotIndex = cell.row;
- if (opt('allDaySlot')) {
- slotIndex--;
- }
- if (slotIndex >= 0) {
- addMinutes(d, minMinute + slotIndex * snapMinutes);
- }
- return d;
- }
-
-
- function colDate(col) { // returns dates with 00:00:00
- return addDays(cloneDate(t.visStart), col*dis+dit);
- }
-
-
- function cellIsAllDay(cell) {
- return opt('allDaySlot') && !cell.row;
- }
-
-
- function dayOfWeekCol(dayOfWeek) {
- return ((dayOfWeek - Math.max(firstDay, nwe) + colCnt) % colCnt)*dis+dit;
- }
-
-
-
-
- // get the Y coordinate of the given time on the given day (both Date objects)
- function timePosition(day, time) { // both date objects. day holds 00:00 of current day
- day = cloneDate(day, true);
- if (time < addMinutes(cloneDate(day), minMinute)) {
- return 0;
- }
- if (time >= addMinutes(cloneDate(day), maxMinute)) {
- return slotTable.height();
- }
- var slotMinutes = opt('slotMinutes'),
- minutes = time.getHours()*60 + time.getMinutes() - minMinute,
- slotI = Math.floor(minutes / slotMinutes),
- slotTop = slotTopCache[slotI];
- if (slotTop === undefined) {
- slotTop = slotTopCache[slotI] = slotTable.find('tr:eq(' + slotI + ') td div')[0].offsetTop; //.position().top; // need this optimization???
- }
- return Math.max(0, Math.round(
- slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes)
- ));
- }
-
-
- function allDayBounds() {
- return {
- left: axisWidth,
- right: viewWidth - gutterWidth
- }
- }
-
-
- function getAllDayRow(index) {
- return allDayRow;
- }
-
-
- function defaultEventEnd(event) {
- var start = cloneDate(event.start);
- if (event.allDay) {
- return start;
- }
- return addMinutes(start, opt('defaultEventMinutes'));
- }
-
-
-
- /* Selection
- ---------------------------------------------------------------------------------*/
-
-
- function defaultSelectionEnd(startDate, allDay) {
- if (allDay) {
- return cloneDate(startDate);
- }
- return addMinutes(cloneDate(startDate), opt('slotMinutes'));
- }
-
-
- function renderSelection(startDate, endDate, allDay) { // only for all-day
- if (allDay) {
- if (opt('allDaySlot')) {
- renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true);
- }
- }else{
- renderSlotSelection(startDate, endDate);
- }
- }
-
-
- function renderSlotSelection(startDate, endDate) {
- var helperOption = opt('selectHelper');
- coordinateGrid.build();
- if (helperOption) {
- var col = dayDiff(startDate, t.visStart) * dis + dit;
- if (col >= 0 && col < colCnt) { // only works when times are on same day
- var rect = coordinateGrid.rect(0, col, 0, col, slotContent); // only for horizontal coords
- var top = timePosition(startDate, startDate);
- var bottom = timePosition(startDate, endDate);
- if (bottom > top) { // protect against selections that are entirely before or after visible range
- rect.top = top;
- rect.height = bottom - top;
- rect.left += 2;
- rect.width -= 5;
- if ($.isFunction(helperOption)) {
- var helperRes = helperOption(startDate, endDate);
- if (helperRes) {
- rect.position = 'absolute';
- rect.zIndex = 8;
- selectionHelper = $(helperRes)
- .css(rect)
- .appendTo(slotContent);
- }
- }else{
- rect.isStart = true; // conside rect a "seg" now
- rect.isEnd = true; //
- selectionHelper = $(slotSegHtml(
- {
- title: '',
- start: startDate,
- end: endDate,
- className: ['fc-select-helper'],
- editable: false
- },
- rect
- ));
- selectionHelper.css('opacity', opt('dragOpacity'));
- }
- if (selectionHelper) {
- slotBind(selectionHelper);
- slotContent.append(selectionHelper);
- setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended
- setOuterHeight(selectionHelper, rect.height, true);
- }
- }
- }
- }else{
- renderSlotOverlay(startDate, endDate);
- }
- }
-
-
- function clearSelection() {
- clearOverlays();
- if (selectionHelper) {
- selectionHelper.remove();
- selectionHelper = null;
+
+ // render the day-of-week headers
+ renderHead: function() {
+ this.headContainerEl =
+ this.el.find('.fc-head-container')
+ .html(this.timeGrid.renderHeadHtml());
+ },
+
+
+ // Unrenders the content of the view. Since we haven't separated skeleton rendering from date rendering,
+ // always completely kill each grid's rendering.
+ unrenderDates: function() {
+ this.timeGrid.unrenderDates();
+ this.timeGrid.removeElement();
+
+ if (this.dayGrid) {
+ this.dayGrid.unrenderDates();
+ this.dayGrid.removeElement();
}
- }
-
-
- function slotSelectionMousedown(ev) {
- if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button
- unselect(ev);
- var dates;
- hoverListener.start(function(cell, origCell) {
- clearSelection();
- if (cell && cell.col == origCell.col && !cellIsAllDay(cell)) {
- var d1 = cellDate(origCell);
- var d2 = cellDate(cell);
- dates = [
- d1,
- addMinutes(cloneDate(d1), snapMinutes), // calculate minutes depending on selection slot minutes
- d2,
- addMinutes(cloneDate(d2), snapMinutes)
- ].sort(cmp);
- renderSlotSelection(dates[0], dates[3]);
- }else{
- dates = null;
- }
- }, ev);
- $(document).one('mouseup', function(ev) {
- hoverListener.stop();
- if (dates) {
- if (+dates[0] == +dates[1]) {
- reportDayClick(dates[0], false, ev);
- }
- reportSelection(dates[0], dates[3], false, ev);
- }
- });
+ },
+
+
+ renderBusinessHours: function() {
+ this.timeGrid.renderBusinessHours();
+
+ if (this.dayGrid) {
+ this.dayGrid.renderBusinessHours();
}
- }
-
-
- function reportDayClick(date, allDay, ev) {
- trigger('dayClick', dayBodyCells[dayOfWeekCol(date.getDay())], date, allDay, ev);
- }
-
-
-
- /* External Dragging
- --------------------------------------------------------------------------------*/
-
-
- function dragStart(_dragElement, ev, ui) {
- hoverListener.start(function(cell) {
- clearOverlays();
- if (cell) {
- if (cellIsAllDay(cell)) {
- renderCellOverlay(cell.row, cell.col, cell.row, cell.col);
- }else{
- var d1 = cellDate(cell);
- var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes'));
- renderSlotOverlay(d1, d2);
- }
- }
- }, ev);
- }
-
-
- function dragStop(_dragElement, ev, ui) {
- var cell = hoverListener.stop();
- clearOverlays();
- if (cell) {
- trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), ev, ui);
+ },
+
+
+ // Builds the HTML skeleton for the view.
+ // The day-grid and time-grid components will render inside containers defined by this HTML.
+ renderSkeletonHtml: function() {
+ return '' +
+ '<table>' +
+ '<thead class="fc-head">' +
+ '<tr>' +
+ '<td class="fc-head-container ' + this.widgetHeaderClass + '"></td>' +
+ '</tr>' +
+ '</thead>' +
+ '<tbody class="fc-body">' +
+ '<tr>' +
+ '<td class="' + this.widgetContentClass + '">' +
+ (this.dayGrid ?
+ '<div class="fc-day-grid"/>' +
+ '<hr class="fc-divider ' + this.widgetHeaderClass + '"/>' :
+ ''
+ ) +
+ '<div class="fc-time-grid-container">' +
+ '<div class="fc-time-grid"/>' +
+ '</div>' +
+ '</td>' +
+ '</tr>' +
+ '</tbody>' +
+ '</table>';
+ },
+
+
+ // Generates an HTML attribute string for setting the width of the axis, if it is known
+ axisStyleAttr: function() {
+ if (this.axisWidth !== null) {
+ return 'style="width:' + this.axisWidth + 'px"';
}
- }
+ return '';
+ },
-}
+ /* Dimensions
+ ------------------------------------------------------------------------------------------------------------------*/
-;;
-function AgendaEventRenderer() {
- var t = this;
-
-
- // exports
- t.renderEvents = renderEvents;
- t.compileDaySegs = compileDaySegs; // for DayEventRenderer
- t.clearEvents = clearEvents;
- t.slotSegHtml = slotSegHtml;
- t.bindDaySeg = bindDaySeg;
-
-
- // imports
- DayEventRenderer.call(t);
- var opt = t.opt;
- var trigger = t.trigger;
- //var setOverflowHidden = t.setOverflowHidden;
- var isEventDraggable = t.isEventDraggable;
- var isEventResizable = t.isEventResizable;
- var eventEnd = t.eventEnd;
- var reportEvents = t.reportEvents;
- var reportEventClear = t.reportEventClear;
- var eventElementHandlers = t.eventElementHandlers;
- var setHeight = t.setHeight;
- var getDaySegmentContainer = t.getDaySegmentContainer;
- var getSlotSegmentContainer = t.getSlotSegmentContainer;
- var getHoverListener = t.getHoverListener;
- var getMaxMinute = t.getMaxMinute;
- var getMinMinute = t.getMinMinute;
- var timePosition = t.timePosition;
- var colContentLeft = t.colContentLeft;
- var colContentRight = t.colContentRight;
- var renderDaySegs = t.renderDaySegs;
- var resizableDayEvent = t.resizableDayEvent; // TODO: streamline binding architecture
- var getColCnt = t.getColCnt;
- var getColWidth = t.getColWidth;
- var getSnapHeight = t.getSnapHeight;
- var getSnapMinutes = t.getSnapMinutes;
- var getBodyContent = t.getBodyContent;
- var reportEventElement = t.reportEventElement;
- var showEvents = t.showEvents;
- var hideEvents = t.hideEvents;
- var eventDrop = t.eventDrop;
- var eventResize = t.eventResize;
- var renderDayOverlay = t.renderDayOverlay;
- var clearOverlays = t.clearOverlays;
- var calendar = t.calendar;
- var formatDate = calendar.formatDate;
- var formatDates = calendar.formatDates;
-
-
-
- /* Rendering
- ----------------------------------------------------------------------------*/
-
+ updateSize: function(isResize) {
+ this.timeGrid.updateSize(isResize);
- function renderEvents(events, modifiedEventId) {
- reportEvents(events);
- var i, len=events.length,
- dayEvents=[],
- slotEvents=[];
- for (i=0; i<len; i++) {
- if (events[i].allDay) {
- dayEvents.push(events[i]);
- }else{
- slotEvents.push(events[i]);
- }
- }
- if (opt('allDaySlot')) {
- renderDaySegs(compileDaySegs(dayEvents), modifiedEventId);
- setHeight(); // no params means set to viewHeight
- }
- renderSlotSegs(compileSlotSegs(slotEvents), modifiedEventId);
- trigger('eventAfterAllRender');
- }
-
-
- function clearEvents() {
- reportEventClear();
- getDaySegmentContainer().empty();
- getSlotSegmentContainer().empty();
- }
-
-
- function compileDaySegs(events) {
- var levels = stackSegs(sliceSegs(events, $.map(events, exclEndDay), t.visStart, t.visEnd)),
- i, levelCnt=levels.length, level,
- j, seg,
- segs=[];
- for (i=0; i<levelCnt; i++) {
- level = levels[i];
- for (j=0; j<level.length; j++) {
- seg = level[j];
- seg.row = 0;
- seg.level = i; // not needed anymore
- segs.push(seg);
- }
- }
- return segs;
- }
-
-
- function compileSlotSegs(events) {
- var colCnt = getColCnt(),
- minMinute = getMinMinute(),
- maxMinute = getMaxMinute(),
- d = addMinutes(cloneDate(t.visStart), minMinute),
- visEventEnds = $.map(events, slotEventEnd),
- i, col,
- j, level,
- k, seg,
- segs=[];
- for (i=0; i<colCnt; i++) {
- col = stackSegs(sliceSegs(events, visEventEnds, d, addMinutes(cloneDate(d), maxMinute-minMinute)));
- countForwardSegs(col);
- for (j=0; j<col.length; j++) {
- level = col[j];
- for (k=0; k<level.length; k++) {
- seg = level[k];
- seg.col = i;
- seg.level = j;
- segs.push(seg);
- }
- }
- addDays(d, 1, true);
- }
- return segs;
- }
-
-
- function slotEventEnd(event) {
- if (event.end) {
- return cloneDate(event.end);
- }else{
- return addMinutes(cloneDate(event.start), opt('defaultEventMinutes'));
- }
- }
-
-
- // renders events in the 'time slots' at the bottom
-
- function renderSlotSegs(segs, modifiedEventId) {
-
- var i, segCnt=segs.length, seg,
- event,
- classes,
- top, bottom,
- colI, levelI, forward,
- leftmost,
- availWidth,
- outerWidth,
- left,
- html='',
- eventElements,
- eventElement,
- triggerRes,
- vsideCache={},
- hsideCache={},
- key, val,
- titleElement,
- height,
- slotSegmentContainer = getSlotSegmentContainer(),
- rtl, dis, dit,
- colCnt = getColCnt();
-
- if (rtl = opt('isRTL')) {
- dis = -1;
- dit = colCnt - 1;
- }else{
- dis = 1;
- dit = 0;
- }
-
- // calculate position/dimensions, create html
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- event = seg.event;
- top = timePosition(seg.start, seg.start);
- bottom = timePosition(seg.start, seg.end);
- colI = seg.col;
- levelI = seg.level;
- forward = seg.forward || 0;
- leftmost = colContentLeft(colI*dis + dit);
- availWidth = colContentRight(colI*dis + dit) - leftmost;
- availWidth = Math.min(availWidth-6, availWidth*.95); // TODO: move this to CSS
- if (levelI) {
- // indented and thin
- outerWidth = availWidth / (levelI + forward + 1);
- }else{
- if (forward) {
- // moderately wide, aligned left still
- outerWidth = ((availWidth / (forward + 1)) - (12/2)) * 2; // 12 is the predicted width of resizer =
- }else{
- // can be entire width, aligned left
- outerWidth = availWidth;
- }
- }
- left = leftmost + // leftmost possible
- (availWidth / (levelI + forward + 1) * levelI) // indentation
- * dis + (rtl ? availWidth - outerWidth : 0); // rtl
- seg.top = top;
- seg.left = left;
- seg.outerWidth = outerWidth;
- seg.outerHeight = bottom - top;
- html += slotSegHtml(event, seg);
- }
- slotSegmentContainer[0].innerHTML = html; // faster than html()
- eventElements = slotSegmentContainer.children();
-
- // retrieve elements, run through eventRender callback, bind event handlers
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- event = seg.event;
- eventElement = $(eventElements[i]); // faster than eq()
- triggerRes = trigger('eventRender', event, event, eventElement);
- if (triggerRes === false) {
- eventElement.remove();
- }else{
- if (triggerRes && triggerRes !== true) {
- eventElement.remove();
- eventElement = $(triggerRes)
- .css({
- position: 'absolute',
- top: seg.top,
- left: seg.left
- })
- .appendTo(slotSegmentContainer);
- }
- seg.element = eventElement;
- if (event._id === modifiedEventId) {
- bindSlotSeg(event, eventElement, seg);
- }else{
- eventElement[0]._fci = i; // for lazySegBind
- }
- reportEventElement(event, eventElement);
- }
- }
-
- lazySegBind(slotSegmentContainer, segs, bindSlotSeg);
-
- // record event sides and title positions
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- if (eventElement = seg.element) {
- val = vsideCache[key = seg.key = cssKey(eventElement[0])];
- seg.vsides = val === undefined ? (vsideCache[key] = vsides(eventElement, true)) : val;
- val = hsideCache[key];
- seg.hsides = val === undefined ? (hsideCache[key] = hsides(eventElement, true)) : val;
- titleElement = eventElement.find('.fc-event-title');
- if (titleElement.length) {
- seg.contentTop = titleElement[0].offsetTop;
- }
- }
- }
-
- // set all positions/dimensions at once
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- if (eventElement = seg.element) {
- eventElement[0].style.width = Math.max(0, seg.outerWidth - seg.hsides) + 'px';
- height = Math.max(0, seg.outerHeight - seg.vsides);
- 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 (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')
- .remove();
- }
- trigger('eventAfterRender', event, event, eventElement);
- }
- }
-
- }
-
-
- function slotSegHtml(event, seg) {
- var html = "<";
- var url = event.url;
- var skinCss = getSkinCss(event, opt);
- var classes = ['fc-event', 'fc-event-vert'];
- if (isEventDraggable(event)) {
- classes.push('fc-event-draggable');
- }
- if (seg.isStart) {
- classes.push('fc-event-start');
- }
- if (seg.isEnd) {
- classes.push('fc-event-end');
- }
- classes = classes.concat(event.className);
- if (event.source) {
- classes = classes.concat(event.source.className || []);
- }
- if (url) {
- html += "a href='" + htmlEscape(event.url) + "'";
- }else{
- html += "div";
- }
- html +=
- " class='" + classes.join(' ') + "'" +
- " style='position:absolute;z-index:8;top:" + seg.top + "px;left:" + seg.left + "px;" + skinCss + "'" +
- ">" +
- "<div class='fc-event-inner'>" +
- "<div class='fc-event-time'>" +
- htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) +
- "</div>" +
- "<div class='fc-event-title'>" +
- htmlEscape(event.title) +
- "</div>" +
- "</div>" +
- "<div class='fc-event-bg'></div>";
- if (seg.isEnd && isEventResizable(event)) {
- html +=
- "<div class='ui-resizable-handle ui-resizable-s'>=</div>";
- }
- html +=
- "</" + (url ? "a" : "div") + ">";
- return html;
- }
-
-
- function bindDaySeg(event, eventElement, seg) {
- if (isEventDraggable(event)) {
- draggableDayEvent(event, eventElement, seg.isStart);
- }
- if (seg.isEnd && isEventResizable(event)) {
- resizableDayEvent(event, eventElement, seg);
- }
- eventElementHandlers(event, eventElement);
- // needs to be after, because resizableDayEvent might stopImmediatePropagation on click
- }
-
-
- function bindSlotSeg(event, eventElement, seg) {
- var timeElement = eventElement.find('div.fc-event-time');
- if (isEventDraggable(event)) {
- draggableSlotEvent(event, eventElement, timeElement);
- }
- if (seg.isEnd && isEventResizable(event)) {
- resizableSlotEvent(event, eventElement, timeElement);
+ View.prototype.updateSize.call(this, isResize); // call the super-method
+ },
+
+
+ // Refreshes the horizontal dimensions of the view
+ updateWidth: function() {
+ // make all axis cells line up, and record the width so newly created axis cells will have it
+ this.axisWidth = matchCellWidths(this.el.find('.fc-axis'));
+ },
+
+
+ // Adjusts the vertical dimensions of the view to the specified values
+ setHeight: function(totalHeight, isAuto) {
+ var eventLimit;
+ var scrollerHeight;
+
+ if (this.bottomRuleHeight === null) {
+ // calculate the height of the rule the very first time
+ this.bottomRuleHeight = this.bottomRuleEl.outerHeight();
}
- eventElementHandlers(event, eventElement);
- }
-
-
-
- /* Dragging
- -----------------------------------------------------------------------------------*/
-
-
- // when event starts out FULL-DAY
-
- function draggableDayEvent(event, eventElement, isStart) {
- var origWidth;
- var revert;
- var allDay=true;
- var dayDelta;
- var dis = opt('isRTL') ? -1 : 1;
- var hoverListener = getHoverListener();
- var colWidth = getColWidth();
- var snapHeight = getSnapHeight();
- var snapMinutes = getSnapMinutes();
- var minMinute = getMinMinute();
- eventElement.draggable({
- zIndex: 9,
- opacity: opt('dragOpacity', 'month'), // use whatever the month view was using
- revertDuration: opt('dragRevertDuration'),
- start: function(ev, ui) {
- trigger('eventDragStart', eventElement, event, ev, ui);
- hideEvents(event, eventElement);
- origWidth = eventElement.width();
- hoverListener.start(function(cell, origCell, rowDelta, colDelta) {
- clearOverlays();
- if (cell) {
- //setOverflowHidden(true);
- revert = false;
- dayDelta = colDelta * dis;
- if (!cell.row) {
- // on full-days
- renderDayOverlay(
- addDays(cloneDate(event.start), dayDelta),
- addDays(exclEndDay(event), dayDelta)
- );
- resetElement();
- }else{
- // mouse is over bottom slots
- if (isStart) {
- if (allDay) {
- // convert event to temporary slot-event
- eventElement.width(colWidth - 10); // don't use entire width
- setOuterHeight(
- eventElement,
- snapHeight * Math.round(
- (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) /
- snapMinutes
- )
- );
- eventElement.draggable('option', 'grid', [colWidth, 1]);
- allDay = false;
- }
- }else{
- revert = true;
- }
- }
- revert = revert || (allDay && !dayDelta);
- }else{
- resetElement();
- //setOverflowHidden(false);
- revert = true;
- }
- eventElement.draggable('option', 'revert', revert);
- }, ev, 'drag');
- },
- stop: function(ev, ui) {
- hoverListener.stop();
- clearOverlays();
- trigger('eventDragStop', eventElement, event, ev, ui);
- if (revert) {
- // hasn't moved or is out of bounds (draggable has already reverted)
- resetElement();
- eventElement.css('filter', ''); // clear IE opacity side-effects
- showEvents(event, eventElement);
- }else{
- // changed!
- var minuteDelta = 0;
- if (!allDay) {
- minuteDelta = Math.round((eventElement.offset().top - getBodyContent().offset().top) / snapHeight)
- * snapMinutes
- + minMinute
- - (event.start.getHours() * 60 + event.start.getMinutes());
- }
- eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui);
- }
- //setOverflowHidden(false);
+ this.bottomRuleEl.hide(); // .show() will be called later if this <hr> is necessary
+
+ // reset all dimensions back to the original state
+ this.scrollerEl.css('overflow', '');
+ unsetScroller(this.scrollerEl);
+ uncompensateScroll(this.noScrollRowEls);
+
+ // limit number of events in the all-day area
+ if (this.dayGrid) {
+ this.dayGrid.removeSegPopover(); // kill the "more" popover if displayed
+
+ eventLimit = this.opt('eventLimit');
+ if (eventLimit && typeof eventLimit !== 'number') {
+ eventLimit = AGENDA_ALL_DAY_EVENT_LIMIT; // make sure "auto" goes to a real number
}
- });
- function resetElement() {
- if (!allDay) {
- eventElement
- .width(origWidth)
- .height('')
- .draggable('option', 'grid', null);
- allDay = true;
+ if (eventLimit) {
+ this.dayGrid.limitRows(eventLimit);
}
}
- }
-
-
- // when event starts out IN TIMESLOTS
-
- function draggableSlotEvent(event, eventElement, timeElement) {
- var origPosition;
- var allDay=false;
- var dayDelta;
- var minuteDelta;
- var prevMinuteDelta;
- var dis = opt('isRTL') ? -1 : 1;
- var hoverListener = getHoverListener();
- var colCnt = getColCnt();
- var colWidth = getColWidth();
- var snapHeight = getSnapHeight();
- var snapMinutes = getSnapMinutes();
- eventElement.draggable({
- zIndex: 9,
- scroll: false,
- grid: [colWidth, snapHeight],
- axis: colCnt==1 ? 'y' : false,
- opacity: opt('dragOpacity'),
- revertDuration: opt('dragRevertDuration'),
- start: function(ev, ui) {
- trigger('eventDragStart', eventElement, event, ev, ui);
- hideEvents(event, eventElement);
- origPosition = eventElement.position();
- minuteDelta = prevMinuteDelta = 0;
- hoverListener.start(function(cell, origCell, rowDelta, colDelta) {
- eventElement.draggable('option', 'revert', !cell);
- clearOverlays();
- if (cell) {
- dayDelta = colDelta * dis;
- if (opt('allDaySlot') && !cell.row) {
- // over full days
- if (!allDay) {
- // convert to temporary all-day event
- allDay = true;
- timeElement.hide();
- eventElement.draggable('option', 'grid', null);
- }
- renderDayOverlay(
- addDays(cloneDate(event.start), dayDelta),
- addDays(exclEndDay(event), dayDelta)
- );
- }else{
- // on slots
- resetElement();
- }
- }
- }, ev, 'drag');
- },
- drag: function(ev, ui) {
- minuteDelta = Math.round((ui.position.top - origPosition.top) / snapHeight) * snapMinutes;
- if (minuteDelta != prevMinuteDelta) {
- if (!allDay) {
- updateTimeText(minuteDelta);
- }
- prevMinuteDelta = minuteDelta;
- }
- },
- stop: function(ev, ui) {
- var cell = hoverListener.stop();
- clearOverlays();
- trigger('eventDragStop', eventElement, event, ev, ui);
- if (cell && (dayDelta || minuteDelta || allDay)) {
- // changed!
- eventDrop(this, event, dayDelta, allDay ? 0 : minuteDelta, allDay, ev, ui);
- }else{
- // either no change or out-of-bounds (draggable has already reverted)
- resetElement();
- eventElement.css('filter', ''); // clear IE opacity side-effects
- eventElement.css(origPosition); // sometimes fast drags make event revert to wrong position
- updateTimeText(0);
- showEvents(event, eventElement);
- }
- }
- });
- function updateTimeText(minuteDelta) {
- var newStart = addMinutes(cloneDate(event.start), minuteDelta);
- var newEnd;
- if (event.end) {
- newEnd = addMinutes(cloneDate(event.end), minuteDelta);
+
+ if (!isAuto) { // should we force dimensions of the scroll container, or let the contents be natural height?
+
+ scrollerHeight = this.computeScrollerHeight(totalHeight);
+ if (setPotentialScroller(this.scrollerEl, scrollerHeight)) { // using scrollbars?
+
+ // make the all-day and header rows lines up
+ compensateScroll(this.noScrollRowEls, getScrollbarWidths(this.scrollerEl));
+
+ // the scrollbar compensation might have changed text flow, which might affect height, so recalculate
+ // and reapply the desired height to the scroller.
+ scrollerHeight = this.computeScrollerHeight(totalHeight);
+ this.scrollerEl.height(scrollerHeight);
}
- timeElement.text(formatDates(newStart, newEnd, opt('timeFormat')));
- }
- function resetElement() {
- // convert back to original slot-event
- if (allDay) {
- timeElement.css('display', ''); // show() was causing display=inline
- eventElement.draggable('option', 'grid', [colWidth, snapHeight]);
- allDay = false;
+ else { // no scrollbars
+ // still, force a height and display the bottom rule (marks the end of day)
+ this.scrollerEl.height(scrollerHeight).css('overflow', 'hidden'); // in case <hr> goes outside
+ this.bottomRuleEl.show();
}
}
- }
-
-
-
- /* Resizing
- --------------------------------------------------------------------------------------*/
-
-
- function resizableSlotEvent(event, eventElement, timeElement) {
- var snapDelta, prevSnapDelta;
- var snapHeight = getSnapHeight();
- var snapMinutes = getSnapMinutes();
- eventElement.resizable({
- handles: {
- s: '.ui-resizable-handle'
- },
- grid: snapHeight,
- start: function(ev, ui) {
- 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
- snapDelta = Math.round((Math.max(snapHeight, eventElement.height()) - ui.originalSize.height) / snapHeight);
- if (snapDelta != prevSnapDelta) {
- timeElement.text(
- formatDates(
- event.start,
- (!snapDelta && !event.end) ? null : // no change, so don't display time range
- addMinutes(eventEnd(event), snapMinutes*snapDelta),
- opt('timeFormat')
- )
- );
- prevSnapDelta = snapDelta;
- }
- },
- stop: function(ev, ui) {
- trigger('eventResizeStop', this, event, ev, ui);
- if (snapDelta) {
- eventResize(this, event, 0, snapMinutes*snapDelta, ev, ui);
- }else{
- eventElement.css('z-index', 8);
- showEvents(event, eventElement);
- // BUG: if event was really short, need to put title back in span
- }
- }
- });
- }
-
+ },
-}
+ // Computes the initial pre-configured scroll state prior to allowing the user to change it
+ computeInitialScroll: function() {
+ var scrollTime = moment.duration(this.opt('scrollTime'));
+ var top = this.timeGrid.computeTimeTop(scrollTime);
-function countForwardSegs(levels) {
- var i, j, k, level, segForward, segBack;
- for (i=levels.length-1; i>0; i--) {
- level = levels[i];
- for (j=0; j<level.length; j++) {
- segForward = level[j];
- for (k=0; k<levels[i-1].length; k++) {
- segBack = levels[i-1][k];
- if (segsCollide(segForward, segBack)) {
- segBack.forward = Math.max(segBack.forward||0, (segForward.forward||0)+1);
- }
- }
+ // zoom can give weird floating-point values. rather scroll a little bit further
+ top = Math.ceil(top);
+
+ if (top) {
+ top++; // to overcome top border that slots beyond the first have. looks better
}
- }
-}
+ return top;
+ },
-;;
+ /* Hit Areas
+ ------------------------------------------------------------------------------------------------------------------*/
+ // forward all hit-related method calls to the grids (dayGrid might not be defined)
-function View(element, calendar, viewName) {
- var t = this;
-
-
- // exports
- t.element = element;
- t.calendar = calendar;
- t.name = viewName;
- t.opt = opt;
- t.trigger = trigger;
- //t.setOverflowHidden = setOverflowHidden;
- t.isEventDraggable = isEventDraggable;
- t.isEventResizable = isEventResizable;
- t.reportEvents = reportEvents;
- t.eventEnd = eventEnd;
- t.reportEventElement = reportEventElement;
- t.reportEventClear = reportEventClear;
- t.eventElementHandlers = eventElementHandlers;
- t.showEvents = showEvents;
- t.hideEvents = hideEvents;
- t.eventDrop = eventDrop;
- t.eventResize = eventResize;
- // t.title
- // t.start, t.end
- // t.visStart, t.visEnd
-
-
- // imports
- var defaultEventEnd = t.defaultEventEnd;
- var normalizeEvent = calendar.normalizeEvent; // in EventManager
- var reportEventChange = calendar.reportEventChange;
-
-
- // locals
- var eventsByID = {};
- var eventElements = [];
- var eventElementsByID = {};
- var options = calendar.options;
-
-
-
- function opt(name, viewNameOverride) {
- var v = options[name];
- if (typeof v == 'object') {
- return smartProperty(v, viewNameOverride || viewName);
+ prepareHits: function() {
+ this.timeGrid.prepareHits();
+ if (this.dayGrid) {
+ this.dayGrid.prepareHits();
}
- return v;
- }
+ },
-
- function trigger(name, thisObj) {
- return calendar.trigger.apply(
- calendar,
- [name, thisObj || t].concat(Array.prototype.slice.call(arguments, 2), [t])
- );
- }
-
-
- /*
- function setOverflowHidden(bool) {
- element.css('overflow', bool ? 'hidden' : '');
- }
- */
-
-
- function isEventDraggable(event) {
- return isEventEditable(event) && !opt('disableDragging');
- }
-
-
- function isEventResizable(event) { // but also need to make sure the seg.isEnd == true
- return isEventEditable(event) && !opt('disableResizing');
- }
-
-
- function isEventEditable(event) {
- return firstDefined(event.editable, (event.source || {}).editable, opt('editable'));
- }
-
-
-
- /* Event Data
- ------------------------------------------------------------------------------*/
-
-
- // report when view receives new events
- function reportEvents(events) { // events are already normalized at this point
- eventsByID = {};
- var i, len=events.length, event;
- for (i=0; i<len; i++) {
- event = events[i];
- if (eventsByID[event._id]) {
- eventsByID[event._id].push(event);
- }else{
- eventsByID[event._id] = [event];
- }
- }
- }
-
-
- // returns a Date object for an event's end
- function eventEnd(event) {
- return event.end ? cloneDate(event.end) : defaultEventEnd(event);
- }
-
-
-
- /* Event Elements
- ------------------------------------------------------------------------------*/
-
-
- // report when view creates an element for an event
- function reportEventElement(event, element) {
- eventElements.push(element);
- if (eventElementsByID[event._id]) {
- eventElementsByID[event._id].push(element);
- }else{
- eventElementsByID[event._id] = [element];
- }
- }
-
-
- function reportEventClear() {
- eventElements = [];
- eventElementsByID = {};
- }
-
-
- // attaches eventClick, eventMouseover, eventMouseout
- function eventElementHandlers(event, eventElement) {
- eventElement
- .click(function(ev) {
- if (!eventElement.hasClass('ui-draggable-dragging') &&
- !eventElement.hasClass('ui-resizable-resizing')) {
- return trigger('eventClick', this, event, ev);
- }
- })
- .hover(
- function(ev) {
- trigger('eventMouseover', this, event, ev);
- },
- function(ev) {
- trigger('eventMouseout', this, event, ev);
- }
- );
- // TODO: don't fire eventMouseover/eventMouseout *while* dragging is occuring (on subject element)
- // TODO: same for resizing
- }
-
-
- function showEvents(event, exceptElement) {
- eachEventElement(event, exceptElement, 'show');
- }
-
-
- function hideEvents(event, exceptElement) {
- eachEventElement(event, exceptElement, 'hide');
- }
-
-
- function eachEventElement(event, exceptElement, funcName) {
- var elements = eventElementsByID[event._id],
- i, len = elements.length;
- for (i=0; i<len; i++) {
- if (!exceptElement || elements[i][0] != exceptElement[0]) {
- elements[i][funcName]();
- }
- }
- }
-
-
-
- /* Event Modification Reporting
- ---------------------------------------------------------------------------------*/
-
-
- function eventDrop(e, event, dayDelta, minuteDelta, allDay, ev, ui) {
- var oldAllDay = event.allDay;
- var eventId = event._id;
- moveEvents(eventsByID[eventId], dayDelta, minuteDelta, allDay);
- trigger(
- 'eventDrop',
- e,
- event,
- dayDelta,
- minuteDelta,
- allDay,
- function() {
- // TODO: investigate cases where this inverse technique might not work
- moveEvents(eventsByID[eventId], -dayDelta, -minuteDelta, oldAllDay);
- reportEventChange(eventId);
- },
- ev,
- ui
- );
- reportEventChange(eventId);
- }
-
-
- function eventResize(e, event, dayDelta, minuteDelta, ev, ui) {
- var eventId = event._id;
- elongateEvents(eventsByID[eventId], dayDelta, minuteDelta);
- trigger(
- 'eventResize',
- e,
- event,
- dayDelta,
- minuteDelta,
- function() {
- // TODO: investigate cases where this inverse technique might not work
- elongateEvents(eventsByID[eventId], -dayDelta, -minuteDelta);
- reportEventChange(eventId);
- },
- ev,
- ui
- );
- reportEventChange(eventId);
- }
-
-
-
- /* Event Modification Math
- ---------------------------------------------------------------------------------*/
-
-
- function moveEvents(events, dayDelta, minuteDelta, allDay) {
- minuteDelta = minuteDelta || 0;
- for (var e, len=events.length, i=0; i<len; i++) {
- e = events[i];
- if (allDay !== undefined) {
- e.allDay = allDay;
- }
- addMinutes(addDays(e.start, dayDelta, true), minuteDelta);
- if (e.end) {
- e.end = addMinutes(addDays(e.end, dayDelta, true), minuteDelta);
- }
- normalizeEvent(e, options);
+
+ releaseHits: function() {
+ this.timeGrid.releaseHits();
+ if (this.dayGrid) {
+ this.dayGrid.releaseHits();
}
- }
-
-
- function elongateEvents(events, dayDelta, minuteDelta) {
- minuteDelta = minuteDelta || 0;
- for (var e, len=events.length, i=0; i<len; i++) {
- e = events[i];
- e.end = addMinutes(addDays(eventEnd(e), dayDelta, true), minuteDelta);
- normalizeEvent(e, options);
+ },
+
+
+ queryHit: function(left, top) {
+ var hit = this.timeGrid.queryHit(left, top);
+
+ if (!hit && this.dayGrid) {
+ hit = this.dayGrid.queryHit(left, top);
}
- }
-
-}
+ return hit;
+ },
-;;
-function DayEventRenderer() {
- var t = this;
+ getHitSpan: function(hit) {
+ // TODO: hit.component is set as a hack to identify where the hit came from
+ return hit.component.getHitSpan(hit);
+ },
-
- // exports
- t.renderDaySegs = renderDaySegs;
- t.resizableDayEvent = resizableDayEvent;
-
-
- // imports
- var opt = t.opt;
- var trigger = t.trigger;
- var isEventDraggable = t.isEventDraggable;
- var isEventResizable = t.isEventResizable;
- var eventEnd = t.eventEnd;
- var reportEventElement = t.reportEventElement;
- var showEvents = t.showEvents;
- var hideEvents = t.hideEvents;
- var eventResize = t.eventResize;
- var getRowCnt = t.getRowCnt;
- var getColCnt = t.getColCnt;
- var getColWidth = t.getColWidth;
- var allDayRow = t.allDayRow;
- var allDayBounds = t.allDayBounds;
- var colContentLeft = t.colContentLeft;
- var colContentRight = t.colContentRight;
- var dayOfWeekCol = t.dayOfWeekCol;
- var dateCell = t.dateCell;
- var compileDaySegs = t.compileDaySegs;
- var getDaySegmentContainer = t.getDaySegmentContainer;
- var bindDaySeg = t.bindDaySeg; //TODO: streamline this
- var formatDates = t.calendar.formatDates;
- var renderDayOverlay = t.renderDayOverlay;
- var clearOverlays = t.clearOverlays;
- var clearSelection = t.clearSelection;
-
-
-
- /* Rendering
- -----------------------------------------------------------------------------*/
-
-
- function renderDaySegs(segs, modifiedEventId) {
- var segmentContainer = getDaySegmentContainer();
- var rowDivs;
- var rowCnt = getRowCnt();
- var colCnt = getColCnt();
- var i = 0;
- var rowI;
- var levelI;
- var colHeights;
- var j;
- var segCnt = segs.length;
- var seg;
- var top;
- var k;
- segmentContainer[0].innerHTML = daySegHTML(segs); // faster than .html()
- daySegElementResolve(segs, segmentContainer.children());
- daySegElementReport(segs);
- daySegHandlers(segs, segmentContainer, modifiedEventId);
- daySegCalcHSides(segs);
- daySegSetWidths(segs);
- daySegCalcHeights(segs);
- rowDivs = getRowDivs();
- // set row heights, calculate event tops (in relation to row top)
- for (rowI=0; rowI<rowCnt; rowI++) {
- levelI = 0;
- colHeights = [];
- for (j=0; j<colCnt; j++) {
- colHeights[j] = 0;
- }
- while (i<segCnt && (seg = segs[i]).row == rowI) {
- // loop through segs in a row
- top = arrayMax(colHeights.slice(seg.startCol, seg.endCol));
- seg.top = top;
- top += seg.outerHeight;
- for (k=seg.startCol; k<seg.endCol; k++) {
- colHeights[k] = top;
- }
- i++;
- }
- rowDivs[rowI].height(arrayMax(colHeights));
- }
- daySegSetTops(segs, getRowTops(rowDivs));
- }
-
-
- function renderTempDaySegs(segs, adjustRow, adjustTop) {
- var tempContainer = $("<div/>");
- var elements;
- var segmentContainer = getDaySegmentContainer();
- var i;
- var segCnt = segs.length;
- var element;
- tempContainer[0].innerHTML = daySegHTML(segs); // faster than .html()
- elements = tempContainer.children();
- segmentContainer.append(elements);
- daySegElementResolve(segs, elements);
- daySegCalcHSides(segs);
- daySegSetWidths(segs);
- daySegCalcHeights(segs);
- daySegSetTops(segs, getRowTops(getRowDivs()));
- elements = [];
- for (i=0; i<segCnt; i++) {
- element = segs[i].element;
- if (element) {
- if (segs[i].row === adjustRow) {
- element.css('top', adjustTop);
- }
- elements.push(element[0]);
- }
- }
- return $(elements);
- }
-
-
- function daySegHTML(segs) { // also sets seg.left and seg.outerWidth
- var rtl = opt('isRTL');
- var i;
- var segCnt=segs.length;
- var seg;
- var event;
- var url;
- var classes;
- var bounds = allDayBounds();
- var minLeft = bounds.left;
- var maxLeft = bounds.right;
- var leftCol;
- var rightCol;
- var left;
- var right;
- var skinCss;
- var html = '';
- // calculate desired position/dimensions, create html
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- event = seg.event;
- 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) {
- leftCol = dayOfWeekCol(seg.end.getDay()-1);
- rightCol = dayOfWeekCol(seg.start.getDay());
- left = seg.isEnd ? colContentLeft(leftCol) : minLeft;
- right = seg.isStart ? colContentRight(rightCol) : maxLeft;
- }else{
- leftCol = dayOfWeekCol(seg.start.getDay());
- rightCol = dayOfWeekCol(seg.end.getDay()-1);
- left = seg.isStart ? colContentLeft(leftCol) : minLeft;
- right = seg.isEnd ? colContentRight(rightCol) : maxLeft;
- }
- classes = classes.concat(event.className);
- if (event.source) {
- classes = classes.concat(event.source.className || []);
- }
- url = event.url;
- skinCss = getSkinCss(event, opt);
- if (url) {
- html += "<a href='" + htmlEscape(url) + "'";
- }else{
- html += "<div";
- }
- html +=
- " class='" + classes.join(' ') + "'" +
- " style='position:absolute;z-index:8;left:"+left+"px;" + skinCss + "'" +
- ">" +
- "<div class='fc-event-inner'>";
- if (!event.allDay && seg.isStart) {
- html +=
- "<span class='fc-event-time'>" +
- htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) +
- "</span>";
- }
- html +=
- "<span class='fc-event-title'>" + htmlEscape(event.title) + "</span>" +
- "</div>";
- if (seg.isEnd && isEventResizable(event)) {
- html +=
- "<div class='ui-resizable-handle ui-resizable-" + (rtl ? 'w' : 'e') + "'>" +
- "&nbsp;&nbsp;&nbsp;" + // makes hit area a lot better for IE6/7
- "</div>";
- }
- html +=
- "</" + (url ? "a" : "div" ) + ">";
- seg.left = left;
- seg.outerWidth = right - left;
- seg.startCol = leftCol;
- seg.endCol = rightCol + 1; // needs to be exclusive
- }
- return html;
- }
-
-
- function daySegElementResolve(segs, elements) { // sets seg.element
- var i;
- var segCnt = segs.length;
- var seg;
- var event;
- var element;
- var triggerRes;
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- event = seg.event;
- element = $(elements[i]); // faster than .eq()
- triggerRes = trigger('eventRender', event, event, element);
- if (triggerRes === false) {
- element.remove();
- }else{
- if (triggerRes && triggerRes !== true) {
- triggerRes = $(triggerRes)
- .css({
- position: 'absolute',
- left: seg.left
- });
- element.replaceWith(triggerRes);
- element = triggerRes;
- }
- seg.element = element;
- }
- }
- }
-
-
- function daySegElementReport(segs) {
- var i;
- var segCnt = segs.length;
- var seg;
- var element;
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- element = seg.element;
- if (element) {
- reportEventElement(seg.event, element);
- }
- }
- }
-
-
- function daySegHandlers(segs, segmentContainer, modifiedEventId) {
- var i;
- var segCnt = segs.length;
- var seg;
- var element;
- var event;
- // retrieve elements, run through eventRender callback, bind handlers
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- element = seg.element;
- if (element) {
- event = seg.event;
- if (event._id === modifiedEventId) {
- bindDaySeg(event, element, seg);
- }else{
- element[0]._fci = i; // for lazySegBind
- }
- }
- }
- lazySegBind(segmentContainer, segs, bindDaySeg);
- }
-
-
- function daySegCalcHSides(segs) { // also sets seg.key
- var i;
- var segCnt = segs.length;
- var seg;
- var element;
- var key, val;
- var hsideCache = {};
- // record event horizontal sides
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- element = seg.element;
- if (element) {
- key = seg.key = cssKey(element[0]);
- val = hsideCache[key];
- if (val === undefined) {
- val = hsideCache[key] = hsides(element, true);
- }
- seg.hsides = val;
- }
- }
- }
-
-
- function daySegSetWidths(segs) {
+
+ getHitEl: function(hit) {
+ // TODO: hit.component is set as a hack to identify where the hit came from
+ return hit.component.getHitEl(hit);
+ },
+
+
+ /* Events
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Renders events onto the view and populates the View's segment array
+ renderEvents: function(events) {
+ var dayEvents = [];
+ var timedEvents = [];
+ var daySegs = [];
+ var timedSegs;
var i;
- var segCnt = segs.length;
- var seg;
- var element;
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- element = seg.element;
- if (element) {
- element[0].style.width = Math.max(0, seg.outerWidth - seg.hsides) + 'px';
+
+ // separate the events into all-day and timed
+ for (i = 0; i < events.length; i++) {
+ if (events[i].allDay) {
+ dayEvents.push(events[i]);
}
- }
- }
-
-
- function daySegCalcHeights(segs) {
- var i;
- var segCnt = segs.length;
- var seg;
- var element;
- var key, val;
- var vmarginCache = {};
- // record event heights
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- element = seg.element;
- if (element) {
- key = seg.key; // created in daySegCalcHSides
- val = vmarginCache[key];
- if (val === undefined) {
- val = vmarginCache[key] = vmargins(element);
- }
- seg.outerHeight = element[0].offsetHeight + val;
+ else {
+ timedEvents.push(events[i]);
}
}
- }
-
-
- function getRowDivs() {
- var i;
- var rowCnt = getRowCnt();
- var rowDivs = [];
- for (i=0; i<rowCnt; i++) {
- rowDivs[i] = allDayRow(i)
- .find('div.fc-day-content > div'); // optimal selector?
- }
- return rowDivs;
- }
-
-
- function getRowTops(rowDivs) {
- var i;
- var rowCnt = rowDivs.length;
- var tops = [];
- for (i=0; i<rowCnt; i++) {
- tops[i] = rowDivs[i][0].offsetTop; // !!?? but this means the element needs position:relative if in a table cell!!!!
- }
- return tops;
- }
-
-
- function daySegSetTops(segs, rowTops) { // also triggers eventAfterRender
- var i;
- var segCnt = segs.length;
- var seg;
- var element;
- var event;
- for (i=0; i<segCnt; i++) {
- seg = segs[i];
- element = seg.element;
- if (element) {
- element[0].style.top = rowTops[seg.row] + (seg.top||0) + 'px';
- event = seg.event;
- trigger('eventAfterRender', event, event, element);
- }
+
+ // render the events in the subcomponents
+ timedSegs = this.timeGrid.renderEvents(timedEvents);
+ if (this.dayGrid) {
+ daySegs = this.dayGrid.renderEvents(dayEvents);
}
- }
-
-
-
- /* Resizing
- -----------------------------------------------------------------------------------*/
-
-
- function resizableDayEvent(event, element, seg) {
- var rtl = opt('isRTL');
- var direction = rtl ? 'w' : 'e';
- 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
- disableTextSelection(element); // prevent native <a> selection for IE
- element
- .mousedown(function(ev) { // prevent native <a> selection for others
- ev.preventDefault();
- })
- .click(function(ev) {
- if (isResizing) {
- ev.preventDefault(); // prevent link from being visited (only method that worked in IE6)
- ev.stopImmediatePropagation(); // prevent fullcalendar eventClick handler from being called
- // (eventElementHandlers needs to be bound after resizableDayEvent)
- }
- });
-
- handle.mousedown(function(ev) {
- if (ev.which != 1) {
- return; // needs to be left mouse button
- }
- isResizing = true;
- var hoverListener = t.getHoverListener();
- var rowCnt = getRowCnt();
- var colCnt = getColCnt();
- var dis = rtl ? -1 : 1;
- var dit = rtl ? colCnt-1 : 0;
- var elementTop = element.css('top');
- var dayDelta;
- var helpers;
- var eventCopy = $.extend({}, event);
- var minCell = dateCell(event.start);
- clearSelection();
- $('body')
- .css('cursor', direction + '-resize')
- .one('mouseup', mouseup);
- trigger('eventResizeStart', this, event, ev);
- hoverListener.start(function(cell, origCell) {
- if (cell) {
- var r = Math.max(minCell.row, cell.row);
- var c = cell.col;
- if (rowCnt == 1) {
- r = 0; // hack for all-day area in agenda views
- }
- if (r == minCell.row) {
- if (rtl) {
- c = Math.min(minCell.col, c);
- }else{
- c = Math.max(minCell.col, c);
- }
- }
- dayDelta = (r*7 + c*dis+dit) - (origCell.row*7 + origCell.col*dis+dit);
- var newEnd = addDays(eventEnd(event), dayDelta, true);
- if (dayDelta) {
- eventCopy.end = newEnd;
- var oldHelpers = helpers;
- helpers = renderTempDaySegs(compileDaySegs([eventCopy]), seg.row, elementTop);
- helpers.find('*').css('cursor', direction + '-resize');
- if (oldHelpers) {
- oldHelpers.remove();
- }
- hideEvents(event);
- }else{
- if (helpers) {
- showEvents(event);
- helpers.remove();
- helpers = null;
- }
- }
- clearOverlays();
- renderDayOverlay(event.start, addDays(cloneDate(newEnd), 1)); // coordinate grid already rebuild at hoverListener.start
- }
- }, ev);
-
- function mouseup(ev) {
- trigger('eventResizeStop', this, event, ev);
- $('body').css('cursor', '');
- hoverListener.stop();
- clearOverlays();
- if (dayDelta) {
- eventResize(this, event, dayDelta, 0, ev);
- // event redraw will clear helpers
- }
- // otherwise, the drag handler already restored the old events
-
- setTimeout(function() { // make this happen after the element's click event
- isResizing = false;
- },0);
- }
-
- });
- }
-
-}
+ // the all-day area is flexible and might have a lot of events, so shift the height
+ this.updateHeight();
+ },
-;;
-//BUG: unselect needs to be triggered when events are dragged+dropped
+ // Retrieves all segment objects that are rendered in the view
+ getEventSegs: function() {
+ return this.timeGrid.getEventSegs().concat(
+ this.dayGrid ? this.dayGrid.getEventSegs() : []
+ );
+ },
-function SelectionManager() {
- var t = this;
-
-
- // exports
- t.select = select;
- t.unselect = unselect;
- t.reportSelection = reportSelection;
- t.daySelectionMousedown = daySelectionMousedown;
-
-
- // imports
- var opt = t.opt;
- var trigger = t.trigger;
- var defaultSelectionEnd = t.defaultSelectionEnd;
- var renderSelection = t.renderSelection;
- var clearSelection = t.clearSelection;
-
-
- // locals
- var selected = false;
+ // Unrenders all event elements and clears internal segment data
+ unrenderEvents: function() {
+ // unrender the events in the subcomponents
+ this.timeGrid.unrenderEvents();
+ if (this.dayGrid) {
+ this.dayGrid.unrenderEvents();
+ }
- // unselectAuto
- if (opt('selectable') && opt('unselectAuto')) {
- $(document).mousedown(function(ev) {
- var ignore = opt('unselectCancel');
- if (ignore) {
- if ($(ev.target).parents(ignore).length) { // could be optimized to stop after first match
- return;
- }
- }
- unselect(ev);
- });
- }
-
+ // we DON'T need to call updateHeight() because:
+ // A) a renderEvents() call always happens after this, which will eventually call updateHeight()
+ // B) in IE8, this causes a flash whenever events are rerendered
+ },
+
+
+ /* Dragging (for events and external elements)
+ ------------------------------------------------------------------------------------------------------------------*/
- function select(startDate, endDate, allDay) {
- unselect();
- if (!endDate) {
- endDate = defaultSelectionEnd(startDate, allDay);
+
+ // A returned value of `true` signals that a mock "helper" event has been rendered.
+ renderDrag: function(dropLocation, seg) {
+ if (dropLocation.start.hasTime()) {
+ return this.timeGrid.renderDrag(dropLocation, seg);
}
- renderSelection(startDate, endDate, allDay);
- reportSelection(startDate, endDate, allDay);
- }
-
-
- function unselect(ev) {
- if (selected) {
- selected = false;
- clearSelection();
- trigger('unselect', null, ev);
+ else if (this.dayGrid) {
+ return this.dayGrid.renderDrag(dropLocation, seg);
}
- }
-
-
- function reportSelection(startDate, endDate, allDay, ev) {
- selected = true;
- trigger('select', null, startDate, endDate, allDay, ev);
- }
-
-
- function daySelectionMousedown(ev) { // not really a generic manager method, oh well
- var cellDate = t.cellDate;
- var cellIsAllDay = t.cellIsAllDay;
- var hoverListener = t.getHoverListener();
- var reportDayClick = t.reportDayClick; // this is hacky and sort of weird
- if (ev.which == 1 && opt('selectable')) { // which==1 means left mouse button
- unselect(ev);
- var _mousedownElement = this;
- var dates;
- hoverListener.start(function(cell, origCell) { // TODO: maybe put cellDate/cellIsAllDay info in cell
- clearSelection();
- if (cell && cellIsAllDay(cell)) {
- dates = [ cellDate(origCell), cellDate(cell) ].sort(cmp);
- renderSelection(dates[0], dates[1], true);
- }else{
- dates = null;
- }
- }, ev);
- $(document).one('mouseup', function(ev) {
- hoverListener.stop();
- if (dates) {
- if (+dates[0] == +dates[1]) {
- reportDayClick(dates[0], true, ev);
- }
- reportSelection(dates[0], dates[1], true, ev);
- }
- });
+ },
+
+
+ unrenderDrag: function() {
+ this.timeGrid.unrenderDrag();
+ if (this.dayGrid) {
+ this.dayGrid.unrenderDrag();
}
- }
+ },
-}
+ /* Selection
+ ------------------------------------------------------------------------------------------------------------------*/
-;;
-
-function OverlayManager() {
- var t = this;
-
-
- // exports
- t.renderOverlay = renderOverlay;
- t.clearOverlays = clearOverlays;
-
-
- // locals
- var usedOverlays = [];
- var unusedOverlays = [];
-
-
- function renderOverlay(rect, parent) {
- var e = unusedOverlays.shift();
- if (!e) {
- e = $("<div class='fc-cell-overlay' style='position:absolute;z-index:3'/>");
+
+ // Renders a visual indication of a selection
+ renderSelection: function(range) {
+ if (range.start.hasTime() || range.end.hasTime()) {
+ this.timeGrid.renderSelection(range);
}
- if (e[0].parentNode != parent[0]) {
- e.appendTo(parent);
+ else if (this.dayGrid) {
+ this.dayGrid.renderSelection(range);
}
- usedOverlays.push(e.css(rect).show());
- return e;
- }
-
+ },
+
- function clearOverlays() {
- var e;
- while (e = usedOverlays.shift()) {
- unusedOverlays.push(e.hide().unbind());
+ // Unrenders a visual indications of a selection
+ unrenderSelection: function() {
+ this.timeGrid.unrenderSelection();
+ if (this.dayGrid) {
+ this.dayGrid.unrenderSelection();
}
}
+});
-}
-;;
+// Methods that will customize the rendering behavior of the AgendaView's timeGrid
+var agendaTimeGridMethods = {
-function CoordinateGrid(buildFunc) {
- var t = this;
- var rows;
- var cols;
-
-
- t.build = function() {
- rows = [];
- cols = [];
- buildFunc(rows, cols);
- };
-
-
- t.cell = function(x, y) {
- var rowCnt = rows.length;
- var colCnt = cols.length;
- var i, r=-1, c=-1;
- for (i=0; i<rowCnt; i++) {
- if (y >= rows[i][0] && y < rows[i][1]) {
- r = i;
- break;
- }
+ // Generates the HTML that will go before the day-of week header cells
+ renderHeadIntroHtml: function() {
+ var view = this.view;
+ var weekText;
+
+ if (view.opt('weekNumbers')) {
+ weekText = this.start.format(view.opt('smallWeekFormat'));
+
+ return '' +
+ '<th class="fc-axis fc-week-number ' + view.widgetHeaderClass + '" ' + view.axisStyleAttr() + '>' +
+ '<span>' + // needed for matchCellWidths
+ htmlEscape(weekText) +
+ '</span>' +
+ '</th>';
}
- for (i=0; i<colCnt; i++) {
- if (x >= cols[i][0] && x < cols[i][1]) {
- c = i;
- break;
- }
+ else {
+ return '<th class="fc-axis ' + view.widgetHeaderClass + '" ' + view.axisStyleAttr() + '></th>';
}
- return (r>=0 && c>=0) ? { row:r, col:c } : null;
- };
-
-
- t.rect = function(row0, col0, row1, col1, originElement) { // row1,col1 is inclusive
- var origin = originElement.offset();
- return {
- top: rows[row0][0] - origin.top,
- left: cols[col0][0] - origin.left,
- width: cols[col1][1] - cols[col0][0],
- height: rows[row1][1] - rows[row0][0]
- };
- };
+ },
-}
-;;
+ // Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column.
+ renderBgIntroHtml: function() {
+ var view = this.view;
-function HoverListener(coordinateGrid) {
+ return '<td class="fc-axis ' + view.widgetContentClass + '" ' + view.axisStyleAttr() + '></td>';
+ },
- var t = this;
- var bindType;
- var change;
- var firstCell;
- var cell;
-
-
- t.start = function(_change, ev, _bindType) {
- change = _change;
- firstCell = cell = null;
- coordinateGrid.build();
- mouse(ev);
- bindType = _bindType || 'mousemove';
- $(document).bind(bindType, mouse);
- };
-
-
- function mouse(ev) {
- _fixUIEvent(ev); // see below
- var newCell = coordinateGrid.cell(ev.pageX, ev.pageY);
- if (!newCell != !cell || newCell && (newCell.row != cell.row || newCell.col != cell.col)) {
- if (newCell) {
- if (!firstCell) {
- firstCell = newCell;
- }
- change(newCell, firstCell, newCell.row-firstCell.row, newCell.col-firstCell.col);
- }else{
- change(newCell, firstCell);
- }
- cell = newCell;
- }
+ // Generates the HTML that goes before all other types of cells.
+ // Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid.
+ renderIntroHtml: function() {
+ var view = this.view;
+
+ return '<td class="fc-axis" ' + view.axisStyleAttr() + '></td>';
}
-
-
- t.stop = function() {
- $(document).unbind(bindType, mouse);
- return cell;
- };
-
-
-}
+};
+
+
+// Methods that will customize the rendering behavior of the AgendaView's dayGrid
+var agendaDayGridMethods = {
-// this fix was only necessary for jQuery UI 1.8.16 (and jQuery 1.7 or 1.7.1)
-// upgrading to jQuery UI 1.8.17 (and using either jQuery 1.7 or 1.7.1) fixed the problem
-// but keep this in here for 1.8.16 users
-// and maybe remove it down the line
+ // Generates the HTML that goes before the all-day cells
+ renderBgIntroHtml: function() {
+ var view = this.view;
+
+ return '' +
+ '<td class="fc-axis ' + view.widgetContentClass + '" ' + view.axisStyleAttr() + '>' +
+ '<span>' + // needed for matchCellWidths
+ (view.opt('allDayHtml') || htmlEscape(view.opt('allDayText'))) +
+ '</span>' +
+ '</td>';
+ },
-function _fixUIEvent(event) { // for issue 1168
- if (event.pageX === undefined) {
- event.pageX = event.originalEvent.pageX;
- event.pageY = event.originalEvent.pageY;
+
+ // Generates the HTML that goes before all other types of cells.
+ // Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid.
+ renderIntroHtml: function() {
+ var view = this.view;
+
+ return '<td class="fc-axis" ' + view.axisStyleAttr() + '></td>';
}
-}
-;;
-function HorizontalPositionCache(getElement) {
+};
+
+;;
- var t = this,
- elements = {},
- lefts = {},
- rights = {};
-
- function e(i) {
- return elements[i] = elements[i] || getElement(i);
+var AGENDA_ALL_DAY_EVENT_LIMIT = 5;
+
+// potential nice values for the slot-duration and interval-duration
+// from largest to smallest
+var AGENDA_STOCK_SUB_DURATIONS = [
+ { hours: 1 },
+ { minutes: 30 },
+ { minutes: 15 },
+ { seconds: 30 },
+ { seconds: 15 }
+];
+
+fcViews.agenda = {
+ 'class': AgendaView,
+ defaults: {
+ allDaySlot: true,
+ allDayText: 'all-day',
+ slotDuration: '00:30:00',
+ minTime: '00:00:00',
+ maxTime: '24:00:00',
+ slotEventOverlap: true // a bad name. confused with overlap/constraint system
}
-
- t.left = function(i) {
- return lefts[i] = lefts[i] === undefined ? e(i).position().left : lefts[i];
- };
-
- t.right = function(i) {
- return rights[i] = rights[i] === undefined ? t.left(i) + e(i).width() : rights[i];
- };
-
- t.clear = function() {
- elements = {};
- lefts = {};
- rights = {};
- };
-
-}
+};
+fcViews.agendaDay = {
+ type: 'agenda',
+ duration: { days: 1 }
+};
+
+fcViews.agendaWeek = {
+ type: 'agenda',
+ duration: { weeks: 1 }
+};
;;
-})(jQuery); \ No newline at end of file
+return FC; // export for Node/CommonJS
+}); \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.min.css b/library/fullcalendar/fullcalendar.min.css
new file mode 100644
index 000000000..f9c93ef7c
--- /dev/null
+++ b/library/fullcalendar/fullcalendar.min.css
@@ -0,0 +1,5 @@
+/*!
+ * FullCalendar v2.5.0-beta Stylesheet
+ * Docs & License: http://fullcalendar.io/
+ * (c) 2015 Adam Shaw
+ */.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed .fc-today{background:#fcf8e3}.fc-highlight{background:#bce8f1;opacity:.3;filter:alpha(opacity=30)}.fc-bgevent{background:#8fdf82;opacity:.3;filter:alpha(opacity=30)}.fc-nonbusiness{background:#d7d7d7}.fc-icon{display:inline-block;width:1em;height:1em;line-height:1em;font-size:1em;text-align:center;overflow:hidden;font-family:"Courier New",Courier,monospace;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative;margin:0 -1em}.fc-icon-left-single-arrow:after{content:"\02039";font-weight:700;font-size:200%;top:-7%;left:3%}.fc-icon-right-single-arrow:after{content:"\0203A";font-weight:700;font-size:200%;top:-7%;left:-3%}.fc-icon-left-double-arrow:after{content:"\000AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\000BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%;left:-2%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%;left:2%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\000D7";font-size:200%;top:6%}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-default{background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.fc-button-group{display:inline-block}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{cursor:pointer}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg table{height:100%}.fc table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{overflow-y:scroll;overflow-x:hidden}.fc-scroller>*{position:relative;width:100%;overflow:hidden}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad;background-color:#3a87ad;font-weight:400}.fc-event,.fc-event:hover,.ui-widget .fc-event{color:#fff;text-decoration:none}.fc-event.fc-draggable,.fc-event[href]{cursor:pointer}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25;filter:alpha(opacity=25)}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:3}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-h-event .fc-resizer{top:-1px;bottom:-1px;left:-1px;right:-1px;width:5px}.fc-ltr .fc-h-event .fc-start-resizer,.fc-ltr .fc-h-event .fc-start-resizer:after,.fc-ltr .fc-h-event .fc-start-resizer:before,.fc-rtl .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-end-resizer:after,.fc-rtl .fc-h-event .fc-end-resizer:before{right:auto;cursor:w-resize}.fc-ltr .fc-h-event .fc-end-resizer,.fc-ltr .fc-h-event .fc-end-resizer:after,.fc-ltr .fc-h-event .fc-end-resizer:before,.fc-rtl .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-start-resizer:after,.fc-rtl .fc-h-event .fc-start-resizer:before{left:auto;cursor:e-resize}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-day-grid-event .fc-resizer{left:-3px;right:-3px;width:7px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-toolbar{text-align:center;margin-bottom:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:0 2px}.fc-basic-view td.fc-day-number,.fc-basic-view td.fc-week-number span{padding-top:2px;padding-bottom:2px}.fc-basic-view .fc-week-number{text-align:center}.fc-basic-view .fc-week-number span{display:inline-block;min-width:1.25em}.fc-ltr .fc-basic-view .fc-day-number{text-align:right}.fc-rtl .fc-basic-view .fc-day-number{text-align:left}.fc-day-number.fc-other-month{opacity:.3;filter:alpha(opacity=30)}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-bgevent-skeleton,.fc-time-grid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-time-grid .fc-bgevent-skeleton{z-index:3}.fc-time-grid .fc-highlight-skeleton{z-index:4}.fc-time-grid .fc-content-skeleton{z-index:5}.fc-time-grid .fc-helper-skeleton{z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-time-grid .fc-bgevent-container,.fc-time-grid .fc-event-container{position:relative}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event .fc-resizer:after{content:"="} \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.min.js b/library/fullcalendar/fullcalendar.min.js
index 2f07418e3..b152237bd 100644
--- a/library/fullcalendar/fullcalendar.min.js
+++ b/library/fullcalendar/fullcalendar.min.js
@@ -1,7 +1,9 @@
/*!
- * FullCalendar v1.6.0
- * Docs & License: http://arshaw.com/fullcalendar/
- * (c) 2013 Adam Shaw
+ * FullCalendar v2.5.0-beta
+ * Docs & License: http://fullcalendar.io/
+ * (c) 2015 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
+!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){function c(a){return Q(a,Ra)}function d(b){var c,d={views:b.views||{}};return a.each(b,function(b,e){"views"!=b&&(a.isPlainObject(e)&&!/(time|duration|interval)$/i.test(b)&&-1==a.inArray(b,Ra)?(c=null,a.each(e,function(a,e){/^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(a)?(d.views[a]||(d.views[a]={}),d.views[a][b]=e):(c||(c={}),c[a]=e)}),c&&(d[b]=c)):d[b]=e)}),d}function e(a,b){b.left&&a.css({"border-left-width":1,"margin-left":b.left-1}),b.right&&a.css({"border-right-width":1,"margin-right":b.right-1})}function f(a){a.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function g(){a("body").addClass("fc-not-allowed")}function h(){a("body").removeClass("fc-not-allowed")}function i(b,c,d){var e=Math.floor(c/b.length),f=Math.floor(c-e*(b.length-1)),g=[],h=[],i=[],k=0;j(b),b.each(function(c,d){var j=c===b.length-1?f:e,l=a(d).outerHeight(!0);j>l?(g.push(d),h.push(l),i.push(a(d).height())):k+=l}),d&&(c-=k,e=Math.floor(c/g.length),f=Math.floor(c-e*(g.length-1))),a(g).each(function(b,c){var d=b===g.length-1?f:e,j=h[b],k=i[b],l=d-(j-k);d>j&&a(c).height(l)})}function j(a){a.height("")}function k(b){var c=0;return b.find("> *").each(function(b,d){var e=a(d).outerWidth();e>c&&(c=e)}),c++,b.width(c),c}function l(a,b){return a.height(b).addClass("fc-scroller"),a[0].scrollHeight-1>a[0].clientHeight?!0:(m(a),!1)}function m(a){a.height("").removeClass("fc-scroller")}function n(b){var c=b.css("position"),d=b.parents().filter(function(){var b=a(this);return/(auto|scroll)/.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&d.length?d:a(b[0].ownerDocument||document)}function o(a){var b=a.offset();return{left:b.left,right:b.left+a.outerWidth(),top:b.top,bottom:b.top+a.outerHeight()}}function p(a){var b=a.offset(),c=r(a),d=b.left+u(a,"border-left-width")+c.left,e=b.top+u(a,"border-top-width")+c.top;return{left:d,right:d+a[0].clientWidth,top:e,bottom:e+a[0].clientHeight}}function q(a){var b=a.offset(),c=b.left+u(a,"border-left-width")+u(a,"padding-left"),d=b.top+u(a,"border-top-width")+u(a,"padding-top");return{left:c,right:c+a.width(),top:d,bottom:d+a.height()}}function r(a){var b=a.innerWidth()-a[0].clientWidth,c={left:0,right:0,top:0,bottom:a.innerHeight()-a[0].clientHeight};return s()&&"rtl"==a.css("direction")?c.left=b:c.right=b,c}function s(){return null===Sa&&(Sa=t()),Sa}function t(){var b=a("<div><div/></div>").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),c=b.children(),d=c.offset().left>b.offset().left;return b.remove(),d}function u(a,b){return parseFloat(a.css(b))||0}function v(a){return 1==a.which&&!a.ctrlKey}function w(a,b){var c={left:Math.max(a.left,b.left),right:Math.min(a.right,b.right),top:Math.max(a.top,b.top),bottom:Math.min(a.bottom,b.bottom)};return c.left<c.right&&c.top<c.bottom?c:!1}function x(a,b){return{left:Math.min(Math.max(a.left,b.left),b.right),top:Math.min(Math.max(a.top,b.top),b.bottom)}}function y(a){return{left:(a.left+a.right)/2,top:(a.top+a.bottom)/2}}function z(a,b){return{left:a.left-b.left,top:a.top-b.top}}function A(b){var c,d,e=[],f=[];for("string"==typeof b?f=b.split(/\s*,\s*/):"function"==typeof b?f=[b]:a.isArray(b)&&(f=b),c=0;c<f.length;c++)d=f[c],"string"==typeof d?e.push("-"==d.charAt(0)?{field:d.substring(1),order:-1}:{field:d,order:1}):"function"==typeof d&&e.push({func:d});return e}function B(a,b,c){var d,e;for(d=0;d<c.length;d++)if(e=C(a,b,c[d]))return e;return 0}function C(a,b,c){return c.func?c.func(a,b):D(a[c.field],b[c.field])*(c.order||1)}function D(b,c){return b||c?null==c?-1:null==b?1:"string"===a.type(b)||"string"===a.type(c)?String(b).localeCompare(String(c)):b-c:0}function E(a,b){var c,d,e,f,g=a.start,h=a.end,i=b.start,j=b.end;return h>i&&j>g?(g>=i?(c=g.clone(),e=!0):(c=i.clone(),e=!1),j>=h?(d=h.clone(),f=!0):(d=j.clone(),f=!1),{start:c,end:d,isStart:e,isEnd:f}):void 0}function F(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days"),ms:a.time()-c.time()})}function G(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days")})}function H(a,c,d){return b.duration(Math.round(a.diff(c,d,!0)),d)}function I(a,b){var c,d,e;for(c=0;c<Ua.length&&(d=Ua[c],e=J(d,a,b),!(e>=1&&ba(e)));c++);return d}function J(a,c,d){return null!=d?d.diff(c,a,!0):b.isDuration(c)?c.as(a):c.end.diff(c.start,a,!0)}function K(a,b,c){var d;return N(c)?(b-a)/c:(d=c.asMonths(),Math.abs(d)>=1&&ba(d)?b.diff(a,"months",!0)/d:b.diff(a,"days",!0)/c.asDays())}function L(a,b){var c,d;return N(a)||N(b)?a/b:(c=a.asMonths(),d=b.asMonths(),Math.abs(c)>=1&&ba(c)&&Math.abs(d)>=1&&ba(d)?c/d:a.asDays()/b.asDays())}function M(a,c){var d;return N(a)?b.duration(a*c):(d=a.asMonths(),Math.abs(d)>=1&&ba(d)?b.duration({months:d*c}):b.duration({days:a.asDays()*c}))}function N(a){return Boolean(a.hours()||a.minutes()||a.seconds()||a.milliseconds())}function O(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function P(a){return/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(a)}function Q(a,b){var c,d,e,f,g,h,i={};if(b)for(c=0;c<b.length;c++){for(d=b[c],e=[],f=a.length-1;f>=0;f--)if(g=a[f][d],"object"==typeof g)e.unshift(g);else if(void 0!==g){i[d]=g;break}e.length&&(i[d]=Q(e))}for(c=a.length-1;c>=0;c--){h=a[c];for(d in h)d in i||(i[d]=h[d])}return i}function R(a){var b=function(){};return b.prototype=a,new b}function S(a,b){for(var c in a)U(a,c)&&(b[c]=a[c])}function T(a,b){var c,d,e=["constructor","toString","valueOf"];for(c=0;c<e.length;c++)d=e[c],a[d]!==Object.prototype[d]&&(b[d]=a[d])}function U(a,b){return Ya.call(a,b)}function V(b){return/undefined|null|boolean|number|string/.test(a.type(b))}function W(b,c,d){if(a.isFunction(b)&&(b=[b]),b){var e,f;for(e=0;e<b.length;e++)f=b[e].apply(c,d)||f;return f}}function X(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]}function Y(a){return(a+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Z(a){return a.replace(/&.*?;/g,"")}function $(b){var c=[];return a.each(b,function(a,b){null!=b&&c.push(a+":"+b)}),c.join(";")}function _(a){return a.charAt(0).toUpperCase()+a.slice(1)}function aa(a,b){return a-b}function ba(a){return a%1===0}function ca(a,b){var c=a[b];return function(){return c.apply(a,arguments)}}function da(a,b){var c,d,e,f,g=function(){var h=+new Date-f;b>h&&h>0?c=setTimeout(g,b-h):(c=null,a.apply(e,d),c||(e=d=null))};return function(){e=this,d=arguments,f=+new Date,c||(c=setTimeout(g,b))}}function ea(c,d,e){var f,g,h,i,j=c[0],k=1==c.length&&"string"==typeof j;return b.isMoment(j)?(i=b.apply(null,c),ga(j,i)):O(j)||void 0===j?i=b.apply(null,c):(f=!1,g=!1,k?Za.test(j)?(j+="-01",c=[j],f=!0,g=!0):(h=$a.exec(j))&&(f=!h[5],g=!0):a.isArray(j)&&(g=!0),i=d||f?b.utc.apply(b,c):b.apply(null,c),f?(i._ambigTime=!0,i._ambigZone=!0):e&&(g?i._ambigZone=!0:k&&(i.utcOffset?i.utcOffset(j):i.zone(j)))),i._fullCalendar=!0,i}function fa(a,c){var d,e,f=!1,g=!1,h=a.length,i=[];for(d=0;h>d;d++)e=a[d],b.isMoment(e)||(e=Pa.moment.parseZone(e)),f=f||e._ambigTime,g=g||e._ambigZone,i.push(e);for(d=0;h>d;d++)e=i[d],c||!f||e._ambigTime?g&&!e._ambigZone&&(i[d]=e.clone().stripZone()):i[d]=e.clone().stripTime();return i}function ga(a,b){a._ambigTime?b._ambigTime=!0:b._ambigTime&&(b._ambigTime=!1),a._ambigZone?b._ambigZone=!0:b._ambigZone&&(b._ambigZone=!1)}function ha(a,b){a.year(b[0]||0).month(b[1]||0).date(b[2]||0).hours(b[3]||0).minutes(b[4]||0).seconds(b[5]||0).milliseconds(b[6]||0)}function ia(a,b){return ab.format.call(a,b)}function ja(a,b){return ka(a,pa(b))}function ka(a,b){var c,d="";for(c=0;c<b.length;c++)d+=la(a,b[c]);return d}function la(a,b){var c,d;return"string"==typeof b?b:(c=b.token)?bb[c]?bb[c](a):ia(a,c):b.maybe&&(d=ka(a,b.maybe),d.match(/[1-9]/))?d:""}function ma(a,b,c,d,e){var f;return a=Pa.moment.parseZone(a),b=Pa.moment.parseZone(b),f=(a.localeData||a.lang).call(a),c=f.longDateFormat(c)||c,d=d||" - ",na(a,b,pa(c),d,e)}function na(a,b,c,d,e){var f,g,h,i,j="",k="",l="",m="",n="";for(g=0;g<c.length&&(f=oa(a,b,c[g]),f!==!1);g++)j+=f;for(h=c.length-1;h>g&&(f=oa(a,b,c[h]),f!==!1);h--)k=f+k;for(i=g;h>=i;i++)l+=la(a,c[i]),m+=la(b,c[i]);return(l||m)&&(n=e?m+d+l:l+d+m),j+n+k}function oa(a,b,c){var d,e;return"string"==typeof c?c:(d=c.token)&&(e=cb[d.charAt(0)],e&&a.isSame(b,e))?ia(a,d):!1}function pa(a){return a in db?db[a]:db[a]=qa(a)}function qa(a){for(var b,c=[],d=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;b=d.exec(a);)b[1]?c.push(b[1]):b[2]?c.push({maybe:qa(b[2])}):b[3]?c.push({token:b[3]}):b[5]&&c.push(b[5]);return c}function ra(){}function sa(a,b){var c;return U(b,"constructor")&&(c=b.constructor),"function"!=typeof c&&(c=b.constructor=function(){a.apply(this,arguments)}),c.prototype=R(a.prototype),S(b,c.prototype),T(b,c.prototype),S(a,c),c}function ta(a,b){S(b.prototype||b,a.prototype)}function ua(a,b){return a||b?a&&b?a.component===b.component&&va(a,b)&&va(b,a):!1:!0}function va(a,b){for(var c in a)if(!/^(component|left|right|top|bottom)$/.test(c)&&a[c]!==b[c])return!1;return!0}function wa(a){var b=ya(a);return"background"===b||"inverse-background"===b}function xa(a){return"inverse-background"===ya(a)}function ya(a){return X((a.source||{}).rendering,a.rendering)}function za(a){var b,c,d={};for(b=0;b<a.length;b++)c=a[b],(d[c._id]||(d[c._id]=[])).push(c);return d}function Aa(a,b){return a.eventStartMS-b.eventStartMS}function Ba(c){var d,e,f,g,h=Pa.dataAttrPrefix;return h&&(h+="-"),d=c.data(h+"event")||null,d&&(d="object"==typeof d?a.extend({},d):{},e=d.start,null==e&&(e=d.time),f=d.duration,g=d.stick,delete d.start,delete d.time,delete d.duration,delete d.stick),null==e&&(e=c.data(h+"start")),null==e&&(e=c.data(h+"time")),null==f&&(f=c.data(h+"duration")),null==g&&(g=c.data(h+"stick")),e=null!=e?b.duration(e):null,f=null!=f?b.duration(f):null,g=Boolean(g),{eventProps:d,startTime:e,duration:f,stick:g}}function Ca(a,b){var c,d;for(c=0;c<b.length;c++)if(d=b[c],d.leftCol<=a.rightCol&&d.rightCol>=a.leftCol)return!0;return!1}function Da(a,b){return a.leftCol-b.leftCol}function Ea(a){var b,c,d,e=[];for(b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Ha(c,e[d]).length;d++);c.level=d,(e[d]||(e[d]=[])).push(c)}return e}function Fa(a){var b,c,d,e,f;for(b=0;b<a.length;b++)for(c=a[b],d=0;d<c.length;d++)for(e=c[d],e.forwardSegs=[],f=b+1;f<a.length;f++)Ha(e,a[f],e.forwardSegs)}function Ga(a){var b,c,d=a.forwardSegs,e=0;if(void 0===a.forwardPressure){for(b=0;b<d.length;b++)c=d[b],Ga(c),e=Math.max(e,1+c.forwardPressure);a.forwardPressure=e}}function Ha(a,b,c){c=c||[];for(var d=0;d<b.length;d++)Ia(a,b[d])&&c.push(b[d]);return c}function Ia(a,b){return a.bottom>b.top&&a.top<b.bottom}function Ja(c,d){function e(){U?h()&&(k(),i()):f()}function f(){V=O.theme?"ui":"fc",c.addClass("fc"),O.isRTL?c.addClass("fc-rtl"):c.addClass("fc-ltr"),O.theme?c.addClass("ui-widget"):c.addClass("fc-unthemed"),U=a("<div class='fc-view-container'/>").prependTo(c),S=N.header=new Ma(N,O),T=S.render(),T&&c.prepend(T),i(O.defaultView),O.handleWindowResize&&(Y=da(m,O.windowResizeDelay),a(window).resize(Y))}function g(){W&&W.removeElement(),S.removeElement(),U.remove(),c.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"),Y&&a(window).unbind("resize",Y)}function h(){return c.is(":visible")}function i(b){ca++,W&&b&&W.type!==b&&(S.deactivateButton(W.type),H(),W.removeElement(),W=N.view=null),!W&&b&&(W=N.view=ba[b]||(ba[b]=N.instantiateView(b)),W.setElement(a("<div class='fc-view fc-"+b+"-view' />").appendTo(U)),S.activateButton(b)),W&&(Z=W.massageCurrentDate(Z),W.displaying&&Z.isWithin(W.intervalStart,W.intervalEnd)||h()&&(H(),W.display(Z),I(),u(),v(),q())),I(),ca--}function j(a){return h()?(a&&l(),ca++,W.updateSize(!0),ca--,!0):void 0}function k(){h()&&l()}function l(){X="number"==typeof O.contentHeight?O.contentHeight:"number"==typeof O.height?O.height-(T?T.outerHeight(!0):0):Math.round(U.width()/Math.max(O.aspectRatio,.5))}function m(a){!ca&&a.target===window&&W.start&&j(!0)&&W.trigger("windowResize",aa)}function n(){p(),r()}function o(){h()&&(H(),W.displayEvents(ea),I())}function p(){H(),W.clearEvents(),I()}function q(){!O.lazyFetching||$(W.start,W.end)?r():o()}function r(){_(W.start,W.end)}function s(a){ea=a,o()}function t(){o()}function u(){S.updateTitle(W.title)}function v(){var a=N.getNow();a.isWithin(W.intervalStart,W.intervalEnd)?S.disableButton("today"):S.enableButton("today")}function w(a,b){W.select(N.buildSelectRange.apply(N,arguments))}function x(){W&&W.unselect()}function y(){Z=W.computePrevDate(Z),i()}function z(){Z=W.computeNextDate(Z),i()}function A(){Z.add(-1,"years"),i()}function B(){Z.add(1,"years"),i()}function C(){Z=N.getNow(),i()}function D(a){Z=N.moment(a),i()}function E(a){Z.add(b.duration(a)),i()}function F(a,b){var c;b=b||"day",c=N.getViewSpec(b)||N.getUnitViewSpec(b),Z=a,i(c?c.type:null)}function G(){return Z.clone()}function H(){U.css({width:"100%",height:U.height(),overflow:"hidden"})}function I(){U.css({width:"",height:"",overflow:""})}function J(){return N}function K(){return W}function L(a,b){return void 0===b?O[a]:void(("height"==a||"contentHeight"==a||"aspectRatio"==a)&&(O[a]=b,j(!0)))}function M(a,b){var c=Array.prototype.slice.call(arguments,2);return b=b||aa,this.triggerWith(a,b,c),O[a]?O[a].apply(b,c):void 0}var N=this;N.initOptions(d||{});var O=this.options;N.render=e,N.destroy=g,N.refetchEvents=n,N.reportEvents=s,N.reportEventChange=t,N.rerenderEvents=o,N.changeView=i,N.select=w,N.unselect=x,N.prev=y,N.next=z,N.prevYear=A,N.nextYear=B,N.today=C,N.gotoDate=D,N.incrementDate=E,N.zoomTo=F,N.getDate=G,N.getCalendar=J,N.getView=K,N.option=L,N.trigger=M;var P=R(La(O.lang));if(O.monthNames&&(P._months=O.monthNames),O.monthNamesShort&&(P._monthsShort=O.monthNamesShort),O.dayNames&&(P._weekdays=O.dayNames),O.dayNamesShort&&(P._weekdaysShort=O.dayNamesShort),null!=O.firstDay){var Q=R(P._week);Q.dow=O.firstDay,P._week=Q}P._fullCalendar_weekCalc=function(a){return"function"==typeof a?a:"local"===a?a:"iso"===a||"ISO"===a?"ISO":void 0}(O.weekNumberCalculation),N.defaultAllDayEventDuration=b.duration(O.defaultAllDayEventDuration),N.defaultTimedEventDuration=b.duration(O.defaultTimedEventDuration),N.moment=function(){var a;return"local"===O.timezone?(a=Pa.moment.apply(null,arguments),a.hasTime()&&a.local()):a="UTC"===O.timezone?Pa.moment.utc.apply(null,arguments):Pa.moment.parseZone.apply(null,arguments),"_locale"in a?a._locale=P:a._lang=P,a},N.getIsAmbigTimezone=function(){return"local"!==O.timezone&&"UTC"!==O.timezone},N.rezoneDate=function(a){return N.moment(a.toArray())},N.getNow=function(){var a=O.now;return"function"==typeof a&&(a=a()),N.moment(a)},N.getEventEnd=function(a){return a.end?a.end.clone():N.getDefaultEventEnd(a.allDay,a.start)},N.getDefaultEventEnd=function(a,b){var c=b.clone();return a?c.stripTime().add(N.defaultAllDayEventDuration):c.add(N.defaultTimedEventDuration),N.getIsAmbigTimezone()&&c.stripZone(),c},N.humanizeDuration=function(a){return(a.locale||a.lang).call(a,O.lang).humanize()},Na.call(N,O);var S,T,U,V,W,X,Y,Z,$=N.isFetchNeeded,_=N.fetchEvents,aa=c[0],ba={},ca=0,ea=[];Z=null!=O.defaultDate?N.moment(O.defaultDate):N.getNow(),N.getSuggestedViewHeight=function(){return void 0===X&&k(),X},N.isHeightAuto=function(){return"auto"===O.contentHeight||"auto"===O.height},N.initialize()}function Ka(b){a.each(tb,function(a,c){null==b[a]&&(b[a]=c(b))})}function La(a){var c=b.localeData||b.langData;return c.call(b,a)||c.call(b,"en")}function Ma(b,c){function d(){var b=c.header;return n=c.theme?"ui":"fc",b?o=a("<div class='fc-toolbar'/>").append(f("left")).append(f("right")).append(f("center")).append('<div class="fc-clear"/>'):void 0}function e(){o.remove(),o=a()}function f(d){var e=a('<div class="fc-'+d+'"/>'),f=c.header[d];return f&&a.each(f.split(" "),function(d){var f,g=a(),h=!0;a.each(this.split(","),function(d,e){var f,i,j,k,l,m,o,q,r,s;"title"==e?(g=g.add(a("<h2>&nbsp;</h2>")),h=!1):((f=(b.options.customButtons||{})[e])?(j=function(a){f.click&&f.click.call(s[0],a)},k="",l=f.text):(i=b.getViewSpec(e))?(j=function(){b.changeView(e)},p.push(e),k=i.buttonTextOverride,l=i.buttonTextDefault):b[e]&&(j=function(){b[e]()},k=(b.overrides.buttonText||{})[e],l=c.buttonText[e]),j&&(m=f?f.themeIcon:c.themeButtonIcons[e],o=f?f.icon:c.buttonIcons[e],q=k?Y(k):m&&c.theme?"<span class='ui-icon ui-icon-"+m+"'></span>":o&&!c.theme?"<span class='fc-icon fc-icon-"+o+"'></span>":Y(l),r=["fc-"+e+"-button",n+"-button",n+"-state-default"],s=a('<button type="button" class="'+r.join(" ")+'">'+q+"</button>").click(function(a){s.hasClass(n+"-state-disabled")||(j(a),(s.hasClass(n+"-state-active")||s.hasClass(n+"-state-disabled"))&&s.removeClass(n+"-state-hover"))}).mousedown(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-down")}).mouseup(function(){s.removeClass(n+"-state-down")}).hover(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-hover")},function(){s.removeClass(n+"-state-hover").removeClass(n+"-state-down")}),g=g.add(s)))}),h&&g.first().addClass(n+"-corner-left").end().last().addClass(n+"-corner-right").end(),g.length>1?(f=a("<div/>"),h&&f.addClass("fc-button-group"),f.append(g),e.append(f)):e.append(g)}),e}function g(a){o.find("h2").text(a)}function h(a){o.find(".fc-"+a+"-button").addClass(n+"-state-active")}function i(a){o.find(".fc-"+a+"-button").removeClass(n+"-state-active")}function j(a){o.find(".fc-"+a+"-button").attr("disabled","disabled").addClass(n+"-state-disabled")}function k(a){o.find(".fc-"+a+"-button").removeAttr("disabled").removeClass(n+"-state-disabled")}function l(){return p}var m=this;m.render=d,m.removeElement=e,m.updateTitle=g,m.activateButton=h,m.deactivateButton=i,m.disableButton=j,m.enableButton=k,m.getViewsWithButtons=l;var n,o=a(),p=[]}function Na(c){function d(a,b){return!M||a.clone().stripZone()<M.clone().stripZone()||b.clone().stripZone()>N.clone().stripZone()}function e(a,b){M=a,N=b,U=[];var c=++S,d=R.length;T=d;for(var e=0;d>e;e++)f(R[e],c)}function f(b,c){g(b,function(d){var e,f,g,h=a.isArray(b.events);if(c==S){if(d)for(e=0;e<d.length;e++)f=d[e],g=h?f:s(f,b),g&&U.push.apply(U,x(g));T--,T||O(U)}})}function g(b,d){var e,f,h=Pa.sourceFetchers;for(e=0;e<h.length;e++){if(f=h[e].call(L,b,M.clone(),N.clone(),c.timezone,d),f===!0)return;if("object"==typeof f)return void g(f,d)}var i=b.events;if(i)a.isFunction(i)?(L.pushLoading(),i.call(L,M.clone(),N.clone(),c.timezone,function(a){d(a),L.popLoading()})):a.isArray(i)?d(i):d();else{var j=b.url;if(j){var k,l=b.success,m=b.error,n=b.complete;k=a.isFunction(b.data)?b.data():b.data;var o=a.extend({},k||{}),p=X(b.startParam,c.startParam),q=X(b.endParam,c.endParam),r=X(b.timezoneParam,c.timezoneParam);p&&(o[p]=M.format()),q&&(o[q]=N.format()),c.timezone&&"local"!=c.timezone&&(o[r]=c.timezone),L.pushLoading(),a.ajax(a.extend({},ub,b,{data:o,success:function(b){b=b||[];var c=W(l,this,arguments);a.isArray(c)&&(b=c),d(b)},error:function(){W(m,this,arguments),d()},complete:function(){W(n,this,arguments),L.popLoading()}}))}else d()}}function h(a){var b=i(a);b&&(R.push(b),T++,f(b,S))}function i(b){var c,d,e=Pa.sourceNormalizers;if(a.isFunction(b)||a.isArray(b)?c={events:b}:"string"==typeof b?c={url:b}:"object"==typeof b&&(c=a.extend({},b)),c){for(c.className?"string"==typeof c.className&&(c.className=c.className.split(/\s+/)):c.className=[],a.isArray(c.events)&&(c.origArray=c.events,c.events=a.map(c.events,function(a){return s(a,c)})),d=0;d<e.length;d++)e[d].call(L,c);return c}}function j(b){R=a.grep(R,function(a){return!k(a,b)}),U=a.grep(U,function(a){return!k(a.source,b)}),O(U)}function k(a,b){return a&&b&&l(a)==l(b)}function l(a){return("object"==typeof a?a.origArray||a.googleCalendarId||a.url||a.events:null)||a}function m(a){a.start=L.moment(a.start),a.end?a.end=L.moment(a.end):a.end=null,y(a,n(a)),O(U)}function n(b){var c={};return a.each(b,function(a,b){o(a)&&void 0!==b&&V(b)&&(c[a]=b)}),c}function o(a){return!/^_|^(id|allDay|start|end)$/.test(a)}function p(a,b){var c,d,e,f=s(a);if(f){for(c=x(f),d=0;d<c.length;d++)e=c[d],e.source||(b&&(Q.events.push(e),e.source=Q),U.push(e));return O(U),c}return[]}function q(b){var c,d;for(null==b?b=function(){return!0}:a.isFunction(b)||(c=b+"",b=function(a){return a._id==c}),U=a.grep(U,b,!0),d=0;d<R.length;d++)a.isArray(R[d].events)&&(R[d].events=a.grep(R[d].events,b,!0));O(U)}function r(b){return a.isFunction(b)?a.grep(U,b):null!=b?(b+="",a.grep(U,function(a){return a._id==b})):U}function s(d,e){var f,g,h,i={};if(c.eventDataTransform&&(d=c.eventDataTransform(d)),e&&e.eventDataTransform&&(d=e.eventDataTransform(d)),a.extend(i,d),e&&(i.source=e),i._id=d._id||(void 0===d.id?"_fc"+vb++:d.id+""),d.className?"string"==typeof d.className?i.className=d.className.split(/\s+/):i.className=d.className:i.className=[],f=d.start||d.date,g=d.end,P(f)&&(f=b.duration(f)),P(g)&&(g=b.duration(g)),d.dow||b.isDuration(f)||b.isDuration(g))i.start=f?b.duration(f):null,i.end=g?b.duration(g):null,i._recurring=!0;else{if(f&&(f=L.moment(f),!f.isValid()))return!1;g&&(g=L.moment(g),g.isValid()||(g=null)),h=d.allDay,void 0===h&&(h=X(e?e.allDayDefault:void 0,c.allDayDefault)),t(f,g,h,i)}return i}function t(a,b,c,d){d.start=a,d.end=b,d.allDay=c,u(d),Oa(d)}function u(a){v(a),a.end&&!a.end.isAfter(a.start)&&(a.end=null),a.end||(c.forceEventDuration?a.end=L.getDefaultEventEnd(a.allDay,a.start):a.end=null)}function v(a){null==a.allDay&&(a.allDay=!(a.start.hasTime()||a.end&&a.end.hasTime())),a.allDay?(a.start.stripTime(),a.end&&a.end.stripTime()):(a.start.hasTime()||(a.start=L.rezoneDate(a.start)),a.end&&!a.end.hasTime()&&(a.end=L.rezoneDate(a.end)))}function w(b){var c;return b.end||(c=b.allDay,null==c&&(c=!b.start.hasTime()),b=a.extend({},b),b.end=L.getDefaultEventEnd(c,b.start)),b}function x(b,c,d){var e,f,g,h,i,j,k,l,m,n=[];if(c=c||M,d=d||N,b)if(b._recurring){if(f=b.dow)for(e={},g=0;g<f.length;g++)e[f[g]]=!0;for(h=c.clone().stripTime();h.isBefore(d);)(!e||e[h.day()])&&(i=b.start,j=b.end,k=h.clone(),l=null,i&&(k=k.time(i)),j&&(l=h.clone().time(j)),m=a.extend({},b),t(k,l,!i&&!j,m),n.push(m)),h.add(1,"days")}else n.push(b);return n}function y(b,c,d){function e(a,b){return d?H(a,b,d):c.allDay?G(a,b):F(a,b)}var f,g,h,i,j,k,l={};return c=c||{},c.start||(c.start=b.start.clone()),void 0===c.end&&(c.end=b.end?b.end.clone():null),null==c.allDay&&(c.allDay=b.allDay),u(c),f={start:b._start.clone(),end:b._end?b._end.clone():L.getDefaultEventEnd(b._allDay,b._start),allDay:c.allDay},u(f),g=null!==b._end&&null===c.end,h=e(c.start,f.start),c.end?(i=e(c.end,f.end),j=i.subtract(h)):j=null,a.each(c,function(a,b){o(a)&&void 0!==b&&(l[a]=b)}),k=z(r(b._id),g,c.allDay,h,j,l),{dateDelta:h,durationDelta:j,undo:k}}function z(b,c,d,e,f,g){var h=L.getIsAmbigTimezone(),i=[];return e&&!e.valueOf()&&(e=null),f&&!f.valueOf()&&(f=null),a.each(b,function(b,j){var k,l;k={start:j.start.clone(),end:j.end?j.end.clone():null,allDay:j.allDay},a.each(g,function(a){k[a]=j[a]}),l={start:j._start,end:j._end,allDay:d},u(l),c?l.end=null:f&&!l.end&&(l.end=L.getDefaultEventEnd(l.allDay,l.start)),e&&(l.start.add(e),l.end&&l.end.add(e)),f&&l.end.add(f),h&&!l.allDay&&(e||f)&&(l.start.stripZone(),l.end&&l.end.stripZone()),a.extend(j,g,l),Oa(j),i.push(function(){a.extend(j,k),Oa(j)})}),function(){for(var a=0;a<i.length;a++)i[a]()}}function A(b){var d,e=c.businessHours,f={className:"fc-nonbusiness",start:"09:00",end:"17:00",dow:[1,2,3,4,5],rendering:"inverse-background"},g=L.getView();return e&&(d=a.extend({},f,"object"==typeof e?e:{})),d?(b&&(d.start=null,d.end=null),x(s(d),g.start,g.end)):[]}function B(a,b){var d=b.source||{},e=X(b.constraint,d.constraint,c.eventConstraint),f=X(b.overlap,d.overlap,c.eventOverlap);return a=w(a),E(a,e,f,b)}function C(a){return E(a,c.selectConstraint,c.selectOverlap)}function D(b,c){var d,e;return c&&(d=a.extend({},c,b),e=x(s(d))[0]),e?B(b,e):(b=w(b),C(b))}function E(b,c,d,e){var f,g,h,i,j,k;if(b=a.extend({},b),b.start=b.start.clone().stripZone(),b.end=b.end.clone().stripZone(),null!=c){for(f=I(c),g=!1,i=0;i<f.length;i++)if(J(f[i],b)){g=!0;break}if(!g)return!1}for(h=L.getPeerEvents(e,b),i=0;i<h.length;i++)if(j=h[i],K(j,b)){if(d===!1)return!1;if("function"==typeof d&&!d(j,e))return!1;if(e){if(k=X(j.overlap,(j.source||{}).overlap),k===!1)return!1;if("function"==typeof k&&!k(e,j))return!1}}return!0}function I(a){return"businessHours"===a?A():"object"==typeof a?x(s(a)):r(a)}function J(a,b){var c=a.start.clone().stripZone(),d=L.getEventEnd(a).stripZone();return b.start>=c&&b.end<=d}function K(a,b){var c=a.start.clone().stripZone(),d=L.getEventEnd(a).stripZone();return b.start<d&&b.end>c}var L=this;L.isFetchNeeded=d,L.fetchEvents=e,L.addEventSource=h,L.removeEventSource=j,L.updateEvent=m,L.renderEvent=p,L.removeEvents=q,L.clientEvents=r,L.mutateEvent=y,L.normalizeEventRange=u,L.normalizeEventRangeTimes=v,L.ensureVisibleEventRange=w;var M,N,O=L.reportEvents,Q={events:[]},R=[Q],S=0,T=0,U=[];a.each((c.events?[c.events]:[]).concat(c.eventSources||[]),function(a,b){var c=i(b);c&&R.push(c)}),L.getBusinessHoursEvents=A,L.isEventRangeAllowed=B,L.isSelectionRangeAllowed=C,L.isExternalDropRangeAllowed=D,L.getEventCache=function(){return U}}function Oa(a){a._allDay=a.allDay,a._start=a.start.clone(),a._end=a.end?a.end.clone():null}var Pa=a.fullCalendar={version:"2.5.0-beta"},Qa=Pa.views={};a.fn.fullCalendar=function(b){var c=Array.prototype.slice.call(arguments,1),d=this;return this.each(function(e,f){var g,h=a(f),i=h.data("fullCalendar");"string"==typeof b?i&&a.isFunction(i[b])&&(g=i[b].apply(i,c),e||(d=g),"destroy"===b&&h.removeData("fullCalendar")):i||(i=new pb(h,b),h.data("fullCalendar",i),i.render())}),d};var Ra=["header","buttonText","buttonIcons","themeButtonIcons"];Pa.intersectionToSeg=E,Pa.applyAll=W,Pa.debounce=da,Pa.isInt=ba,Pa.htmlEscape=Y,Pa.cssToStr=$,Pa.proxy=ca,Pa.capitaliseFirstLetter=_,Pa.getOuterRect=o,Pa.getClientRect=p,Pa.getContentRect=q,Pa.getScrollbarWidths=r;var Sa=null;Pa.intersectRects=w,Pa.parseFieldSpecs=A,Pa.compareByFieldSpecs=B,Pa.compareByFieldSpec=C,Pa.flexibleCompare=D,Pa.computeIntervalUnit=I,Pa.divideRangeByDuration=K,Pa.divideDurationByDuration=L,Pa.multiplyDuration=M,Pa.durationHasTime=N;var Ta=["sun","mon","tue","wed","thu","fri","sat"],Ua=["year","month","week","day","hour","minute","second","millisecond"];Pa.log=function(){var a=window.console;return a&&a.log?a.log.apply(a,arguments):void 0},Pa.warn=function(){var a=window.console;return a&&a.warn?a.warn.apply(a,arguments):Pa.log.apply(Pa,arguments)};var Va,Wa,Xa,Ya={}.hasOwnProperty,Za=/^\s*\d{4}-\d\d$/,$a=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,_a=b.fn,ab=a.extend({},_a);Pa.moment=function(){return ea(arguments)},Pa.moment.utc=function(){var a=ea(arguments,!0);return a.hasTime()&&a.utc(),a},Pa.moment.parseZone=function(){return ea(arguments,!0,!0)},_a.clone=function(){var a=ab.clone.apply(this,arguments);return ga(this,a),this._fullCalendar&&(a._fullCalendar=!0),a},_a.week=_a.weeks=function(a){var b=(this._locale||this._lang)._fullCalendar_weekCalc;return null==a&&"function"==typeof b?b(this):"ISO"===b?ab.isoWeek.apply(this,arguments):ab.week.apply(this,arguments)},_a.time=function(a){if(!this._fullCalendar)return ab.time.apply(this,arguments);if(null==a)return b.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,b.isDuration(a)||b.isMoment(a)||(a=b.duration(a));var c=0;return b.isDuration(a)&&(c=24*Math.floor(a.asDays())),this.hours(c+a.hours()).minutes(a.minutes()).seconds(a.seconds()).milliseconds(a.milliseconds())},_a.stripTime=function(){var a;return this._ambigTime||(a=this.toArray(),this.utc(),Wa(this,a.slice(0,3)),this._ambigTime=!0,this._ambigZone=!0),this},_a.hasTime=function(){return!this._ambigTime},_a.stripZone=function(){var a,b;return this._ambigZone||(a=this.toArray(),b=this._ambigTime,this.utc(),Wa(this,a),this._ambigTime=b||!1,this._ambigZone=!0),this},_a.hasZone=function(){return!this._ambigZone},_a.local=function(){var a=this.toArray(),b=this._ambigZone;return ab.local.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,b&&Xa(this,a),this},_a.utc=function(){return ab.utc.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,this},a.each(["zone","utcOffset"],function(a,b){ab[b]&&(_a[b]=function(a){return null!=a&&(this._ambigTime=!1,this._ambigZone=!1),ab[b].apply(this,arguments)})}),_a.format=function(){return this._fullCalendar&&arguments[0]?ja(this,arguments[0]):this._ambigTime?ia(this,"YYYY-MM-DD"):this._ambigZone?ia(this,"YYYY-MM-DD[T]HH:mm:ss"):ab.format.apply(this,arguments)},_a.toISOString=function(){return this._ambigTime?ia(this,"YYYY-MM-DD"):this._ambigZone?ia(this,"YYYY-MM-DD[T]HH:mm:ss"):ab.toISOString.apply(this,arguments)},_a.isWithin=function(a,b){var c=fa([this,a,b]);return c[0]>=c[1]&&c[0]<c[2]},_a.isSame=function(a,b){var c;return this._fullCalendar?b?(c=fa([this,a],!0),ab.isSame.call(c[0],c[1],b)):(a=Pa.moment.parseZone(a),ab.isSame.call(this,a)&&Boolean(this._ambigTime)===Boolean(a._ambigTime)&&Boolean(this._ambigZone)===Boolean(a._ambigZone)):ab.isSame.apply(this,arguments)},a.each(["isBefore","isAfter"],function(a,b){_a[b]=function(a,c){var d;return this._fullCalendar?(d=fa([this,a]),ab[b].call(d[0],d[1],c)):ab[b].apply(this,arguments)}}),Va="_d"in b()&&"updateOffset"in b,Wa=Va?function(a,c){a._d.setTime(Date.UTC.apply(Date,c)),b.updateOffset(a,!1)}:ha,Xa=Va?function(a,c){a._d.setTime(+new Date(c[0]||0,c[1]||0,c[2]||0,c[3]||0,c[4]||0,c[5]||0,c[6]||0)),b.updateOffset(a,!1)}:ha;var bb={t:function(a){return ia(a,"a").charAt(0)},T:function(a){return ia(a,"A").charAt(0)}};Pa.formatRange=ma;var cb={Y:"year",M:"month",D:"day",d:"day",A:"second",a:"second",T:"second",t:"second",H:"second",h:"second",m:"second",s:"second"},db={};Pa.Class=ra,ra.extend=function(){var a,b,c=arguments.length;for(a=0;c>a;a++)b=arguments[a],c-1>a&&ta(this,b);return sa(this,b||{})},ra.mixin=function(a){ta(this,a)};var eb=Pa.Emitter=ra.extend({callbackHash:null,on:function(a,b){return this.getCallbacks(a).add(b),this},off:function(a,b){return this.getCallbacks(a).remove(b),this},trigger:function(a){var b=Array.prototype.slice.call(arguments,1);return this.triggerWith(a,this,b),this},triggerWith:function(a,b,c){var d=this.getCallbacks(a);return d.fireWith(b,c),this},getCallbacks:function(b){var c;return this.callbackHash||(this.callbackHash={}),c=this.callbackHash[b],c||(c=this.callbackHash[b]=a.Callbacks()),c}}),fb=ra.extend({isHidden:!0,options:null,el:null,documentMousedownProxy:null,margin:10,constructor:function(a){this.options=a||{}},show:function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var b=this,c=this.options;this.el=a('<div class="fc-popover"/>').addClass(c.className||"").css({top:0,left:0}).append(c.content).appendTo(c.parentEl),this.el.on("click",".fc-close",function(){b.hide()}),c.autoHide&&a(document).on("mousedown",this.documentMousedownProxy=ca(this,"documentMousedown"))},documentMousedown:function(b){this.el&&!a(b.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),a(document).off("mousedown",this.documentMousedownProxy)},position:function(){var b,c,d,e,f,g=this.options,h=this.el.offsetParent().offset(),i=this.el.outerWidth(),j=this.el.outerHeight(),k=a(window),l=n(this.el);e=g.top||0,f=void 0!==g.left?g.left:void 0!==g.right?g.right-i:0,l.is(window)||l.is(document)?(l=k,b=0,c=0):(d=l.offset(),b=d.top,c=d.left),b+=k.scrollTop(),c+=k.scrollLeft(),g.viewportConstrain!==!1&&(e=Math.min(e,b+l.outerHeight()-j-this.margin),
+e=Math.max(e,b+this.margin),f=Math.min(f,c+l.outerWidth()-i-this.margin),f=Math.max(f,c+this.margin)),this.el.css({top:e-h.top,left:f-h.left})},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1))}}),gb=Pa.CoordCache=ra.extend({els:null,origin:null,boundingRect:null,isHorizontal:!1,isVertical:!1,lefts:null,rights:null,tops:null,bottoms:null,constructor:function(b){this.els=a(b.els),this.isHorizontal=b.isHorizontal,this.isVertical=b.isVertical},build:function(){this.origin=this.els.eq(0).offsetParent().offset(),this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},clear:function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},queryBoundingRect:function(){var a=n(this.els.eq(0));return a.is(document)?void 0:p(a)},buildElHorizontals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().left,h=f.outerWidth();b.push(g),c.push(g+h)}),this.lefts=b,this.rights=c},buildElVerticals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().top,h=f.outerHeight();b.push(g),c.push(g+h)}),this.tops=b,this.bottoms=c},getHorizontalIndex:function(a){var b,c=this.boundingRect,d=this.lefts,e=this.rights,f=d.length;if(!c||a>=c.left&&a<c.right)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getVerticalIndex:function(a){var b,c=this.boundingRect,d=this.tops,e=this.bottoms,f=d.length;if(!c||a>=c.top&&a<c.bottom)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getLeftOffset:function(a){return this.lefts[a]},getLeftPosition:function(a){return this.lefts[a]-this.origin.left},getRightOffset:function(a){return this.rights[a]},getRightPosition:function(a){return this.rights[a]-this.origin.left},getWidth:function(a){return this.rights[a]-this.lefts[a]},getTopOffset:function(a){return this.tops[a]},getTopPosition:function(a){return this.tops[a]-this.origin.top},getBottomOffset:function(a){return this.bottoms[a]},getBottomPosition:function(a){return this.bottoms[a]-this.origin.top},getHeight:function(a){return this.bottoms[a]-this.tops[a]}}),hb=Pa.DragListener=ra.extend({options:null,isListening:!1,isDragging:!1,originX:null,originY:null,mousemoveProxy:null,mouseupProxy:null,subjectEl:null,subjectHref:null,scrollEl:null,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollHandlerProxy:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,constructor:function(a){a=a||{},this.options=a,this.subjectEl=a.subjectEl},mousedown:function(a){v(a)&&(a.preventDefault(),this.startListening(a),this.options.distance||this.startDrag(a))},startListening:function(b){var c;this.isListening||(b&&this.options.scroll&&(c=n(a(b.target)),c.is(window)||c.is(document)||(this.scrollEl=c,this.scrollHandlerProxy=da(ca(this,"scrollHandler"),100),this.scrollEl.on("scroll",this.scrollHandlerProxy))),a(document).on("mousemove",this.mousemoveProxy=ca(this,"mousemove")).on("mouseup",this.mouseupProxy=ca(this,"mouseup")).on("selectstart",this.preventDefault),b?(this.originX=b.pageX,this.originY=b.pageY):(this.originX=0,this.originY=0),this.isListening=!0,this.listenStart(b))},listenStart:function(a){this.trigger("listenStart",a)},mousemove:function(a){var b,c,d=a.pageX-this.originX,e=a.pageY-this.originY;this.isDragging||(b=this.options.distance||1,c=d*d+e*e,c>=b*b&&this.startDrag(a)),this.isDragging&&this.drag(d,e,a)},startDrag:function(a){this.isListening||this.startListening(),this.isDragging||(this.isDragging=!0,this.dragStart(a))},dragStart:function(a){var b=this.subjectEl;this.trigger("dragStart",a),(this.subjectHref=b?b.attr("href"):null)&&b.removeAttr("href")},drag:function(a,b,c){this.trigger("drag",a,b,c),this.updateScroll(c)},mouseup:function(a){this.stopListening(a)},stopDrag:function(a){this.isDragging&&(this.stopScrolling(),this.dragStop(a),this.isDragging=!1)},dragStop:function(a){var b=this;this.trigger("dragStop",a),setTimeout(function(){b.subjectHref&&b.subjectEl.attr("href",b.subjectHref)},0)},stopListening:function(b){this.stopDrag(b),this.isListening&&(this.scrollEl&&(this.scrollEl.off("scroll",this.scrollHandlerProxy),this.scrollHandlerProxy=null),a(document).off("mousemove",this.mousemoveProxy).off("mouseup",this.mouseupProxy).off("selectstart",this.preventDefault),this.mousemoveProxy=null,this.mouseupProxy=null,this.isListening=!1,this.listenStop(b))},listenStop:function(a){this.trigger("listenStop",a)},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1))},preventDefault:function(a){a.preventDefault()},computeScrollBounds:function(){var a=this.scrollEl;this.scrollBounds=a?o(a):null},updateScroll:function(a){var b,c,d,e,f=this.scrollSensitivity,g=this.scrollBounds,h=0,i=0;g&&(b=(f-(a.pageY-g.top))/f,c=(f-(g.bottom-a.pageY))/f,d=(f-(a.pageX-g.left))/f,e=(f-(g.right-a.pageX))/f,b>=0&&1>=b?h=b*this.scrollSpeed*-1:c>=0&&1>=c&&(h=c*this.scrollSpeed),d>=0&&1>=d?i=d*this.scrollSpeed*-1:e>=0&&1>=e&&(i=e*this.scrollSpeed)),this.setScrollVel(h,i)},setScrollVel:function(a,b){this.scrollTopVel=a,this.scrollLeftVel=b,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(ca(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var a=this.scrollEl;this.scrollTopVel<0?a.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&a.scrollTop()+a[0].clientHeight>=a[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?a.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&a.scrollLeft()+a[0].clientWidth>=a[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var a=this.scrollEl,b=this.scrollIntervalMs/1e3;this.scrollTopVel&&a.scrollTop(a.scrollTop()+this.scrollTopVel*b),this.scrollLeftVel&&a.scrollLeft(a.scrollLeft()+this.scrollLeftVel*b),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.stopScrolling()},stopScrolling:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.scrollStop())},scrollHandler:function(){this.scrollIntervalId||this.scrollStop()},scrollStop:function(){}}),ib=hb.extend({component:null,origHit:null,hit:null,coordAdjust:null,constructor:function(a,b){hb.call(this,b),this.component=a},listenStart:function(a){var b,c,d,e=this.subjectEl;hb.prototype.listenStart.apply(this,arguments),this.computeCoords(),a?(c={left:a.pageX,top:a.pageY},d=c,e&&(b=o(e),d=x(d,b)),this.origHit=this.queryHit(d.left,d.top),e&&this.options.subjectCenter&&(this.origHit&&(b=w(this.origHit,b)||b),d=y(b)),this.coordAdjust=z(d,c)):(this.origHit=null,this.coordAdjust=null)},computeCoords:function(){this.component.prepareHits(),this.computeScrollBounds()},dragStart:function(a){var b;hb.prototype.dragStart.apply(this,arguments),b=this.queryHit(a.pageX,a.pageY),b&&this.hitOver(b)},drag:function(a,b,c){var d;hb.prototype.drag.apply(this,arguments),d=this.queryHit(c.pageX,c.pageY),ua(d,this.hit)||(this.hit&&this.hitOut(),d&&this.hitOver(d))},dragStop:function(){this.hitDone(),hb.prototype.dragStop.apply(this,arguments)},hitOver:function(a){var b=ua(a,this.origHit);this.hit=a,this.trigger("hitOver",this.hit,b,this.origHit)},hitOut:function(){this.hit&&(this.trigger("hitOut",this.hit),this.hitDone(),this.hit=null)},hitDone:function(){this.hit&&this.trigger("hitDone",this.hit)},listenStop:function(){hb.prototype.listenStop.apply(this,arguments),this.origHit=null,this.hit=null,this.component.releaseHits()},scrollStop:function(){hb.prototype.scrollStop.apply(this,arguments),this.computeCoords()},queryHit:function(a,b){return this.coordAdjust&&(a+=this.coordAdjust.left,b+=this.coordAdjust.top),this.component.queryHit(a,b)}}),jb=ra.extend({options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,mouseY0:null,mouseX0:null,topDelta:null,leftDelta:null,mousemoveProxy:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(b,c){this.options=c=c||{},this.sourceEl=b,this.parentEl=c.parentEl?a(c.parentEl):b.parent()},start:function(b){this.isFollowing||(this.isFollowing=!0,this.mouseY0=b.pageY,this.mouseX0=b.pageX,this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),a(document).on("mousemove",this.mousemoveProxy=ca(this,"mousemove")))},stop:function(b,c){function d(){this.isAnimating=!1,e.removeElement(),this.top0=this.left0=null,c&&c()}var e=this,f=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,a(document).off("mousemove",this.mousemoveProxy),b&&f&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:f,complete:d})):d())},getEl:function(){var a=this.el;return a||(this.sourceEl.width(),a=this.el=this.sourceEl.clone().css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}).appendTo(this.parentEl)),a},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var a,b;this.getEl(),null===this.top0&&(this.sourceEl.width(),a=this.sourceEl.offset(),b=this.el.offsetParent().offset(),this.top0=a.top-b.top,this.left0=a.left-b.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},mousemove:function(a){this.topDelta=a.pageY-this.mouseY0,this.leftDelta=a.pageX-this.mouseX0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),kb=Pa.Grid=ra.extend({view:null,isRTL:null,start:null,end:null,el:null,elsByFill:null,externalDragStartProxy:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,minResizeDuration:null,largeUnit:null,constructor:function(a){this.view=a,this.isRTL=a.opt("isRTL"),this.elsByFill={},this.externalDragStartProxy=ca(this,"externalDragStart")},computeEventTimeFormat:function(){return this.view.opt("smallTimeFormat")},computeDisplayEventTime:function(){return!0},computeDisplayEventEnd:function(){return!0},setRange:function(a){this.start=a.start.clone(),this.end=a.end.clone(),this.rangeUpdated(),this.processRangeOptions()},rangeUpdated:function(){},processRangeOptions:function(){var a,b,c=this.view;this.eventTimeFormat=c.opt("eventTimeFormat")||c.opt("timeFormat")||this.computeEventTimeFormat(),a=c.opt("displayEventTime"),null==a&&(a=this.computeDisplayEventTime()),b=c.opt("displayEventEnd"),null==b&&(b=this.computeDisplayEventEnd()),this.displayEventTime=a,this.displayEventEnd=b},rangeToSegs:function(a){},diffDates:function(a,b){return this.largeUnit?H(a,b,this.largeUnit):F(a,b)},prepareHits:function(){},releaseHits:function(){},queryHit:function(a,b){},getHitSpan:function(a){},getHitEl:function(a){},setElement:function(b){var c=this;this.el=b,b.on("mousedown",function(b){a(b.target).is(".fc-event-container *, .fc-more")||a(b.target).closest(".fc-popover").length||c.dayMousedown(b)}),this.bindSegHandlers(),this.bindGlobalHandlers()},removeElement:function(){this.unbindGlobalHandlers(),this.el.remove()},renderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},bindGlobalHandlers:function(){a(document).on("dragstart sortstart",this.externalDragStartProxy)},unbindGlobalHandlers:function(){a(document).off("dragstart sortstart",this.externalDragStartProxy)},dayMousedown:function(a){var b,c,d=this,e=this.view,f=e.opt("selectable"),i=new ib(this,{scroll:e.opt("dragScroll"),dragStart:function(){e.unselect()},hitOver:function(a,e,h){h&&(b=e?a:null,f&&(c=d.computeSelection(d.getHitSpan(h),d.getHitSpan(a)),c?d.renderSelection(c):c===!1&&g()))},hitOut:function(){b=null,c=null,d.unrenderSelection(),h()},listenStop:function(a){b&&e.triggerDayClick(d.getHitSpan(b).start,d.getHitEl(b),a),c&&e.reportSelection(c,a),h()}});i.mousedown(a)},renderRangeHelper:function(a,b){var c=this.fabricateHelperEvent(a,b);this.renderHelper(c,b)},fabricateHelperEvent:function(a,b){var c=b?R(b.event):{};return c.start=a.start.clone(),c.end=a.end?a.end.clone():null,c.allDay=null,this.view.calendar.normalizeEventRange(c),c.className=(c.className||[]).concat("fc-helper"),b||(c.editable=!1),c},renderHelper:function(a,b){},unrenderHelper:function(){},renderSelection:function(a){this.renderHighlight(this.selectionRangeToSegs(a))},unrenderSelection:function(){this.unrenderHighlight()},computeSelection:function(a,b){var c,d=[a.start,a.end,b.start,b.end];return d.sort(aa),c={start:d[0].clone(),end:d[3].clone()},this.view.calendar.isSelectionRangeAllowed(c)?c:!1},selectionRangeToSegs:function(a){return this.rangeToSegs(a)},renderHighlight:function(a){this.renderFill("highlight",a)},unrenderHighlight:function(){this.unrenderFill("highlight")},highlightSegClasses:function(){return["fc-highlight"]},renderFill:function(a,b){},unrenderFill:function(a){var b=this.elsByFill[a];b&&(b.remove(),delete this.elsByFill[a])},renderFillSegEls:function(b,c){var d,e=this,f=this[b+"SegEl"],g="",h=[];if(c.length){for(d=0;d<c.length;d++)g+=this.fillSegHtml(b,c[d]);a(g).each(function(b,d){var g=c[b],i=a(d);f&&(i=f.call(e,g,i)),i&&(i=a(i),i.is(e.fillSegTag)&&(g.el=i,h.push(g)))})}return h},fillSegTag:"div",fillSegHtml:function(a,b){var c=this[a+"SegClasses"],d=this[a+"SegCss"],e=c?c.call(this,b):[],f=$(d?d.call(this,b):{});return"<"+this.fillSegTag+(e.length?' class="'+e.join(" ")+'"':"")+(f?' style="'+f+'"':"")+" />"},getDayClasses:function(a){var b=this.view,c=b.calendar.getNow().stripTime(),d=["fc-"+Ta[a.day()]];return 1==b.intervalDuration.as("months")&&a.month()!=b.intervalStart.month()&&d.push("fc-other-month"),a.isSame(c,"day")?d.push("fc-today",b.highlightStateClass):c>a?d.push("fc-past"):d.push("fc-future"),d}});kb.mixin({mousedOverSeg:null,isDraggingSeg:!1,isResizingSeg:!1,isDraggingExternal:!1,segs:null,renderEvents:function(a){var b,c,d=this.eventsToSegs(a),e=[],f=[];for(b=0;b<d.length;b++)c=d[b],wa(c.event)?e.push(c):f.push(c);e=this.renderBgSegs(e)||e,f=this.renderFgSegs(f)||f,this.segs=e.concat(f)},unrenderEvents:function(){this.triggerSegMouseout(),this.unrenderFgSegs(),this.unrenderBgSegs(),this.segs=null},getEventSegs:function(){return this.segs||[]},renderFgSegs:function(a){},unrenderFgSegs:function(){},renderFgSegEls:function(b,c){var d,e=this.view,f="",g=[];if(b.length){for(d=0;d<b.length;d++)f+=this.fgSegHtml(b[d],c);a(f).each(function(c,d){var f=b[c],h=e.resolveEventEl(f.event,a(d));h&&(h.data("fc-seg",f),f.el=h,g.push(f))})}return g},fgSegHtml:function(a,b){},renderBgSegs:function(a){return this.renderFill("bgEvent",a)},unrenderBgSegs:function(){this.unrenderFill("bgEvent")},bgEventSegEl:function(a,b){return this.view.resolveEventEl(a.event,b)},bgEventSegClasses:function(a){var b=a.event,c=b.source||{};return["fc-bgevent"].concat(b.className,c.className||[])},bgEventSegCss:function(a){var b=this.view,c=a.event,d=c.source||{};return{"background-color":c.backgroundColor||c.color||d.backgroundColor||d.color||b.opt("eventBackgroundColor")||b.opt("eventColor")}},businessHoursSegClasses:function(a){return["fc-nonbusiness","fc-bgevent"]},bindSegHandlers:function(){var b=this,c=this.view;a.each({mouseenter:function(a,c){b.triggerSegMouseover(a,c)},mouseleave:function(a,c){b.triggerSegMouseout(a,c)},click:function(a,b){return c.trigger("eventClick",this,a.event,b)},mousedown:function(d,e){a(e.target).is(".fc-resizer")&&c.isEventResizable(d.event)?b.segResizeMousedown(d,e,a(e.target).is(".fc-start-resizer")):c.isEventDraggable(d.event)&&b.segDragMousedown(d,e)}},function(c,d){b.el.on(c,".fc-event-container > *",function(c){var e=a(this).data("fc-seg");return!e||b.isDraggingSeg||b.isResizingSeg?void 0:d.call(this,e,c)})})},triggerSegMouseover:function(a,b){this.mousedOverSeg||(this.mousedOverSeg=a,this.view.trigger("eventMouseover",a.el[0],a.event,b))},triggerSegMouseout:function(a,b){b=b||{},this.mousedOverSeg&&(a=a||this.mousedOverSeg,this.mousedOverSeg=null,this.view.trigger("eventMouseout",a.el[0],a.event,b))},segDragMousedown:function(a,b){var c,d=this,e=this.view,f=e.calendar,i=a.el,j=a.event,k=new jb(a.el,{parentEl:e.el,opacity:e.opt("dragOpacity"),revertDuration:e.opt("dragRevertDuration"),zIndex:2}),l=new ib(e,{distance:5,scroll:e.opt("dragScroll"),subjectEl:i,subjectCenter:!0,listenStart:function(a){k.hide(),k.start(a)},dragStart:function(b){d.triggerSegMouseout(a,b),d.segDragStart(a,b),e.hideEvent(j)},hitOver:function(b,h,i){a.hit&&(i=a.hit),c=d.computeEventDrop(i.component.getHitSpan(i),b.component.getHitSpan(b),j),c&&!f.isEventRangeAllowed(c,j)&&(g(),c=null),c&&e.renderDrag(c,a)?k.hide():k.show(),h&&(c=null)},hitOut:function(){e.unrenderDrag(),k.show(),c=null},hitDone:function(){h()},dragStop:function(b){k.stop(!c,function(){e.unrenderDrag(),e.showEvent(j),d.segDragStop(a,b),c&&e.reportEventDrop(j,c,this.largeUnit,i,b)})},listenStop:function(){k.stop()}});l.mousedown(b)},segDragStart:function(a,b){this.isDraggingSeg=!0,this.view.trigger("eventDragStart",a.el[0],a.event,b,{})},segDragStop:function(a,b){this.isDraggingSeg=!1,this.view.trigger("eventDragStop",a.el[0],a.event,b,{})},computeEventDrop:function(a,b,c){var d,e,f=this.view.calendar,g=a.start,h=b.start;return g.hasTime()===h.hasTime()?(d=this.diffDates(h,g),c.allDay&&N(d)?(e={start:c.start.clone(),end:f.getEventEnd(c),allDay:!1},f.normalizeEventRangeTimes(e)):e={start:c.start.clone(),end:c.end?c.end.clone():null,allDay:c.allDay},e.start.add(d),e.end&&e.end.add(d)):e={start:h.clone(),end:null,allDay:!h.hasTime()},e},applyDragOpacity:function(a){var b=this.view.opt("dragOpacity");null!=b&&a.each(function(a,c){c.style.opacity=b})},externalDragStart:function(b,c){var d,e,f=this.view;f.opt("droppable")&&(d=a((c?c.item:null)||b.target),e=f.opt("dropAccept"),(a.isFunction(e)?e.call(d[0],d):d.is(e))&&(this.isDraggingExternal||this.listenToExternalDrag(d,b,c)))},listenToExternalDrag:function(a,b,c){var d,e=this,f=Ba(a),i=new ib(this,{listenStart:function(){e.isDraggingExternal=!0},hitOver:function(a){d=e.computeExternalDrop(a.component.getHitSpan(a),f),d?e.renderDrag(d):g()},hitOut:function(){d=null,e.unrenderDrag(),h()},dragStop:function(){e.unrenderDrag(),h(),d&&e.view.reportExternalDrop(f,d,a,b,c)},listenStop:function(){e.isDraggingExternal=!1}});i.startDrag(b)},computeExternalDrop:function(a,b){var c={start:a.start,end:null};return b.startTime&&!c.start.hasTime()&&c.start.time(b.startTime),b.duration&&(c.end=c.start.clone().add(b.duration)),this.view.calendar.isExternalDropRangeAllowed(c,b.eventProps)?c:null},renderDrag:function(a,b){},unrenderDrag:function(){},segResizeMousedown:function(a,b,c){var d,e=this,f=this.view,i=f.calendar,j=a.el,k=a.event,l=i.getEventEnd(k),m=new ib(this,{distance:5,scroll:f.opt("dragScroll"),subjectEl:j,dragStart:function(b){e.triggerSegMouseout(a,b),e.segResizeStart(a,b)},hitOver:function(b,h,j){var m=e.getHitSpan(j),n=e.getHitSpan(b);d=c?e.computeEventStartResize(m,n,k):e.computeEventEndResize(m,n,k),d&&(i.isEventRangeAllowed(d,k)?d.start.isSame(k.start)&&d.end.isSame(l)&&(d=null):(g(),d=null)),d&&(f.hideEvent(k),e.renderEventResize(d,a))},hitOut:function(){d=null},hitDone:function(){e.unrenderEventResize(),f.showEvent(k),h()},dragStop:function(b){e.segResizeStop(a,b),d&&f.reportEventResize(k,d,this.largeUnit,j,b)}});m.mousedown(b)},segResizeStart:function(a,b){this.isResizingSeg=!0,this.view.trigger("eventResizeStart",a.el[0],a.event,b,{})},segResizeStop:function(a,b){this.isResizingSeg=!1,this.view.trigger("eventResizeStop",a.el[0],a.event,b,{})},computeEventStartResize:function(a,b,c){return this.computeEventResize("start",a,b,c)},computeEventEndResize:function(a,b,c){return this.computeEventResize("end",a,b,c)},computeEventResize:function(a,b,c,d){var e,f,g=this.view.calendar,h=this.diffDates(c[a],b[a]);return e={start:d.start.clone(),end:g.getEventEnd(d),allDay:d.allDay},e.allDay&&N(h)&&(e.allDay=!1,g.normalizeEventRangeTimes(e)),e[a].add(h),e.start.isBefore(e.end)||(f=this.minResizeDuration||(d.allDay?g.defaultAllDayEventDuration:g.defaultTimedEventDuration),"start"==a?e.start=e.end.clone().subtract(f):e.end=e.start.clone().add(f)),e},renderEventResize:function(a,b){},unrenderEventResize:function(){},getEventTimeText:function(a,b,c){return null==b&&(b=this.eventTimeFormat),null==c&&(c=this.displayEventEnd),this.displayEventTime&&a.start.hasTime()?c&&a.end?this.view.formatRange(a,b):a.start.format(b):""},getSegClasses:function(a,b,c){var d=a.event,e=["fc-event",a.isStart?"fc-start":"fc-not-start",a.isEnd?"fc-end":"fc-not-end"].concat(d.className,d.source?d.source.className:[]);return b&&e.push("fc-draggable"),c&&e.push("fc-resizable"),e},getEventSkinCss:function(a){var b=this.view,c=a.source||{},d=a.color,e=c.color,f=b.opt("eventColor");return{"background-color":a.backgroundColor||d||c.backgroundColor||e||b.opt("eventBackgroundColor")||f,"border-color":a.borderColor||d||c.borderColor||e||b.opt("eventBorderColor")||f,color:a.textColor||c.textColor||b.opt("eventTextColor")}},eventsToSegs:function(a,b){var c,d=this.eventsToRanges(a),e=[];for(c=0;c<d.length;c++)e.push.apply(e,this.eventRangeToSegs(d[c],b));return e},eventsToRanges:function(b){var c=this,d=za(b),e=[];return a.each(d,function(a,b){b.length&&e.push.apply(e,xa(b[0])?c.eventsToInverseRanges(b):c.eventsToNormalRanges(b))}),e},eventsToNormalRanges:function(a){var b,c,d,e,f=this.view.calendar,g=[];for(b=0;b<a.length;b++)c=a[b],d=c.start.clone().stripZone(),e=f.getEventEnd(c).stripZone(),g.push({event:c,start:d,end:e,eventStartMS:+d,eventDurationMS:e-d});return g},eventsToInverseRanges:function(a){var b,c,d=this.view,e=d.start.clone().stripZone(),f=d.end.clone().stripZone(),g=this.eventsToNormalRanges(a),h=[],i=a[0],j=e;for(g.sort(Aa),b=0;b<g.length;b++)c=g[b],c.start>j&&h.push({event:i,start:j,end:c.start}),j=c.end;return f>j&&h.push({event:i,start:j,end:f}),h},eventRangeToSegs:function(a,b){var c,d,e;for(a=this.view.calendar.ensureVisibleEventRange(a),c=b?b(a):this.rangeToSegs(a),d=0;d<c.length;d++)e=c[d],e.event=a.event,e.eventStartMS=a.eventStartMS,e.eventDurationMS=a.eventDurationMS;return c},sortSegs:function(a){a.sort(ca(this,"compareSegs"))},compareSegs:function(a,b){return a.eventStartMS-b.eventStartMS||b.eventDurationMS-a.eventDurationMS||b.event.allDay-a.event.allDay||B(a.event,b.event,this.view.eventOrderSpecs)}}),Pa.dataAttrPrefix="";var lb=Pa.DayTableMixin={breakOnWeeks:!1,dayDates:null,dayIndices:null,daysPerRow:null,rowCnt:null,colCnt:null,colHeadFormat:null,updateDayTable:function(){for(var a,b,c,d=this.view,e=this.start.clone(),f=-1,g=[],h=[];e.isBefore(this.end);)d.isHiddenDay(e)?g.push(f+.5):(f++,g.push(f),h.push(e.clone())),e.add(1,"days");if(this.breakOnWeeks){for(b=h[0].day(),a=1;a<h.length&&h[a].day()!=b;a++);c=Math.ceil(h.length/a)}else c=1,a=h.length;this.dayDates=h,this.dayIndices=g,this.daysPerRow=a,this.rowCnt=c,this.updateDayTableCols()},updateDayTableCols:function(){this.colCnt=this.computeColCnt(),this.colHeadFormat=this.view.opt("columnFormat")||this.computeColHeadFormat()},computeColCnt:function(){return this.daysPerRow},getCellDate:function(a,b){return this.dayDates[this.getCellDayIndex(a,b)].clone()},getCellRange:function(a,b){var c=this.getCellDate(a,b),d=c.clone().add(1,"days");return{start:c,end:d}},getCellDayIndex:function(a,b){return a*this.daysPerRow+this.getColDayIndex(b)},getColDayIndex:function(a){return this.isRTL?this.colCnt-1-a:a},getDateDayIndex:function(a){var b=this.dayIndices,c=a.diff(this.start,"days");return 0>c?b[0]-1:c>=b.length?b[b.length-1]+1:b[c]},computeColHeadFormat:function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},sliceRangeByRow:function(a){var b,c,d,e,f,g=this.daysPerRow,h=this.view.computeDayRange(a),i=this.getDateDayIndex(h.start),j=this.getDateDayIndex(h.end.clone().subtract(1,"days")),k=[];for(b=0;b<this.rowCnt;b++)c=b*g,d=c+g-1,e=Math.max(i,c),f=Math.min(j,d),e=Math.ceil(e),f=Math.floor(f),f>=e&&k.push({row:b,firstRowDayIndex:e-c,lastRowDayIndex:f-c,isStart:e===i,isEnd:f===j});return k},sliceRangeByDay:function(a){var b,c,d,e,f,g,h=this.daysPerRow,i=this.view.computeDayRange(a),j=this.getDateDayIndex(i.start),k=this.getDateDayIndex(i.end.clone().subtract(1,"days")),l=[];for(b=0;b<this.rowCnt;b++)for(c=b*h,d=c+h-1,e=c;d>=e;e++)f=Math.max(j,e),g=Math.min(k,e),f=Math.ceil(f),g=Math.floor(g),g>=f&&l.push({row:b,firstRowDayIndex:f-c,lastRowDayIndex:g-c,isStart:f===j,isEnd:g===k});return l},renderHeadHtml:function(){var a=this.view;return'<div class="fc-row '+a.widgetHeaderClass+'"><table><thead>'+this.renderHeadTrHtml()+"</thead></table></div>"},renderHeadIntroHtml:function(){return this.renderIntroHtml()},renderHeadTrHtml:function(){return"<tr>"+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+"</tr>"},renderHeadDateCellsHtml:function(){var a,b,c=[];for(a=0;a<this.colCnt;a++)b=this.getCellDate(0,a),c.push(this.renderHeadDateCellHtml(b));return c.join("")},renderHeadDateCellHtml:function(a,b){var c=this.view;return'<th class="fc-day-header '+c.widgetHeaderClass+" fc-"+Ta[a.day()]+'"'+(b>1?' colspan="'+b+'"':"")+">"+Y(a.format(this.colHeadFormat))+"</th>"},renderBgTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderBgIntroHtml(a))+this.renderBgCellsHtml(a)+(this.isRTL?this.renderBgIntroHtml(a):"")+"</tr>"},renderBgIntroHtml:function(a){return this.renderIntroHtml()},renderBgCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderBgCellHtml(c));return d.join("")},renderBgCellHtml:function(a){var b=this.view,c=this.getDayClasses(a);return c.unshift("fc-day",b.widgetContentClass),'<td class="'+c.join(" ")+'" data-date="'+a.format("YYYY-MM-DD")+'"></td>'},renderIntroHtml:function(){},bookendCells:function(a){var b=this.renderIntroHtml();b&&(this.isRTL?a.append(b):a.prepend(b))}},mb=Pa.DayGrid=kb.extend(lb,{numbersVisible:!1,bottomCoordPadding:0,rowEls:null,cellEls:null,helperEls:null,rowCoordCache:null,colCoordCache:null,renderDates:function(a){var b,c,d=this.view,e=this.rowCnt,f=this.colCnt,g="";for(b=0;e>b;b++)g+=this.renderDayRowHtml(b,a);for(this.el.html(g),this.rowEls=this.el.find(".fc-row"),this.cellEls=this.el.find(".fc-day"),this.rowCoordCache=new gb({els:this.rowEls,isVertical:!0}),this.colCoordCache=new gb({els:this.cellEls.slice(0,this.colCnt),isHorizontal:!0}),b=0;e>b;b++)for(c=0;f>c;c++)d.trigger("dayRender",null,this.getCellDate(b,c),this.getCellEl(b,c))},unrenderDates:function(){this.removeSegPopover()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(!0),b=this.eventsToSegs(a);this.renderFill("businessHours",b,"bgevent")},renderDayRowHtml:function(a,b){var c=this.view,d=["fc-row","fc-week",c.widgetContentClass];return b&&d.push("fc-rigid"),'<div class="'+d.join(" ")+'"><div class="fc-bg"><table>'+this.renderBgTrHtml(a)+'</table></div><div class="fc-content-skeleton"><table>'+(this.numbersVisible?"<thead>"+this.renderNumberTrHtml(a)+"</thead>":"")+"</table></div></div>"},renderNumberTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderNumberIntroHtml(a))+this.renderNumberCellsHtml(a)+(this.isRTL?this.renderNumberIntroHtml(a):"")+"</tr>"},renderNumberIntroHtml:function(a){return this.renderIntroHtml()},renderNumberCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderNumberCellHtml(c));return d.join("")},renderNumberCellHtml:function(a){var b;return this.view.dayNumbersVisible?(b=this.getDayClasses(a),b.unshift("fc-day-number"),'<td class="'+b.join(" ")+'" data-date="'+a.format()+'">'+a.date()+"</td>"):"<td/>"},computeEventTimeFormat:function(){return this.view.opt("extraSmallTimeFormat")},computeDisplayEventEnd:function(){return 1==this.colCnt},rangeUpdated:function(){this.updateDayTable()},rangeToSegs:function(a){var b,c,d=this.sliceRangeByRow(a);for(b=0;b<d.length;b++)c=d[b],this.isRTL?(c.leftCol=this.daysPerRow-1-c.lastRowDayIndex,c.rightCol=this.daysPerRow-1-c.firstRowDayIndex):(c.leftCol=c.firstRowDayIndex,c.rightCol=c.lastRowDayIndex);return d},prepareHits:function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},releaseHits:function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},queryHit:function(a,b){var c=this.colCoordCache.getHorizontalIndex(a),d=this.rowCoordCache.getVerticalIndex(b);return null!=d&&null!=c?this.getCellHit(d,c):void 0},getHitSpan:function(a){return this.getCellRange(a.row,a.col)},getHitEl:function(a){return this.getCellEl(a.row,a.col)},getCellHit:function(a,b){return{row:a,col:b,component:this,left:this.colCoordCache.getLeftOffset(b),right:this.colCoordCache.getRightOffset(b),top:this.rowCoordCache.getTopOffset(a),bottom:this.rowCoordCache.getBottomOffset(a)}},getCellEl:function(a,b){return this.cellEls.eq(a*this.colCnt+b)},renderDrag:function(a,b){return this.renderHighlight(this.eventRangeToSegs(a)),b&&!b.el.closest(this.el).length?(this.renderRangeHelper(a,b),this.applyDragOpacity(this.helperEls),!0):void 0},unrenderDrag:function(){this.unrenderHighlight(),this.unrenderHelper()},renderEventResize:function(a,b){this.renderHighlight(this.eventRangeToSegs(a)),this.renderRangeHelper(a,b)},unrenderEventResize:function(){this.unrenderHighlight(),this.unrenderHelper()},renderHelper:function(b,c){var d,e=[],f=this.eventsToSegs([b]);f=this.renderFgSegEls(f),d=this.renderSegRows(f),this.rowEls.each(function(b,f){var g,h=a(f),i=a('<div class="fc-helper-skeleton"><table/></div>');g=c&&c.row===b?c.el.position().top:h.find(".fc-content-skeleton tbody").position().top,i.css("top",g).find("table").append(d[b].tbodyEl),h.append(i),e.push(i[0])}),this.helperEls=a(e)},unrenderHelper:function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},fillSegTag:"td",renderFill:function(b,c,d){var e,f,g,h=[];for(c=this.renderFillSegEls(b,c),e=0;e<c.length;e++)f=c[e],g=this.renderFillRow(b,f,d),this.rowEls.eq(f.row).append(g),h.push(g[0]);return this.elsByFill[b]=a(h),c},renderFillRow:function(b,c,d){var e,f,g=this.colCnt,h=c.leftCol,i=c.rightCol+1;return d=d||b.toLowerCase(),e=a('<div class="fc-'+d+'-skeleton"><table><tr/></table></div>'),f=e.find("tr"),h>0&&f.append('<td colspan="'+h+'"/>'),f.append(c.el.attr("colspan",i-h)),g>i&&f.append('<td colspan="'+(g-i)+'"/>'),this.bookendCells(f),e}});mb.mixin({rowStructs:null,unrenderEvents:function(){this.removeSegPopover(),kb.prototype.unrenderEvents.apply(this,arguments)},getEventSegs:function(){return kb.prototype.getEventSegs.call(this).concat(this.popoverSegs||[])},renderBgSegs:function(b){var c=a.grep(b,function(a){return a.event.allDay});return kb.prototype.renderBgSegs.call(this,c)},renderFgSegs:function(b){var c;return b=this.renderFgSegEls(b),c=this.rowStructs=this.renderSegRows(b),this.rowEls.each(function(b,d){a(d).find(".fc-content-skeleton > table").append(c[b].tbodyEl)}),b},unrenderFgSegs:function(){for(var a,b=this.rowStructs||[];a=b.pop();)a.tbodyEl.remove();this.rowStructs=null},renderSegRows:function(a){var b,c,d=[];for(b=this.groupSegRows(a),c=0;c<b.length;c++)d.push(this.renderSegRow(c,b[c]));return d},fgSegHtml:function(a,b){var c,d,e=this.view,f=a.event,g=e.isEventDraggable(f),h=!b&&f.allDay&&a.isStart&&e.isEventResizableFromStart(f),i=!b&&f.allDay&&a.isEnd&&e.isEventResizableFromEnd(f),j=this.getSegClasses(a,g,h||i),k=$(this.getEventSkinCss(f)),l="";return j.unshift("fc-day-grid-event","fc-h-event"),a.isStart&&(c=this.getEventTimeText(f),c&&(l='<span class="fc-time">'+Y(c)+"</span>")),d='<span class="fc-title">'+(Y(f.title||"")||"&nbsp;")+"</span>",'<a class="'+j.join(" ")+'"'+(f.url?' href="'+Y(f.url)+'"':"")+(k?' style="'+k+'"':"")+'><div class="fc-content">'+(this.isRTL?d+" "+l:l+" "+d)+"</div>"+(h?'<div class="fc-resizer fc-start-resizer" />':"")+(i?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},renderSegRow:function(b,c){
+function d(b){for(;b>g;)k=(r[e-1]||[])[g],k?k.attr("rowspan",parseInt(k.attr("rowspan")||1,10)+1):(k=a("<td/>"),h.append(k)),q[e][g]=k,r[e][g]=k,g++}var e,f,g,h,i,j,k,l=this.colCnt,m=this.buildSegLevels(c),n=Math.max(1,m.length),o=a("<tbody/>"),p=[],q=[],r=[];for(e=0;n>e;e++){if(f=m[e],g=0,h=a("<tr/>"),p.push([]),q.push([]),r.push([]),f)for(i=0;i<f.length;i++){for(j=f[i],d(j.leftCol),k=a('<td class="fc-event-container"/>').append(j.el),j.leftCol!=j.rightCol?k.attr("colspan",j.rightCol-j.leftCol+1):r[e][g]=k;g<=j.rightCol;)q[e][g]=k,p[e][g]=j,g++;h.append(k)}d(l),this.bookendCells(h),o.append(h)}return{row:b,tbodyEl:o,cellMatrix:q,segMatrix:p,segLevels:m,segs:c}},buildSegLevels:function(a){var b,c,d,e=[];for(this.sortSegs(a),b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Ca(c,e[d]);d++);c.level=d,(e[d]||(e[d]=[])).push(c)}for(d=0;d<e.length;d++)e[d].sort(Da);return e},groupSegRows:function(a){var b,c=[];for(b=0;b<this.rowCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].row].push(a[b]);return c}}),mb.mixin({segPopover:null,popoverSegs:null,removeSegPopover:function(){this.segPopover&&this.segPopover.hide()},limitRows:function(a){var b,c,d=this.rowStructs||[];for(b=0;b<d.length;b++)this.unlimitRow(b),c=a?"number"==typeof a?a:this.computeRowLevelLimit(b):!1,c!==!1&&this.limitRow(b,c)},computeRowLevelLimit:function(b){function c(b,c){f=Math.max(f,a(c).outerHeight())}var d,e,f,g=this.rowEls.eq(b),h=g.height(),i=this.rowStructs[b].tbodyEl.children();for(d=0;d<i.length;d++)if(e=i.eq(d).removeClass("fc-limited"),f=0,e.find("> td > :first-child").each(c),e.position().top+f>h)return d;return!1},limitRow:function(b,c){function d(d){for(;d>w;)j=t.getCellSegs(b,w,c),j.length&&(m=f[c-1][w],s=t.renderMoreLink(b,w,j),r=a("<div/>").append(s),m.append(r),v.push(r[0])),w++}var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=this,u=this.rowStructs[b],v=[],w=0;if(c&&c<u.segLevels.length){for(e=u.segLevels[c-1],f=u.cellMatrix,g=u.tbodyEl.children().slice(c).addClass("fc-limited").get(),h=0;h<e.length;h++){for(i=e[h],d(i.leftCol),l=[],k=0;w<=i.rightCol;)j=this.getCellSegs(b,w,c),l.push(j),k+=j.length,w++;if(k){for(m=f[c-1][i.leftCol],n=m.attr("rowspan")||1,o=[],p=0;p<l.length;p++)q=a('<td class="fc-more-cell"/>').attr("rowspan",n),j=l[p],s=this.renderMoreLink(b,i.leftCol+p,[i].concat(j)),r=a("<div/>").append(s),q.append(r),o.push(q[0]),v.push(q[0]);m.addClass("fc-limited").after(a(o)),g.push(m[0])}}d(this.colCnt),u.moreEls=a(v),u.limitedEls=a(g)}},unlimitRow:function(a){var b=this.rowStructs[a];b.moreEls&&(b.moreEls.remove(),b.moreEls=null),b.limitedEls&&(b.limitedEls.removeClass("fc-limited"),b.limitedEls=null)},renderMoreLink:function(b,c,d){var e=this,f=this.view;return a('<a class="fc-more"/>').text(this.getMoreLinkText(d.length)).on("click",function(g){var h=f.opt("eventLimitClick"),i=e.getCellDate(b,c),j=a(this),k=e.getCellEl(b,c),l=e.getCellSegs(b,c),m=e.resliceDaySegs(l,i),n=e.resliceDaySegs(d,i);"function"==typeof h&&(h=f.trigger("eventLimitClick",null,{date:i,dayEl:k,moreEl:j,segs:m,hiddenSegs:n},g)),"popover"===h?e.showSegPopover(b,c,j,m):"string"==typeof h&&f.calendar.zoomTo(i,h)})},showSegPopover:function(a,b,c,d){var e,f,g=this,h=this.view,i=c.parent();e=1==this.rowCnt?h.el:this.rowEls.eq(a),f={className:"fc-more-popover",content:this.renderSegPopoverContent(a,b,d),parentEl:this.el,top:e.offset().top,autoHide:!0,viewportConstrain:h.opt("popoverViewportConstrain"),hide:function(){g.segPopover.removeElement(),g.segPopover=null,g.popoverSegs=null}},this.isRTL?f.right=i.offset().left+i.outerWidth()+1:f.left=i.offset().left-1,this.segPopover=new fb(f),this.segPopover.show()},renderSegPopoverContent:function(b,c,d){var e,f=this.view,g=f.opt("theme"),h=this.getCellDate(b,c).format(f.opt("dayPopoverFormat")),i=a('<div class="fc-header '+f.widgetHeaderClass+'"><span class="fc-close '+(g?"ui-icon ui-icon-closethick":"fc-icon fc-icon-x")+'"></span><span class="fc-title">'+Y(h)+'</span><div class="fc-clear"/></div><div class="fc-body '+f.widgetContentClass+'"><div class="fc-event-container"></div></div>'),j=i.find(".fc-event-container");for(d=this.renderFgSegEls(d,!0),this.popoverSegs=d,e=0;e<d.length;e++)this.prepareHits(),d[e].hit=this.getCellHit(b,c),this.releaseHits(),j.append(d[e].el);return i},resliceDaySegs:function(b,c){var d=a.map(b,function(a){return a.event}),e=c.clone().stripTime(),f=e.clone().add(1,"days"),g={start:e,end:f};return b=this.eventsToSegs(d,function(a){var b=E(a,g);return b?[b]:[]}),this.sortSegs(b),b},getMoreLinkText:function(a){var b=this.view.opt("eventLimitText");return"function"==typeof b?b(a):"+"+a+" "+b},getCellSegs:function(a,b,c){for(var d,e=this.rowStructs[a].segMatrix,f=c||0,g=[];f<e.length;)d=e[f][b],d&&g.push(d),f++;return g}});var nb=Pa.TimeGrid=kb.extend(lb,{slotDuration:null,snapDuration:null,snapsPerSlot:null,minTime:null,maxTime:null,labelFormat:null,labelInterval:null,colEls:null,slatEls:null,helperEl:null,colCoordCache:null,slatCoordCache:null,businessHourSegs:null,constructor:function(){kb.apply(this,arguments),this.processOptions()},renderDates:function(){this.el.html(this.renderHtml()),this.colEls=this.el.find(".fc-day"),this.slatEls=this.el.find(".fc-slats tr"),this.colCoordCache=new gb({els:this.colEls,isHorizontal:!0}),this.slatCoordCache=new gb({els:this.slatEls,isVertical:!0})},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents();this.businessHourSegs=this.renderFill("businessHours",this.eventsToSegs(a),"bgevent")},renderHtml:function(){return'<div class="fc-bg"><table>'+this.renderBgTrHtml(0)+'</table></div><div class="fc-slats"><table>'+this.renderSlatRowHtml()+"</table></div>"},renderSlatRowHtml:function(){for(var a,c,d,e=this.view,f=this.isRTL,g="",h=b.duration(+this.minTime);h<this.maxTime;)a=this.start.clone().time(h),c=ba(L(h,this.labelInterval)),d='<td class="fc-axis fc-time '+e.widgetContentClass+'" '+e.axisStyleAttr()+">"+(c?"<span>"+Y(a.format(this.labelFormat))+"</span>":"")+"</td>",g+="<tr "+(c?"":'class="fc-minor"')+">"+(f?"":d)+'<td class="'+e.widgetContentClass+'"/>'+(f?d:"")+"</tr>",h.add(this.slotDuration);return g},processOptions:function(){var c,d=this.view,e=d.opt("slotDuration"),f=d.opt("snapDuration");e=b.duration(e),f=f?b.duration(f):e,this.slotDuration=e,this.snapDuration=f,this.snapsPerSlot=e/f,this.minResizeDuration=f,this.minTime=b.duration(d.opt("minTime")),this.maxTime=b.duration(d.opt("maxTime")),c=d.opt("slotLabelFormat"),a.isArray(c)&&(c=c[c.length-1]),this.labelFormat=c||d.opt("axisFormat")||d.opt("smallTimeFormat"),c=d.opt("slotLabelInterval"),this.labelInterval=c?b.duration(c):this.computeLabelInterval(e)},computeLabelInterval:function(a){var c,d,e;for(c=Db.length-1;c>=0;c--)if(d=b.duration(Db[c]),e=L(d,a),ba(e)&&e>1)return d;return b.duration(a)},computeEventTimeFormat:function(){return this.view.opt("noMeridiemTimeFormat")},computeDisplayEventEnd:function(){return!0},prepareHits:function(){this.colCoordCache.build(),this.slatCoordCache.build()},releaseHits:function(){this.colCoordCache.clear()},queryHit:function(a,b){var c=this.snapsPerSlot,d=this.colCoordCache,e=this.slatCoordCache,f=d.getHorizontalIndex(a),g=e.getVerticalIndex(b);if(null!=f&&null!=g){var h=e.getTopOffset(g),i=e.getHeight(g),j=(b-h)/i,k=Math.floor(j*c),l=g*c+k,m=h+k/c*i,n=h+(k+1)/c*i;return{col:f,snap:l,component:this,left:d.getLeftOffset(f),right:d.getRightOffset(f),top:m,bottom:n}}},getHitSpan:function(a){var b,c=this.getCellDate(0,a.col),d=this.computeSnapTime(a.snap),e=this.view.calendar.rezoneDate(c);return e.time(d),b=e.clone().add(this.snapDuration),{start:e,end:b}},getHitEl:function(a){return this.colEls.eq(a.col)},rangeUpdated:function(){this.updateDayTable()},computeSnapTime:function(a){return b.duration(this.minTime+this.snapDuration*a)},rangeToSegs:function(a){var b,c=this.sliceRangeByTimes(a);for(b=0;b<c.length;b++)this.isRTL?c[b].col=this.daysPerRow-1-c[b].dayIndex:c[b].col=c[b].dayIndex;return c},sliceRangeByTimes:function(a){var b,c,d,e,f=[];for(a={start:a.start.clone().stripZone(),end:a.end.clone().stripZone()},c=0;c<this.daysPerRow;c++)d=this.dayDates[c].clone(),e={start:d.clone().time(this.minTime),end:d.clone().time(this.maxTime)},b=E(a,e),b&&(b.dayIndex=c,f.push(b));return f},updateSize:function(a){this.slatCoordCache.build(),a&&this.updateSegVerticals()},computeDateTop:function(a,c){return this.computeTimeTop(b.duration(a.clone().stripZone()-c.clone().stripTime()))},computeTimeTop:function(a){var b,c,d=this.slatEls.length,e=(a-this.minTime)/this.slotDuration;return e=Math.max(0,e),e=Math.min(d,e),b=Math.floor(e),b=Math.min(b,d-1),c=e-b,this.slatCoordCache.getTopPosition(b)+this.slatCoordCache.getHeight(b)*c},renderDrag:function(a,b){return b?(this.renderRangeHelper(a,b),this.applyDragOpacity(this.helperEl),!0):void this.renderHighlight(this.eventRangeToSegs(a))},unrenderDrag:function(){this.unrenderHelper(),this.unrenderHighlight()},renderEventResize:function(a,b){this.renderRangeHelper(a,b)},unrenderEventResize:function(){this.unrenderHelper()},renderHelper:function(b,c){var d,e,f,g,h=this.eventsToSegs([b]);for(h=this.renderFgSegEls(h),d=this.renderSegTable(h),e=0;e<h.length;e++)f=h[e],c&&c.col===f.col&&(g=c.el,f.el.css({left:g.css("left"),right:g.css("right"),"margin-left":g.css("margin-left"),"margin-right":g.css("margin-right")}));this.helperEl=a('<div class="fc-helper-skeleton"/>').append(d).appendTo(this.el)},unrenderHelper:function(){this.helperEl&&(this.helperEl.remove(),this.helperEl=null)},renderSelection:function(a){this.view.opt("selectHelper")?this.renderRangeHelper(a):this.renderHighlight(this.selectionRangeToSegs(a))},unrenderSelection:function(){this.unrenderHelper(),this.unrenderHighlight()},renderFill:function(b,c,d){var e,f,g,h,i,j,k,l,m,n;if(c.length){for(c=this.renderFillSegEls(b,c),e=this.groupSegCols(c),d=d||b.toLowerCase(),f=a('<div class="fc-'+d+'-skeleton"><table><tr/></table></div>'),g=f.find("tr"),h=0;h<e.length;h++)if(i=e[h],j=a("<td/>").appendTo(g),i.length)for(k=a('<div class="fc-'+d+'-container"/>').appendTo(j),l=this.getCellDate(0,h),m=0;m<i.length;m++)n=i[m],k.append(n.el.css({top:this.computeDateTop(n.start,l),bottom:-this.computeDateTop(n.end,l)}));this.bookendCells(g),this.el.append(f),this.elsByFill[b]=f}return c}});nb.mixin({eventSkeletonEl:null,renderFgSegs:function(b){return b=this.renderFgSegEls(b),this.el.append(this.eventSkeletonEl=a('<div class="fc-content-skeleton"/>').append(this.renderSegTable(b))),b},unrenderFgSegs:function(a){this.eventSkeletonEl&&(this.eventSkeletonEl.remove(),this.eventSkeletonEl=null)},renderSegTable:function(b){var c,d,e,f,g,h,i=a("<table><tr/></table>"),j=i.find("tr");for(c=this.groupSegCols(b),this.computeSegVerticals(b),f=0;f<c.length;f++){for(g=c[f],this.placeSlotSegs(g),h=a('<div class="fc-event-container"/>'),d=0;d<g.length;d++)e=g[d],e.el.css(this.generateSegPositionCss(e)),e.bottom-e.top<30&&e.el.addClass("fc-short"),h.append(e.el);j.append(a("<td/>").append(h))}return this.bookendCells(j),i},placeSlotSegs:function(a){var b,c,d;if(this.sortSegs(a),b=Ea(a),Fa(b),c=b[0]){for(d=0;d<c.length;d++)Ga(c[d]);for(d=0;d<c.length;d++)this.computeSlotSegCoords(c[d],0,0)}},computeSlotSegCoords:function(a,b,c){var d,e=a.forwardSegs;if(void 0===a.forwardCoord)for(e.length?(this.sortForwardSlotSegs(e),this.computeSlotSegCoords(e[0],b+1,c),a.forwardCoord=e[0].backwardCoord):a.forwardCoord=1,a.backwardCoord=a.forwardCoord-(a.forwardCoord-c)/(b+1),d=0;d<e.length;d++)this.computeSlotSegCoords(e[d],0,a.forwardCoord)},updateSegVerticals:function(){var a,b=(this.segs||[]).concat(this.businessHourSegs||[]);for(this.computeSegVerticals(b),a=0;a<b.length;a++)b[a].el.css(this.generateSegVerticalCss(b[a]))},computeSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.top=this.computeDateTop(c.start,c.start),c.bottom=this.computeDateTop(c.end,c.start)},fgSegHtml:function(a,b){var c,d,e,f=this.view,g=a.event,h=f.isEventDraggable(g),i=!b&&a.isStart&&f.isEventResizableFromStart(g),j=!b&&a.isEnd&&f.isEventResizableFromEnd(g),k=this.getSegClasses(a,h,i||j),l=$(this.getEventSkinCss(g));return k.unshift("fc-time-grid-event","fc-v-event"),f.isMultiDayEvent(g)?(a.isStart||a.isEnd)&&(c=this.getEventTimeText(a),d=this.getEventTimeText(a,"LT"),e=this.getEventTimeText(a,null,!1)):(c=this.getEventTimeText(g),d=this.getEventTimeText(g,"LT"),e=this.getEventTimeText(g,null,!1)),'<a class="'+k.join(" ")+'"'+(g.url?' href="'+Y(g.url)+'"':"")+(l?' style="'+l+'"':"")+'><div class="fc-content">'+(c?'<div class="fc-time" data-start="'+Y(e)+'" data-full="'+Y(d)+'"><span>'+Y(c)+"</span></div>":"")+(g.title?'<div class="fc-title">'+Y(g.title)+"</div>":"")+'</div><div class="fc-bg"/>'+(j?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},generateSegPositionCss:function(a){var b,c,d=this.view.opt("slotEventOverlap"),e=a.backwardCoord,f=a.forwardCoord,g=this.generateSegVerticalCss(a);return d&&(f=Math.min(1,e+2*(f-e))),this.isRTL?(b=1-f,c=e):(b=e,c=1-f),g.zIndex=a.level+1,g.left=100*b+"%",g.right=100*c+"%",d&&a.forwardPressure&&(g[this.isRTL?"marginLeft":"marginRight"]=20),g},generateSegVerticalCss:function(a){return{top:a.top,bottom:-a.bottom}},groupSegCols:function(a){var b,c=[];for(b=0;b<this.colCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].col].push(a[b]);return c},sortForwardSlotSegs:function(a){a.sort(ca(this,"compareForwardSlotSegs"))},compareForwardSlotSegs:function(a,b){return b.forwardPressure-a.forwardPressure||(a.backwardCoord||0)-(b.backwardCoord||0)||this.compareSegs(a,b)}});var ob=Pa.View=ra.extend({type:null,name:null,title:null,calendar:null,options:null,el:null,displaying:null,isSkeletonRendered:!1,isEventsRendered:!1,start:null,end:null,intervalStart:null,intervalEnd:null,intervalDuration:null,intervalUnit:null,isRTL:!1,isSelected:!1,eventOrderSpecs:null,scrollerEl:null,scrollTop:null,widgetHeaderClass:null,widgetContentClass:null,highlightStateClass:null,nextDayThreshold:null,isHiddenDayHash:null,documentMousedownProxy:null,constructor:function(a,c,d,e){this.calendar=a,this.type=this.name=c,this.options=d,this.intervalDuration=e||b.duration(1,"day"),this.nextDayThreshold=b.duration(this.opt("nextDayThreshold")),this.initThemingProps(),this.initHiddenDays(),this.isRTL=this.opt("isRTL"),this.eventOrderSpecs=A(this.opt("eventOrder")),this.documentMousedownProxy=ca(this,"documentMousedown"),this.initialize()},initialize:function(){},opt:function(a){return this.options[a]},trigger:function(a,b){var c=this.calendar;return c.trigger.apply(c,[a,b||this].concat(Array.prototype.slice.call(arguments,2),[this]))},setDate:function(a){this.setRange(this.computeRange(a))},setRange:function(b){a.extend(this,b),this.updateTitle()},computeRange:function(a){var b,c,d=I(this.intervalDuration),e=a.clone().startOf(d),f=e.clone().add(this.intervalDuration);return/year|month|week|day/.test(d)?(e.stripTime(),f.stripTime()):(e.hasTime()||(e=this.calendar.rezoneDate(e)),f.hasTime()||(f=this.calendar.rezoneDate(f))),b=e.clone(),b=this.skipHiddenDays(b),c=f.clone(),c=this.skipHiddenDays(c,-1,!0),{intervalUnit:d,intervalStart:e,intervalEnd:f,start:b,end:c}},computePrevDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).subtract(this.intervalDuration),-1)},computeNextDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).add(this.intervalDuration))},massageCurrentDate:function(a,b){return this.intervalDuration.as("days")<=1&&this.isHiddenDay(a)&&(a=this.skipHiddenDays(a,b),a.startOf("day")),a},updateTitle:function(){this.title=this.computeTitle()},computeTitle:function(){return this.formatRange({start:this.intervalStart,end:this.intervalEnd},this.opt("titleFormat")||this.computeTitleFormat(),this.opt("titleRangeSeparator"))},computeTitleFormat:function(){return"year"==this.intervalUnit?"YYYY":"month"==this.intervalUnit?this.opt("monthYearFormat"):this.intervalDuration.as("days")>1?"ll":"LL"},formatRange:function(a,b,c){var d=a.end;return d.hasTime()||(d=d.clone().subtract(1)),ma(a.start,d,b,c,this.opt("isRTL"))},setElement:function(a){this.el=a,this.bindGlobalHandlers()},removeElement:function(){this.clear(),this.isSkeletonRendered&&(this.unrenderSkeleton(),this.isSkeletonRendered=!1),this.unbindGlobalHandlers(),this.el.remove()},display:function(b){var c=this,d=null;return this.displaying&&(d=this.queryScroll()),this.clear().then(function(){return c.displaying=a.when(c.displayView(b)).then(function(){c.forceScroll(c.computeInitialScroll(d)),c.triggerRender()})})},clear:function(){var b=this,c=this.displaying;return c?c.then(function(){return b.displaying=null,b.clearEvents(),b.clearView()}):a.when()},displayView:function(a){this.isSkeletonRendered||(this.renderSkeleton(),this.isSkeletonRendered=!0),this.setDate(a),this.render&&this.render(),this.renderDates(),this.updateSize(),this.renderBusinessHours()},clearView:function(){this.unselect(),this.triggerUnrender(),this.unrenderBusinessHours(),this.unrenderDates(),this.destroy&&this.destroy()},renderSkeleton:function(){},unrenderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},renderBusinessHours:function(){},unrenderBusinessHours:function(){},triggerRender:function(){this.trigger("viewRender",this,this,this.el)},triggerUnrender:function(){this.trigger("viewDestroy",this,this,this.el)},bindGlobalHandlers:function(){a(document).on("mousedown",this.documentMousedownProxy)},unbindGlobalHandlers:function(){a(document).off("mousedown",this.documentMousedownProxy)},initThemingProps:function(){var a=this.opt("theme")?"ui":"fc";this.widgetHeaderClass=a+"-widget-header",this.widgetContentClass=a+"-widget-content",this.highlightStateClass=a+"-state-highlight"},updateSize:function(a){var b;a&&(b=this.queryScroll()),this.updateHeight(a),this.updateWidth(a),a&&this.setScroll(b)},updateWidth:function(a){},updateHeight:function(a){var b=this.calendar;this.setHeight(b.getSuggestedViewHeight(),b.isHeightAuto())},setHeight:function(a,b){},computeScrollerHeight:function(a){var b,c,d=this.scrollerEl;return b=this.el.add(d),b.css({position:"relative",left:-1}),c=this.el.outerHeight()-d.height(),b.css({position:"",left:""}),a-c},computeInitialScroll:function(a){return 0},queryScroll:function(){return this.scrollerEl?this.scrollerEl.scrollTop():void 0},setScroll:function(a){return this.scrollerEl?this.scrollerEl.scrollTop(a):void 0},forceScroll:function(a){var b=this;this.setScroll(a),setTimeout(function(){b.setScroll(a)},0)},displayEvents:function(a){var b=this.queryScroll();this.clearEvents(),this.renderEvents(a),this.isEventsRendered=!0,this.setScroll(b),this.triggerEventRender()},clearEvents:function(){this.isEventsRendered&&(this.triggerEventUnrender(),this.destroyEvents&&this.destroyEvents(),this.unrenderEvents(),this.isEventsRendered=!1)},renderEvents:function(a){},unrenderEvents:function(){},triggerEventRender:function(){this.renderedEventSegEach(function(a){this.trigger("eventAfterRender",a.event,a.event,a.el)}),this.trigger("eventAfterAllRender")},triggerEventUnrender:function(){this.renderedEventSegEach(function(a){this.trigger("eventDestroy",a.event,a.event,a.el)})},resolveEventEl:function(b,c){var d=this.trigger("eventRender",b,b,c);return d===!1?c=null:d&&d!==!0&&(c=a(d)),c},showEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","")},a)},hideEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","hidden")},a)},renderedEventSegEach:function(a,b){var c,d=this.getEventSegs();for(c=0;c<d.length;c++)b&&d[c].event._id!==b._id||d[c].el&&a.call(this,d[c])},getEventSegs:function(){return[]},isEventDraggable:function(a){var b=a.source||{};return X(a.startEditable,b.startEditable,this.opt("eventStartEditable"),a.editable,b.editable,this.opt("editable"))},reportEventDrop:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventDrop(a,g.dateDelta,h,d,e),f.reportEventChange()},triggerEventDrop:function(a,b,c,d,e){this.trigger("eventDrop",d[0],a,b,c,e,{})},reportExternalDrop:function(b,c,d,e,f){var g,h,i=b.eventProps;i&&(g=a.extend({},i,c),h=this.calendar.renderEvent(g,b.stick)[0]),this.triggerExternalDrop(h,c,d,e,f)},triggerExternalDrop:function(a,b,c,d,e){this.trigger("drop",c[0],b.start,d,e),a&&this.trigger("eventReceive",null,a)},renderDrag:function(a,b){},unrenderDrag:function(){},isEventResizableFromStart:function(a){return this.opt("eventResizableFromStart")&&this.isEventResizable(a)},isEventResizableFromEnd:function(a){return this.isEventResizable(a)},isEventResizable:function(a){var b=a.source||{};return X(a.durationEditable,b.durationEditable,this.opt("eventDurationEditable"),a.editable,b.editable,this.opt("editable"))},reportEventResize:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventResize(a,g.durationDelta,h,d,e),f.reportEventChange()},triggerEventResize:function(a,b,c,d,e){this.trigger("eventResize",d[0],a,b,c,e,{})},select:function(a,b){this.unselect(b),this.renderSelection(a),this.reportSelection(a,b)},renderSelection:function(a){},reportSelection:function(a,b){this.isSelected=!0,this.triggerSelect(a,b)},triggerSelect:function(a,b){this.trigger("select",null,a.start,a.end,b)},unselect:function(a){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.trigger("unselect",null,a))},unrenderSelection:function(){},documentMousedown:function(b){var c;this.isSelected&&this.opt("unselectAuto")&&v(b)&&(c=this.opt("unselectCancel"),c&&a(b.target).closest(c).length||this.unselect(b))},triggerDayClick:function(a,b,c){this.trigger("dayClick",b,a,c)},initHiddenDays:function(){var b,c=this.opt("hiddenDays")||[],d=[],e=0;for(this.opt("weekends")===!1&&c.push(0,6),b=0;7>b;b++)(d[b]=-1!==a.inArray(b,c))||e++;if(!e)throw"invalid hiddenDays";this.isHiddenDayHash=d},isHiddenDay:function(a){return b.isMoment(a)&&(a=a.day()),this.isHiddenDayHash[a]},skipHiddenDays:function(a,b,c){var d=a.clone();for(b=b||1;this.isHiddenDayHash[(d.day()+(c?b:0)+7)%7];)d.add(b,"days");return d},computeDayRange:function(a){var b,c=a.start.clone().stripTime(),d=a.end,e=null;return d&&(e=d.clone().stripTime(),b=+d.time(),b&&b>=this.nextDayThreshold&&e.add(1,"days")),(!d||c>=e)&&(e=c.clone().add(1,"days")),{start:c,end:e}},isMultiDayEvent:function(a){var b=this.computeDayRange(a);return b.end.diff(b.start,"days")>1}}),pb=Pa.Calendar=ra.extend({dirDefaults:null,langDefaults:null,overrides:null,options:null,viewSpecCache:null,view:null,header:null,loadingLevel:0,constructor:Ja,initialize:function(){},initOptions:function(a){var b,e,f,g;a=d(a),b=a.lang,e=qb[b],e||(b=pb.defaults.lang,e=qb[b]||{}),f=X(a.isRTL,e.isRTL,pb.defaults.isRTL),g=f?pb.rtlDefaults:{},this.dirDefaults=g,this.langDefaults=e,this.overrides=a,this.options=c([pb.defaults,g,e,a]),Ka(this.options),this.viewSpecCache={}},getViewSpec:function(a){var b=this.viewSpecCache;return b[a]||(b[a]=this.buildViewSpec(a))},getUnitViewSpec:function(b){var c,d,e;if(-1!=a.inArray(b,Ua))for(c=this.header.getViewsWithButtons(),a.each(Pa.views,function(a){c.push(a)}),d=0;d<c.length;d++)if(e=this.getViewSpec(c[d]),e&&e.singleUnit==b)return e},buildViewSpec:function(a){for(var d,e,f,g,h=this.overrides.views||{},i=[],j=[],k=[],l=a;l;)d=Qa[l],e=h[l],l=null,"function"==typeof d&&(d={"class":d}),d&&(i.unshift(d),j.unshift(d.defaults||{}),f=f||d.duration,l=l||d.type),e&&(k.unshift(e),f=f||e.duration,l=l||e.type);return d=Q(i),d.type=a,d["class"]?(f&&(f=b.duration(f),f.valueOf()&&(d.duration=f,g=I(f),1===f.as(g)&&(d.singleUnit=g,k.unshift(h[g]||{})))),d.defaults=c(j),d.overrides=c(k),this.buildViewSpecOptions(d),this.buildViewSpecButtonText(d,a),d):!1},buildViewSpecOptions:function(a){a.options=c([pb.defaults,a.defaults,this.dirDefaults,this.langDefaults,this.overrides,a.overrides]),Ka(a.options)},buildViewSpecButtonText:function(a,b){function c(c){var d=c.buttonText||{};return d[b]||(a.singleUnit?d[a.singleUnit]:null)}a.buttonTextOverride=c(this.overrides)||a.overrides.buttonText,a.buttonTextDefault=c(this.langDefaults)||c(this.dirDefaults)||a.defaults.buttonText||c(pb.defaults)||(a.duration?this.humanizeDuration(a.duration):null)||b},instantiateView:function(a){var b=this.getViewSpec(a);return new b["class"](this,a,b.options,b.duration)},isValidViewType:function(a){return Boolean(this.getViewSpec(a))},pushLoading:function(){this.loadingLevel++||this.trigger("loading",null,!0,this.view)},popLoading:function(){--this.loadingLevel||this.trigger("loading",null,!1,this.view)},buildSelectRange:function(a,b){return a=this.moment(a),b=b?this.moment(b):a.hasTime()?a.clone().add(this.defaultTimedEventDuration):a.clone().add(this.defaultAllDayEventDuration),{start:a,end:b}}});pb.mixin(eb),pb.defaults={titleRangeSeparator:" — ",monthYearFormat:"MMMM YYYY",defaultTimedEventDuration:"02:00:00",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:"09:00:00",defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberTitle:"W",weekNumberCalculation:"local",scrollTime:"06:00:00",lazyFetching:!0,startParam:"start",endParam:"end",timezoneParam:"timezone",timezone:!1,isRTL:!1,buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day"},buttonIcons:{prev:"left-single-arrow",next:"right-single-arrow",prevYear:"left-double-arrow",nextYear:"right-double-arrow"},theme:!1,themeButtonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e",prevYear:"seek-prev",nextYear:"seek-next"},dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:"*",eventOrder:"title",eventLimit:!1,eventLimitText:"more",eventLimitClick:"popover",dayPopoverFormat:"LL",handleWindowResize:!0,windowResizeDelay:200},pb.englishDefaults={dayPopoverFormat:"dddd, MMMM D"},pb.rtlDefaults={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"right-single-arrow",next:"left-single-arrow",prevYear:"right-double-arrow",nextYear:"left-double-arrow"},themeButtonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w",nextYear:"seek-prev",prevYear:"seek-next"}};var qb=Pa.langs={};Pa.datepickerLang=function(b,c,d){var e=qb[b]||(qb[b]={});e.isRTL=d.isRTL,e.weekNumberTitle=d.weekHeader,a.each(rb,function(a,b){e[a]=b(d)}),a.datepicker&&(a.datepicker.regional[c]=a.datepicker.regional[b]=d,a.datepicker.regional.en=a.datepicker.regional[""],a.datepicker.setDefaults(d))},Pa.lang=function(b,d){var e,f;e=qb[b]||(qb[b]={}),d&&(e=qb[b]=c([e,d])),f=La(b),a.each(sb,function(a,b){null==e[a]&&(e[a]=b(f,e))}),pb.defaults.lang=b};var rb={buttonText:function(a){return{prev:Z(a.prevText),next:Z(a.nextText),today:Z(a.currentText)}},monthYearFormat:function(a){return a.showMonthAfterYear?"YYYY["+a.yearSuffix+"] MMMM":"MMMM YYYY["+a.yearSuffix+"]"}},sb={dayOfMonthFormat:function(a,b){var c=a.longDateFormat("l");return c=c.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g,""),b.isRTL?c+=" ddd":c="ddd "+c,c},mediumTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"a")},smallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"a")},extraSmallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"t")},hourFormat:function(a){return a.longDateFormat("LT").replace(":mm","").replace(/(\Wmm)$/,"").replace(/\s*a$/i,"a")},noMeridiemTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"")}},tb={smallDayDateFormat:function(a){return a.isRTL?"D dd":"dd D"},weekFormat:function(a){return a.isRTL?"w[ "+a.weekNumberTitle+"]":"["+a.weekNumberTitle+" ]w"},smallWeekFormat:function(a){return a.isRTL?"w["+a.weekNumberTitle+"]":"["+a.weekNumberTitle+"]w"}};Pa.lang("en",pb.englishDefaults),Pa.sourceNormalizers=[],Pa.sourceFetchers=[];var ub={dataType:"json",cache:!1},vb=1;pb.prototype.getPeerEvents=function(a,b){var c,d,e=this.getEventCache(),f=[];for(c=0;c<e.length;c++)d=e[c],a&&a._id===d._id||f.push(d);return f};var wb=Pa.BasicView=ob.extend({dayGridClass:mb,dayGrid:null,dayNumbersVisible:!1,weekNumbersVisible:!1,weekNumberWidth:null,headContainerEl:null,headRowEl:null,initialize:function(){this.dayGrid=this.instantiateDayGrid()},instantiateDayGrid:function(){var a=this.dayGridClass.extend(xb);return new a(this)},setRange:function(a){ob.prototype.setRange.call(this,a),this.dayGrid.breakOnWeeks=/year|month|week/.test(this.intervalUnit),this.dayGrid.setRange(a)},computeRange:function(a){var b=ob.prototype.computeRange.call(this,a);return/year|month/.test(b.intervalUnit)&&(b.start.startOf("week"),b.start=this.skipHiddenDays(b.start),b.end.weekday()&&(b.end.add(1,"week").startOf("week"),b.end=this.skipHiddenDays(b.end,-1,!0))),b},renderDates:function(){this.dayNumbersVisible=this.dayGrid.rowCnt>1,this.weekNumbersVisible=this.opt("weekNumbers"),this.dayGrid.numbersVisible=this.dayNumbersVisible||this.weekNumbersVisible,this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scrollerEl=this.el.find(".fc-day-grid-container"),this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(this.hasRigidRows())},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.dayGrid.renderHeadHtml()),this.headRowEl=this.headContainerEl.find(".fc-row")},unrenderDates:function(){this.dayGrid.unrenderDates(),this.dayGrid.removeElement()},renderBusinessHours:function(){this.dayGrid.renderBusinessHours()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'"><div class="fc-day-grid-container"><div class="fc-day-grid"/></div></td></tr></tbody></table>'},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var a=this.opt("eventLimit");return a&&"number"!=typeof a},updateWidth:function(){this.weekNumbersVisible&&(this.weekNumberWidth=k(this.el.find(".fc-week-number")))},setHeight:function(a,b){var c,d=this.opt("eventLimit");m(this.scrollerEl),f(this.headRowEl),this.dayGrid.removeSegPopover(),d&&"number"==typeof d&&this.dayGrid.limitRows(d),c=this.computeScrollerHeight(a),this.setGridHeight(c,b),d&&"number"!=typeof d&&this.dayGrid.limitRows(d),!b&&l(this.scrollerEl,c)&&(e(this.headRowEl,r(this.scrollerEl)),c=this.computeScrollerHeight(a),this.scrollerEl.height(c))},setGridHeight:function(a,b){b?j(this.dayGrid.rowEls):i(this.dayGrid.rowEls,a,!0)},prepareHits:function(){this.dayGrid.prepareHits()},releaseHits:function(){this.dayGrid.releaseHits()},queryHit:function(a,b){return this.dayGrid.queryHit(a,b)},getHitSpan:function(a){return this.dayGrid.getHitSpan(a)},getHitEl:function(a){return this.dayGrid.getHitEl(a)},renderEvents:function(a){this.dayGrid.renderEvents(a),this.updateHeight()},getEventSegs:function(){return this.dayGrid.getEventSegs()},unrenderEvents:function(){this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return this.dayGrid.renderDrag(a,b)},unrenderDrag:function(){this.dayGrid.unrenderDrag()},renderSelection:function(a){this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.dayGrid.unrenderSelection()}}),xb={renderHeadIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<th class="fc-week-number '+a.widgetHeaderClass+'" '+a.weekNumberStyleAttr()+"><span>"+Y(a.opt("weekNumberTitle"))+"</span></th>":""},renderNumberIntroHtml:function(a){var b=this.view;return b.weekNumbersVisible?'<td class="fc-week-number" '+b.weekNumberStyleAttr()+"><span>"+this.getCellDate(a,0).format("w")+"</span></td>":""},renderBgIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number '+a.widgetContentClass+'" '+a.weekNumberStyleAttr()+"></td>":""},renderIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number" '+a.weekNumberStyleAttr()+"></td>":"";
+}},yb=Pa.MonthView=wb.extend({computeRange:function(a){var b,c=wb.prototype.computeRange.call(this,a);return this.isFixedWeeks()&&(b=Math.ceil(c.end.diff(c.start,"weeks",!0)),c.end.add(6-b,"weeks")),c},setGridHeight:function(a,b){b=b||"variable"===this.opt("weekMode"),b&&(a*=this.rowCnt/6),i(this.dayGrid.rowEls,a,!b)},isFixedWeeks:function(){var a=this.opt("weekMode");return a?"fixed"===a:this.opt("fixedWeekCount")}});Qa.basic={"class":wb},Qa.basicDay={type:"basic",duration:{days:1}},Qa.basicWeek={type:"basic",duration:{weeks:1}},Qa.month={"class":yb,duration:{months:1},defaults:{fixedWeekCount:!0}};var zb=Pa.AgendaView=ob.extend({timeGridClass:nb,timeGrid:null,dayGridClass:mb,dayGrid:null,axisWidth:null,headContainerEl:null,noScrollRowEls:null,bottomRuleEl:null,bottomRuleHeight:null,initialize:function(){this.timeGrid=this.instantiateTimeGrid(),this.opt("allDaySlot")&&(this.dayGrid=this.instantiateDayGrid())},instantiateTimeGrid:function(){var a=this.timeGridClass.extend(Ab);return new a(this)},instantiateDayGrid:function(){var a=this.dayGridClass.extend(Bb);return new a(this)},setRange:function(a){ob.prototype.setRange.call(this,a),this.timeGrid.setRange(a),this.dayGrid&&this.dayGrid.setRange(a)},renderDates:function(){this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scrollerEl=this.el.find(".fc-time-grid-container"),this.timeGrid.setElement(this.el.find(".fc-time-grid")),this.timeGrid.renderDates(),this.bottomRuleEl=a('<hr class="fc-divider '+this.widgetHeaderClass+'"/>').appendTo(this.timeGrid.el),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight()),this.noScrollRowEls=this.el.find(".fc-row:not(.fc-scroller *)")},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.timeGrid.renderHeadHtml())},unrenderDates:function(){this.timeGrid.unrenderDates(),this.timeGrid.removeElement(),this.dayGrid&&(this.dayGrid.unrenderDates(),this.dayGrid.removeElement())},renderBusinessHours:function(){this.timeGrid.renderBusinessHours(),this.dayGrid&&this.dayGrid.renderBusinessHours()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'">'+(this.dayGrid?'<div class="fc-day-grid"/><hr class="fc-divider '+this.widgetHeaderClass+'"/>':"")+'<div class="fc-time-grid-container"><div class="fc-time-grid"/></div></td></tr></tbody></table>'},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},updateSize:function(a){this.timeGrid.updateSize(a),ob.prototype.updateSize.call(this,a)},updateWidth:function(){this.axisWidth=k(this.el.find(".fc-axis"))},setHeight:function(a,b){var c,d;null===this.bottomRuleHeight&&(this.bottomRuleHeight=this.bottomRuleEl.outerHeight()),this.bottomRuleEl.hide(),this.scrollerEl.css("overflow",""),m(this.scrollerEl),f(this.noScrollRowEls),this.dayGrid&&(this.dayGrid.removeSegPopover(),c=this.opt("eventLimit"),c&&"number"!=typeof c&&(c=Cb),c&&this.dayGrid.limitRows(c)),b||(d=this.computeScrollerHeight(a),l(this.scrollerEl,d)?(e(this.noScrollRowEls,r(this.scrollerEl)),d=this.computeScrollerHeight(a),this.scrollerEl.height(d)):(this.scrollerEl.height(d).css("overflow","hidden"),this.bottomRuleEl.show()))},computeInitialScroll:function(){var a=b.duration(this.opt("scrollTime")),c=this.timeGrid.computeTimeTop(a);return c=Math.ceil(c),c&&c++,c},prepareHits:function(){this.timeGrid.prepareHits(),this.dayGrid&&this.dayGrid.prepareHits()},releaseHits:function(){this.timeGrid.releaseHits(),this.dayGrid&&this.dayGrid.releaseHits()},queryHit:function(a,b){var c=this.timeGrid.queryHit(a,b);return!c&&this.dayGrid&&(c=this.dayGrid.queryHit(a,b)),c},getHitSpan:function(a){return a.component.getHitSpan(a)},getHitEl:function(a){return a.component.getHitEl(a)},renderEvents:function(a){var b,c,d=[],e=[],f=[];for(c=0;c<a.length;c++)a[c].allDay?d.push(a[c]):e.push(a[c]);b=this.timeGrid.renderEvents(e),this.dayGrid&&(f=this.dayGrid.renderEvents(d)),this.updateHeight()},getEventSegs:function(){return this.timeGrid.getEventSegs().concat(this.dayGrid?this.dayGrid.getEventSegs():[])},unrenderEvents:function(){this.timeGrid.unrenderEvents(),this.dayGrid&&this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return a.start.hasTime()?this.timeGrid.renderDrag(a,b):this.dayGrid?this.dayGrid.renderDrag(a,b):void 0},unrenderDrag:function(){this.timeGrid.unrenderDrag(),this.dayGrid&&this.dayGrid.unrenderDrag()},renderSelection:function(a){a.start.hasTime()||a.end.hasTime()?this.timeGrid.renderSelection(a):this.dayGrid&&this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.timeGrid.unrenderSelection(),this.dayGrid&&this.dayGrid.unrenderSelection()}}),Ab={renderHeadIntroHtml:function(){var a,b=this.view;return b.opt("weekNumbers")?(a=this.start.format(b.opt("smallWeekFormat")),'<th class="fc-axis fc-week-number '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"><span>"+Y(a)+"</span></th>"):'<th class="fc-axis '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"></th>"},renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Bb={renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"><span>"+(a.opt("allDayHtml")||Y(a.opt("allDayText")))+"</span></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Cb=5,Db=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];return Qa.agenda={"class":zb,defaults:{allDaySlot:!0,allDayText:"all-day",slotDuration:"00:30:00",minTime:"00:00:00",maxTime:"24:00:00",slotEventOverlap:!0}},Qa.agendaDay={type:"agenda",duration:{days:1}},Qa.agendaWeek={type:"agenda",duration:{weeks:1}},Pa}); \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.print.css b/library/fullcalendar/fullcalendar.print.css
index e92f900cd..07b3414d1 100644
--- a/library/fullcalendar/fullcalendar.print.css
+++ b/library/fullcalendar/fullcalendar.print.css
@@ -1,7 +1,7 @@
/*!
- * FullCalendar v1.6.0 Print Stylesheet
- * Docs & License: http://arshaw.com/fullcalendar/
- * (c) 2013 Adam Shaw
+ * FullCalendar v2.5.0-beta Print Stylesheet
+ * Docs & License: http://fullcalendar.io/
+ * (c) 2015 Adam Shaw
*/
/*
@@ -9,24 +9,194 @@
* 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.
*/
-
-
- /* Events
------------------------------------------------------*/
-
+
+.fc {
+ max-width: 100% !important;
+}
+
+
+/* Global Event Restyling
+--------------------------------------------------------------------------------------------------*/
+
.fc-event {
background: #fff !important;
color: #000 !important;
- }
-
-/* for vertical events */
-
-.fc-event-bg {
- display: none !important;
- }
-
-.fc-event .ui-resizable-handle {
+ page-break-inside: avoid;
+}
+
+.fc-event .fc-resizer {
+ display: none;
+}
+
+
+/* Table & Day-Row Restyling
+--------------------------------------------------------------------------------------------------*/
+
+th,
+td,
+hr,
+thead,
+tbody,
+.fc-row {
+ border-color: #ccc !important;
+ background: #fff !important;
+}
+
+/* kill the overlaid, absolutely-positioned common components */
+.fc-bg,
+.fc-bgevent-skeleton,
+.fc-highlight-skeleton,
+.fc-helper-skeleton {
+ display: none;
+}
+
+/* don't force a min-height on rows (for DayGrid) */
+.fc tbody .fc-row {
+ height: auto !important; /* undo height that JS set in distributeHeight */
+ min-height: 0 !important; /* undo the min-height from each view's specific stylesheet */
+}
+
+.fc tbody .fc-row .fc-content-skeleton {
+ position: static; /* undo .fc-rigid */
+ padding-bottom: 0 !important; /* use a more border-friendly method for this... */
+}
+
+.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td { /* only works in newer browsers */
+ padding-bottom: 1em; /* ...gives space within the skeleton. also ensures min height in a way */
+}
+
+.fc tbody .fc-row .fc-content-skeleton table {
+ /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
+ making it look more like 3em. for other browers, it will already be this tall */
+ height: 1em;
+}
+
+
+/* Undo month-view event limiting. Display all events and hide the "more" links
+--------------------------------------------------------------------------------------------------*/
+
+.fc-more-cell,
+.fc-more {
display: none !important;
- }
-
-
+}
+
+.fc tr.fc-limited {
+ display: table-row !important;
+}
+
+.fc td.fc-limited {
+ display: table-cell !important;
+}
+
+.fc-popover {
+ display: none; /* never display the "more.." popover in print mode */
+}
+
+
+/* TimeGrid Restyling
+--------------------------------------------------------------------------------------------------*/
+
+/* undo the min-height 100% trick used to fill the container's height */
+.fc-time-grid {
+ min-height: 0 !important;
+}
+
+/* don't display the side axis at all ("all-day" and time cells) */
+.fc-agenda-view .fc-axis {
+ display: none;
+}
+
+/* don't display the horizontal lines */
+.fc-slats,
+.fc-time-grid hr { /* this hr is used when height is underused and needs to be filled */
+ display: none !important; /* important overrides inline declaration */
+}
+
+/* let the container that holds the events be naturally positioned and create real height */
+.fc-time-grid .fc-content-skeleton {
+ position: static;
+}
+
+/* in case there are no events, we still want some height */
+.fc-time-grid .fc-content-skeleton table {
+ height: 4em;
+}
+
+/* kill the horizontal spacing made by the event container. event margins will be done below */
+.fc-time-grid .fc-event-container {
+ margin: 0 !important;
+}
+
+
+/* TimeGrid *Event* Restyling
+--------------------------------------------------------------------------------------------------*/
+
+/* naturally position events, vertically stacking them */
+.fc-time-grid .fc-event {
+ position: static !important;
+ margin: 3px 2px !important;
+}
+
+/* for events that continue to a future day, give the bottom border back */
+.fc-time-grid .fc-event.fc-not-end {
+ border-bottom-width: 1px !important;
+}
+
+/* indicate the event continues via "..." text */
+.fc-time-grid .fc-event.fc-not-end:after {
+ content: "...";
+}
+
+/* for events that are continuations from previous days, give the top border back */
+.fc-time-grid .fc-event.fc-not-start {
+ border-top-width: 1px !important;
+}
+
+/* indicate the event is a continuation via "..." text */
+.fc-time-grid .fc-event.fc-not-start:before {
+ content: "...";
+}
+
+/* time */
+
+/* undo a previous declaration and let the time text span to a second line */
+.fc-time-grid .fc-event .fc-time {
+ white-space: normal !important;
+}
+
+/* hide the the time that is normally displayed... */
+.fc-time-grid .fc-event .fc-time span {
+ display: none;
+}
+
+/* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
+.fc-time-grid .fc-event .fc-time:after {
+ content: attr(data-full);
+}
+
+
+/* Vertical Scroller & Containers
+--------------------------------------------------------------------------------------------------*/
+
+/* kill the scrollbars and allow natural height */
+.fc-scroller,
+.fc-day-grid-container, /* these divs might be assigned height, which we need to cleared */
+.fc-time-grid-container { /* */
+ overflow: visible !important;
+ height: auto !important;
+}
+
+/* kill the horizontal border/padding used to compensate for scrollbars */
+.fc-row {
+ border: 0 !important;
+ margin: 0 !important;
+}
+
+
+/* Button Controls
+--------------------------------------------------------------------------------------------------*/
+
+.fc-button-group,
+.fc button {
+ display: none; /* don't display any button-related controls */
+}
diff --git a/library/fullcalendar/gcal.js b/library/fullcalendar/gcal.js
index 64263fcf3..8dc96fa14 100644
--- a/library/fullcalendar/gcal.js
+++ b/library/fullcalendar/gcal.js
@@ -1,107 +1,180 @@
/*!
- * FullCalendar v1.6.0 Google Calendar Plugin
- * Docs & License: http://arshaw.com/fullcalendar/
- * (c) 2013 Adam Shaw
+ * FullCalendar v2.5.0-beta Google Calendar Plugin
+ * Docs & License: http://fullcalendar.io/
+ * (c) 2015 Adam Shaw
*/
-(function($) {
+(function(factory) {
+ if (typeof define === 'function' && define.amd) {
+ define([ 'jquery' ], factory);
+ }
+ else if (typeof exports === 'object') { // Node/CommonJS
+ module.exports = factory(require('jquery'));
+ }
+ else {
+ factory(jQuery);
+ }
+})(function($) {
-var fc = $.fullCalendar;
-var formatDate = fc.formatDate;
-var parseISO8601 = fc.parseISO8601;
-var addDays = fc.addDays;
-var applyAll = fc.applyAll;
+var API_BASE = 'https://www.googleapis.com/calendar/v3/calendars';
+var FC = $.fullCalendar;
+var applyAll = FC.applyAll;
-fc.sourceNormalizers.push(function(sourceOptions) {
- if (sourceOptions.dataType == 'gcal' ||
- sourceOptions.dataType === undefined &&
- (sourceOptions.url || '').match(/^(http|https):\/\/www.google.com\/calendar\/feeds\//)) {
- sourceOptions.dataType = 'gcal';
- if (sourceOptions.editable === undefined) {
- sourceOptions.editable = false;
- }
+FC.sourceNormalizers.push(function(sourceOptions) {
+ var googleCalendarId = sourceOptions.googleCalendarId;
+ var url = sourceOptions.url;
+ var match;
+
+ // if the Google Calendar ID hasn't been explicitly defined
+ if (!googleCalendarId && url) {
+
+ // detect if the ID was specified as a single string.
+ // will match calendars like "asdf1234@calendar.google.com" in addition to person email calendars.
+ if (/^[^\/]+@([^\/\.]+\.)*(google|googlemail|gmail)\.com$/.test(url)) {
+ googleCalendarId = url;
}
-});
+ // try to scrape it out of a V1 or V3 API feed URL
+ else if (
+ (match = /^https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/([^\/]*)/.exec(url)) ||
+ (match = /^https?:\/\/www.google.com\/calendar\/feeds\/([^\/]*)/.exec(url))
+ ) {
+ googleCalendarId = decodeURIComponent(match[1]);
+ }
+
+ if (googleCalendarId) {
+ sourceOptions.googleCalendarId = googleCalendarId;
+ }
+ }
-fc.sourceFetchers.push(function(sourceOptions, start, end) {
- if (sourceOptions.dataType == 'gcal') {
- return transformOptions(sourceOptions, start, end);
+ if (googleCalendarId) { // is this a Google Calendar?
+
+ // make each Google Calendar source uneditable by default
+ if (sourceOptions.editable == null) {
+ sourceOptions.editable = false;
+ }
+
+ // We want removeEventSource to work, but it won't know about the googleCalendarId primitive.
+ // Shoehorn it into the url, which will function as the unique primitive. Won't cause side effects.
+ // This hack is obsolete since 2.2.3, but keep it so this plugin file is compatible with old versions.
+ sourceOptions.url = googleCalendarId;
}
});
-function transformOptions(sourceOptions, start, end) {
+FC.sourceFetchers.push(function(sourceOptions, start, end, timezone) {
+ if (sourceOptions.googleCalendarId) {
+ return transformOptions(sourceOptions, start, end, timezone, this); // `this` is the calendar
+ }
+});
+
+function transformOptions(sourceOptions, start, end, timezone, calendar) {
+ var url = API_BASE + '/' + encodeURIComponent(sourceOptions.googleCalendarId) + '/events?callback=?'; // jsonp
+ var apiKey = sourceOptions.googleCalendarApiKey || calendar.options.googleCalendarApiKey;
var success = sourceOptions.success;
- var data = $.extend({}, sourceOptions.data || {}, {
- 'start-min': formatDate(start, 'u'),
- 'start-max': formatDate(end, 'u'),
- 'singleevents': true,
- 'max-results': 9999
- });
-
- var ctz = sourceOptions.currentTimezone;
- if (ctz) {
- data.ctz = ctz = ctz.replace(' ', '_');
+ var data;
+ var timezoneArg; // populated when a specific timezone. escaped to Google's liking
+
+ function reportError(message, apiErrorObjs) {
+ var errorObjs = apiErrorObjs || [ { message: message } ]; // to be passed into error handlers
+
+ // call error handlers
+ (sourceOptions.googleCalendarError || $.noop).apply(calendar, errorObjs);
+ (calendar.options.googleCalendarError || $.noop).apply(calendar, errorObjs);
+
+ // print error to debug console
+ FC.warn.apply(null, [ message ].concat(apiErrorObjs || []));
}
+ if (!apiKey) {
+ reportError("Specify a googleCalendarApiKey. See http://fullcalendar.io/docs/google_calendar/");
+ return {}; // an empty source to use instead. won't fetch anything.
+ }
+
+ // The API expects an ISO8601 datetime with a time and timezone part.
+ // Since the calendar's timezone offset isn't always known, request the date in UTC and pad it by a day on each
+ // side, guaranteeing we will receive all events in the desired range, albeit a superset.
+ // .utc() will set a zone and give it a 00:00:00 time.
+ if (!start.hasZone()) {
+ start = start.clone().utc().add(-1, 'day');
+ }
+ if (!end.hasZone()) {
+ end = end.clone().utc().add(1, 'day');
+ }
+
+ // when sending timezone names to Google, only accepts underscores, not spaces
+ if (timezone && timezone != 'local') {
+ timezoneArg = timezone.replace(' ', '_');
+ }
+
+ data = $.extend({}, sourceOptions.data || {}, {
+ key: apiKey,
+ timeMin: start.format(),
+ timeMax: end.format(),
+ timeZone: timezoneArg,
+ singleEvents: true,
+ maxResults: 9999
+ });
+
return $.extend({}, sourceOptions, {
- url: sourceOptions.url.replace(/\/basic$/, '/full') + '?alt=json-in-script&callback=?',
- dataType: 'jsonp',
+ googleCalendarId: null, // prevents source-normalizing from happening again
+ url: url,
data: data,
- startParam: false,
- endParam: false,
+ startParam: false, // `false` omits this parameter. we already included it above
+ endParam: false, // same
+ timezoneParam: false, // same
success: function(data) {
var events = [];
- if (data.feed.entry) {
- $.each(data.feed.entry, function(i, entry) {
- var startStr = entry['gd$when'][0]['startTime'];
- var start = parseISO8601(startStr, true);
- var end = parseISO8601(entry['gd$when'][0]['endTime'], true);
- var allDay = startStr.indexOf('T') == -1;
- var url;
- $.each(entry.link, function(i, link) {
- if (link.type == 'text/html') {
- url = link.href;
- if (ctz) {
- url += (url.indexOf('?') == -1 ? '?' : '&') + 'ctz=' + ctz;
- }
- }
- });
- if (allDay) {
- addDays(end, -1); // make inclusive
+ var successArgs;
+ var successRes;
+
+ if (data.error) {
+ reportError('Google Calendar API: ' + data.error.message, data.error.errors);
+ }
+ else if (data.items) {
+ $.each(data.items, function(i, entry) {
+ var url = entry.htmlLink;
+
+ // make the URLs for each event show times in the correct timezone
+ if (timezoneArg) {
+ url = injectQsComponent(url, 'ctz=' + timezoneArg);
}
+
events.push({
- id: entry['gCal$uid']['value'],
- title: entry['title']['$t'],
+ id: entry.id,
+ title: entry.summary,
+ start: entry.start.dateTime || entry.start.date, // try timed. will fall back to all-day
+ end: entry.end.dateTime || entry.end.date, // same
url: url,
- start: start,
- end: end,
- allDay: allDay,
- location: entry['gd$where'][0]['valueString'],
- description: entry['content']['$t']
+ location: entry.location,
+ description: entry.description
});
});
+
+ // call the success handler(s) and allow it to return a new events array
+ successArgs = [ events ].concat(Array.prototype.slice.call(arguments, 1)); // forward other jq args
+ successRes = applyAll(success, this, successArgs);
+ if ($.isArray(successRes)) {
+ return successRes;
+ }
}
- var args = [events].concat(Array.prototype.slice.call(arguments, 1));
- var res = applyAll(success, this, args);
- if ($.isArray(res)) {
- return res;
- }
+
return events;
}
});
-
}
-// legacy
-fc.gcalFeed = function(url, sourceOptions) {
- return $.extend({}, sourceOptions, { url: url, dataType: 'gcal' });
-};
+// Injects a string like "arg=value" into the querystring of a URL
+function injectQsComponent(url, component) {
+ // inject it after the querystring but before the fragment
+ return url.replace(/(\?.*?)?(#|$)/, function(whole, qs, hash) {
+ return (qs ? qs + '&' : '?') + component + hash;
+ });
+}
-})(jQuery);
+});
diff --git a/library/fullcalendar/lang-all.js b/library/fullcalendar/lang-all.js
new file mode 100644
index 000000000..94bb2999e
--- /dev/null
+++ b/library/fullcalendar/lang-all.js
@@ -0,0 +1,4 @@
+!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):a(jQuery,moment)}(function(a,b){!function(){(b.defineLocale||b.lang).call(b,"ar-ma",{months:"يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"Ø­_Ù†_Ø«_ر_Ø®_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"ÙÙŠ %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}}),a.fullCalendar.datepickerLang("ar-ma","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["Ø­","Ù†","Ø«","ر","Ø®","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-ma",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){var c={1:"Ù¡",2:"Ù¢",3:"Ù£",4:"Ù¤",5:"Ù¥",6:"Ù¦",7:"Ù§",8:"Ù¨",9:"Ù©",0:"Ù "},d={"Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Ù ":"0"};(b.defineLocale||b.lang).call(b,"ar-sa",{months:"يناير_Ùبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر".split("_"),monthsShort:"يناير_Ùبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"Ø­_Ù†_Ø«_ر_Ø®_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},meridiemParse:/ص|Ù…/,isPM:function(a){return"Ù…"===a},meridiem:function(a,b,c){return 12>a?"ص":"Ù…"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"ÙÙŠ %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return d[a]}).replace(/ØŒ/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return c[a]}).replace(/,/g,"ØŒ")},week:{dow:6,doy:12}}),a.fullCalendar.datepickerLang("ar-sa","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["Ø­","Ù†","Ø«","ر","Ø®","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-sa",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){(b.defineLocale||b.lang).call(b,"ar-tn",{months:"جانÙÙŠ_ÙÙŠÙري_مارس_Ø£Ùريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر".split("_"),monthsShort:"جانÙÙŠ_ÙÙŠÙري_مارس_Ø£Ùريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"Ø­_Ù†_Ø«_ر_Ø®_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"ÙÙŠ %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("ar-tn","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["Ø­","Ù†","Ø«","ر","Ø®","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-tn",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){var c={1:"Ù¡",2:"Ù¢",3:"Ù£",4:"Ù¤",5:"Ù¥",6:"Ù¦",7:"Ù§",8:"Ù¨",9:"Ù©",0:"Ù "},d={"Ù¡":"1","Ù¢":"2","Ù£":"3","Ù¤":"4","Ù¥":"5","Ù¦":"6","Ù§":"7","Ù¨":"8","Ù©":"9","Ù ":"0"},e=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},f={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},g=function(a){return function(b,c,d,g){var h=e(b),i=f[a][e(b)];return 2===h&&(i=i[c?0:1]),i.replace(/%d/i,b)}},h=["كانون الثاني يناير","شباط Ùبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوÙمبر","كانون الأول ديسمبر"];(b.defineLocale||b.lang).call(b,"ar",{months:h,monthsShort:h,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"Ø­_Ù†_Ø«_ر_Ø®_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},meridiemParse:/ص|Ù…/,isPM:function(a){return"Ù…"===a},meridiem:function(a,b,c){return 12>a?"ص":"Ù…"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:g("s"),m:g("m"),mm:g("m"),h:g("h"),hh:g("h"),d:g("d"),dd:g("d"),M:g("M"),MM:g("M"),y:g("y"),yy:g("y")},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return d[a]}).replace(/ØŒ/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return c[a]}).replace(/,/g,"ØŒ")},week:{dow:6,doy:12}}),a.fullCalendar.datepickerLang("ar","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["Ø­","Ù†","Ø«","ر","Ø®","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){(b.defineLocale||b.lang).call(b,"bg",{months:"Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември".split("_"),monthsShort:"Ñнр_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек".split("_"),weekdays:"неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота".split("_"),weekdaysShort:"нед_пон_вто_ÑÑ€Ñ_чет_пет_Ñъб".split("_"),weekdaysMin:"нд_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Ð”Ð½ÐµÑ Ð²] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Ð’ изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[Ð’ изминалиÑ] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"Ñлед %s",past:"преди %s",s:"нÑколко Ñекунди",m:"минута",mm:"%d минути",h:"чаÑ",hh:"%d чаÑа",d:"ден",dd:"%d дни",M:"меÑец",MM:"%d меÑеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("bg","bg",{closeText:"затвори",prevText:"&#x3C;назад",nextText:"напред&#x3E;",nextBigText:"&#x3E;&#x3E;",currentText:"днеÑ",monthNames:["Януари","Февруари","Март","Ðприл","Май","Юни","Юли","ÐвгуÑÑ‚","Септември","Октомври","Ðоември","Декември"],monthNamesShort:["Яну","Фев","Мар","Ðпр","Май","Юни","Юли","Ðвг","Сеп","Окт","Ðов","Дек"],dayNames:["ÐеделÑ","Понеделник","Вторник","СрÑда","Четвъртък","Петък","Събота"],dayNamesShort:["Ðед","Пон","Вто","СрÑ","Чет","Пет","Съб"],dayNamesMin:["Ðе","По","Ð’Ñ‚","Ср","Че","Пе","Съ"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("bg",{buttonText:{month:"МеÑец",week:"Седмица",day:"Ден",list:"График"},allDayText:"ЦÑл ден",eventLimitText:function(a){return"+още "+a}})}(),function(){(b.defineLocale||b.lang).call(b,"ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return("w"===b||"W"===b)&&(c="a"),a+c},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("ca","ca",{closeText:"Tanca",prevText:"Anterior",nextText:"Següent",currentText:"Avui",monthNames:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthNamesShort:["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des"],dayNames:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],dayNamesShort:["dg","dl","dt","dc","dj","dv","ds"],dayNamesMin:["dg","dl","dt","dc","dj","dv","ds"],weekHeader:"Set",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ca",{buttonText:{month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},allDayText:"Tot el dia",eventLimitText:"més"})}(),function(){function c(a){return a>1&&5>a&&1!==~~(a/10)}function d(a,b,d,e){var f=a+" ";switch(d){case"s":return b||e?"pár sekund":"pár sekundami";case"m":return b?"minuta":e?"minutu":"minutou";case"mm":return b||e?f+(c(a)?"minuty":"minut"):f+"minutami";case"h":return b?"hodina":e?"hodinu":"hodinou";case"hh":return b||e?f+(c(a)?"hodiny":"hodin"):f+"hodinami";case"d":return b||e?"den":"dnem";case"dd":return b||e?f+(c(a)?"dny":"dní"):f+"dny";case"M":return b||e?"mÄ›síc":"mÄ›sícem";case"MM":return b||e?f+(c(a)?"mÄ›síce":"mÄ›síců"):f+"mÄ›síci";case"y":return b||e?"rok":"rokem";case"yy":return b||e?f+(c(a)?"roky":"let"):f+"lety"}}var e="leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_září_říjen_listopad_prosinec".split("_"),f="led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_říj_lis_pro".split("_");(b.defineLocale||b.lang).call(b,"cs",{months:e,monthsShort:f,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(e,f),weekdays:"nedÄ›le_pondÄ›lí_úterý_stÅ™eda_Ätvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_Ät_pá_so".split("_"),weekdaysMin:"ne_po_út_st_Ät_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedÄ›li v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve stÅ™edu v] LT";case 4:return"[ve Ätvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[vÄera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou nedÄ›li v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou stÅ™edu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pÅ™ed %s",s:d,m:d,mm:d,h:d,hh:d,d:d,dd:d,M:d,MM:d,y:d,yy:d},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("cs","cs",{closeText:"Zavřít",prevText:"&#x3C;Dříve",nextText:"PozdÄ›ji&#x3E;",currentText:"Nyní",monthNames:["leden","únor","bÅ™ezen","duben","kvÄ›ten","Äerven","Äervenec","srpen","září","říjen","listopad","prosinec"],monthNamesShort:["led","úno","bÅ™e","dub","kvÄ›","Äer","Ävc","srp","zář","říj","lis","pro"],dayNames:["nedÄ›le","pondÄ›lí","úterý","stÅ™eda","Ätvrtek","pátek","sobota"],dayNamesShort:["ne","po","út","st","Ät","pá","so"],dayNamesMin:["ne","po","út","st","Ät","pá","so"],weekHeader:"Týd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("cs",{buttonText:{month:"MÄ›síc",week:"Týden",day:"Den",list:"Agenda"},allDayText:"Celý den",eventLimitText:function(a){return"+další: "+a}})}(),function(){(b.defineLocale||b.lang).call(b,"da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd [d.] D. MMMM YYYY LT"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I gÃ¥r kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"fÃ¥ sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en mÃ¥ned",MM:"%d mÃ¥neder",y:"et Ã¥r",yy:"%d Ã¥r"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("da","da",{closeText:"Luk",prevText:"&#x3C;Forrige",nextText:"Næste&#x3E;",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],dayNamesShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayNamesMin:["Sø","Ma","Ti","On","To","Fr","Lø"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("da",{buttonText:{month:"MÃ¥ned",week:"Uge",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"flere"})}(),function(){function c(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}(b.defineLocale||b.lang).call(b,"de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:c,mm:"%d Minuten",h:c,hh:"%d Stunden",d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("de-at","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de-at",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){function c(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}(b.defineLocale||b.lang).call(b,"de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:c,mm:"%d Minuten",h:c,hh:"%d Stunden",d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("de","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){(b.defineLocale||b.lang).call(b,"el",{monthsNominativeEl:"ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτέμβÏιος_ΟκτώβÏιος_ÎοέμβÏιος_ΔεκέμβÏιος".split("_"),monthsGenitiveEl:"ΙανουαÏίου_ΦεβÏουαÏίου_ΜαÏτίου_ΑπÏιλίου_ΜαÎου_Ιουνίου_Ιουλίου_ΑυγοÏστου_ΣεπτεμβÏίου_ΟκτωβÏίου_ÎοεμβÏίου_ΔεκεμβÏίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_ΜαÏ_ΑπÏ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Îοε_Δεκ".split("_"),weekdays:"ΚυÏιακή_ΔευτέÏα_ΤÏίτη_ΤετάÏτη_Πέμπτη_ΠαÏασκευή_Σάββατο".split("_"),weekdaysShort:"ΚυÏ_Δευ_ΤÏι_Τετ_Πεμ_ΠαÏ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_ΤÏ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Îœ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[ΣήμεÏα {}] LT",nextDay:"[ΑÏÏιο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το Ï€ÏοηγοÏμενο] dddd [{}] LT";default:return"[την Ï€ÏοηγοÏμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return"function"==typeof c&&(c=c.apply(b)),c.replace("{}",d%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s Ï€Ïιν",s:"λίγα δευτεÏόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ÏŽÏα",hh:"%d ÏŽÏες",d:"μία μέÏα",dd:"%d μέÏες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χÏόνος",yy:"%d χÏόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("el","el",{closeText:"Κλείσιμο",prevText:"ΠÏοηγοÏμενος",nextText:"Επόμενος",currentText:"ΣήμεÏα",monthNames:["ΙανουάÏιος","ΦεβÏουάÏιος","ΜάÏτιος","ΑπÏίλιος","Μάιος","ΙοÏνιος","ΙοÏλιος","ΑÏγουστος","ΣεπτέμβÏιος","ΟκτώβÏιος","ÎοέμβÏιος","ΔεκέμβÏιος"],monthNamesShort:["Ιαν","Φεβ","ΜαÏ","ΑπÏ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Îοε","Δεκ"],dayNames:["ΚυÏιακή","ΔευτέÏα","ΤÏίτη","ΤετάÏτη","Πέμπτη","ΠαÏασκευή","Σάββατο"],dayNamesShort:["ΚυÏ","Δευ","ΤÏι","Τετ","Πεμ","ΠαÏ","Σαβ"],dayNamesMin:["Κυ","Δε","ΤÏ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("el",{buttonText:{month:"Μήνας",week:"Εβδομάδα",day:"ΗμέÏα",list:"Ατζέντα"},allDayText:"ΟλοήμεÏο",eventLimitText:"πεÏισσότεÏα"})}(),function(){(b.defineLocale||b.lang).call(b,"en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("en-au","en-AU",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",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"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-au")}(),function(){(b.defineLocale||b.lang).call(b,"en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY LT",LLLL:"dddd, D MMMM, YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.fullCalendar.lang("en-ca")}(),function(){(b.defineLocale||b.lang).call(b,"en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("en-gb","en-GB",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",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"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-gb")}(),function(){var c="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),d="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");(b.defineLocale||b.lang).call(b,"es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?d[a.month()]:c[a.month()]},weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("es","es",{closeText:"Cerrar",prevText:"&#x3C;Ant",nextText:"Sig&#x3E;",currentText:"Hoy",monthNames:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthNamesShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],dayNames:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],dayNamesShort:["dom","lun","mar","mié","jue","vie","sáb"],dayNamesMin:["D","L","M","X","J","V","S"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("es",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Agenda"},allDayHtml:"Todo<br/>el día",eventLimitText:"más"})}(),function(){var c={1:"Û±",2:"Û²",3:"Û³",4:"Û´",5:"Ûµ",6:"Û¶",7:"Û·",8:"Û¸",9:"Û¹",0:"Û°"},d={"Û±":"1","Û²":"2","Û³":"3","Û´":"4","Ûµ":"5","Û¶":"6","Û·":"7","Û¸":"8","Û¹":"9","Û°":"0"};(b.defineLocale||b.lang).call(b,"fa",{months:"ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ÛŒ_د_س_Ú†_Ù¾_ج_Ø´".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){return 12>a?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[Ùردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[Û°-Û¹]/g,function(a){return d[a]}).replace(/ØŒ/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return c[a]}).replace(/,/g,"ØŒ")},ordinalParse:/\d{1,2}Ù…/,ordinal:"%dÙ…",week:{dow:6,doy:12}}),a.fullCalendar.datepickerLang("fa","fa",{closeText:"بستن",prevText:"&#x3C;قبلی",nextText:"بعدی&#x3E;",currentText:"امروز",monthNames:["ژانویه","Ùوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["يکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayNamesShort:["ÛŒ","د","س","Ú†","Ù¾","ج","Ø´"],dayNamesMin:["ÛŒ","د","س","Ú†","Ù¾","ج","Ø´"],weekHeader:"Ù‡Ù",dateFormat:"yy/mm/dd",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fa",{buttonText:{month:"ماه",week:"Ù‡Ùته",day:"روز",list:"برنامه"
+},allDayText:"تمام روز",eventLimitText:function(a){return"بیش از "+a}})}(),function(){function c(a,b,c,e){var f="";switch(c){case"s":return e?"muutaman sekunnin":"muutama sekunti";case"m":return e?"minuutin":"minuutti";case"mm":f=e?"minuutin":"minuuttia";break;case"h":return e?"tunnin":"tunti";case"hh":f=e?"tunnin":"tuntia";break;case"d":return e?"päivän":"päivä";case"dd":f=e?"päivän":"päivää";break;case"M":return e?"kuukauden":"kuukausi";case"MM":f=e?"kuukauden":"kuukautta";break;case"y":return e?"vuoden":"vuosi";case"yy":f=e?"vuoden":"vuotta"}return f=d(a,e)+" "+f}function d(a,b){return 10>a?b?f[a]:e[a]:a}var e="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),f=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",e[7],e[8],e[9]];(b.defineLocale||b.lang).call(b,"fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("fi","fi",{closeText:"Sulje",prevText:"&#xAB;Edellinen",nextText:"Seuraava&#xBB;",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"d.m.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fi",{buttonText:{month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},allDayText:"Koko päivä",eventLimitText:"lisää"})}(),function(){(b.defineLocale||b.lang).call(b,"fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")}}),a.fullCalendar.datepickerLang("fr-ca","fr-CA",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr-ca",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){(b.defineLocale||b.lang).call(b,"fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("fr","fr",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr",{buttonText:{month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){(b.defineLocale||b.lang).call(b,"he",{months:"ינו×ר_פברו×ר_מרץ_×פריל_מ××™_יוני_יולי_×וגוסט_ספטמבר_×וקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_×פר׳_מ××™_יוני_יולי_×וג׳_ספט׳_×וק׳_נוב׳_דצמ׳".split("_"),weekdays:"ר×שון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"×׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"×_ב_×’_ד_×”_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY LT",LLLL:"dddd, D [ב]MMMM YYYY LT",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[×”×™×•× ×‘Ö¾]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[×תמול ב־]LT",lastWeek:"[ביו×] dddd [×”×חרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(a){return 2===a?"שעתיי×":a+" שעות"},d:"יו×",dd:function(a){return 2===a?"יומיי×":a+" ימי×"},M:"חודש",MM:function(a){return 2===a?"חודשיי×":a+" חודשי×"},y:"שנה",yy:function(a){return 2===a?"שנתיי×":a%10===0&&10!==a?a+" שנה":a+" שני×"}}}),a.fullCalendar.datepickerLang("he","he",{closeText:"סגור",prevText:"&#x3C;הקוד×",nextText:"הב×&#x3E;",currentText:"היו×",monthNames:["ינו×ר","פברו×ר","מרץ","×פריל","מ××™","יוני","יולי","×וגוסט","ספטמבר","×וקטובר","נובמבר","דצמבר"],monthNamesShort:["ינו","פבר","מרץ","×פר","מ××™","יוני","יולי","×וג","ספט","×וק","נוב","דצמ"],dayNames:["ר×שון","שני","שלישי","רביעי","חמישי","שישי","שבת"],dayNamesShort:["×'","ב'","×’'","ד'","×”'","ו'","שבת"],dayNamesMin:["×'","ב'","×’'","ד'","×”'","ו'","שבת"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("he",{defaultButtonText:{month:"חודש",week:"שבוע",day:"יו×",list:"סדר יו×"},weekNumberTitle:"שבוע",allDayText:"כל היו×",eventLimitText:"×חר"})}(),function(){var c={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},d={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};(b.defineLocale||b.lang).call(b,"hi",{months:"जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°".split("_"),monthsShort:"जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.".split("_"),weekdays:"रविवार_सोमवार_मंगलवार_बà¥à¤§à¤µà¤¾à¤°_गà¥à¤°à¥‚वार_शà¥à¤•à¥à¤°à¤µà¤¾à¤°_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बà¥à¤§_गà¥à¤°à¥‚_शà¥à¤•à¥à¤°_शनि".split("_"),weekdaysMin:"र_सो_मं_बà¥_गà¥_शà¥_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कà¥à¤› ही कà¥à¤·à¤£",m:"à¤à¤• मिनट",mm:"%d मिनट",h:"à¤à¤• घंटा",hh:"%d घंटे",d:"à¤à¤• दिन",dd:"%d दिन",M:"à¤à¤• महीने",MM:"%d महीने",y:"à¤à¤• वरà¥à¤·",yy:"%d वरà¥à¤·"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return d[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return c[a]})},meridiemParse:/रात|सà¥à¤¬à¤¹|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?4>a?a:a+12:"सà¥à¤¬à¤¹"===b?a:"दोपहर"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रात":10>a?"सà¥à¤¬à¤¹":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}}),a.fullCalendar.datepickerLang("hi","hi",{closeText:"बंद",prevText:"पिछला",nextText:"अगला",currentText:"आज",monthNames:["जनवरी ","फरवरी","मारà¥à¤š","अपà¥à¤°à¥‡à¤²","मई","जून","जूलाई","अगसà¥à¤¤ ","सितमà¥à¤¬à¤°","अकà¥à¤Ÿà¥‚बर","नवमà¥à¤¬à¤°","दिसमà¥à¤¬à¤°"],monthNamesShort:["जन","फर","मारà¥à¤š","अपà¥à¤°à¥‡à¤²","मई","जून","जूलाई","अग","सित","अकà¥à¤Ÿ","नव","दि"],dayNames:["रविवार","सोमवार","मंगलवार","बà¥à¤§à¤µà¤¾à¤°","गà¥à¤°à¥à¤µà¤¾à¤°","शà¥à¤•à¥à¤°à¤µà¤¾à¤°","शनिवार"],dayNamesShort:["रवि","सोम","मंगल","बà¥à¤§","गà¥à¤°à¥","शà¥à¤•à¥à¤°","शनि"],dayNamesMin:["रवि","सोम","मंगल","बà¥à¤§","गà¥à¤°à¥","शà¥à¤•à¥à¤°","शनि"],weekHeader:"हफà¥à¤¤à¤¾",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hi",{buttonText:{month:"महीना",week:"सपà¥à¤¤à¤¾à¤¹",day:"दिन",list:"कारà¥à¤¯à¤¸à¥‚ची"},allDayText:"सभी दिन",eventLimitText:function(a){return"+अधिक "+a}})}(),function(){function c(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}(b.defineLocale||b.lang).call(b,"hr",{months:"sjeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),monthsShort:"sje._vel._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._Äet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_Äe_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juÄer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[proÅ¡lu] dddd [u] LT";case 6:return"[proÅ¡le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[proÅ¡li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:c,mm:c,h:c,hh:c,d:"dan",dd:c,M:"mjesec",MM:c,y:"godinu",yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("hr","hr",{closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["SijeÄanj","VeljaÄa","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","ÄŒetvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","ÄŒet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","ÄŒe","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hr",{buttonText:{month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},allDayText:"Cijeli dan",eventLimitText:function(a){return"+ joÅ¡ "+a}})}(),function(){function c(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function d(a){return(a?"":"[múlt] ")+"["+e[this.day()]+"] LT[-kor]"}var e="vasárnap hétfÅ‘n kedden szerdán csütörtökön pénteken szombaton".split(" ");(b.defineLocale||b.lang).call(b,"hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfÅ‘_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D., LT",LLLL:"YYYY. MMMM D., dddd LT"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return d.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return d.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("hu","hu",{closeText:"bezár",prevText:"vissza",nextText:"elÅ‘re",currentText:"ma",monthNames:["Január","Február","Március","Ãprilis","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthNamesShort:["Jan","Feb","Már","Ãpr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vasárnap","HétfÅ‘","Kedd","Szerda","Csütörtök","Péntek","Szombat"],dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"Hét",dateFormat:"yy.mm.dd.",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("hu",{buttonText:{month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},allDayText:"Egész nap",eventLimitText:"további"})}(),function(){(b.defineLocale||b.lang).call(b,"id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"LT.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("id","id",{closeText:"Tutup",prevText:"&#x3C;mundur",nextText:"maju&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl","Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("id",{buttonText:{month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},allDayHtml:"Sehari<br/>penuh",eventLimitText:"lebih"})}(),function(){function c(a){return a%100===11?!0:a%10===1?!1:!0}function d(a,b,d,e){var f=a+" ";switch(d){case"s":return b||e?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return b?"mínúta":"mínútu";case"mm":return c(a)?f+(b||e?"mínútur":"mínútum"):b?f+"mínúta":f+"mínútu";case"hh":return c(a)?f+(b||e?"klukkustundir":"klukkustundum"):f+"klukkustund";case"d":return b?"dagur":e?"dag":"degi";case"dd":return c(a)?b?f+"dagar":f+(e?"daga":"dögum"):b?f+"dagur":f+(e?"dag":"degi");case"M":return b?"mánuður":e?"mánuð":"mánuði";case"MM":return c(a)?b?f+"mánuðir":f+(e?"mánuði":"mánuðum"):b?f+"mánuður":f+(e?"mánuð":"mánuði");case"y":return b||e?"ár":"ári";case"yy":return c(a)?f+(b||e?"ár":"árum"):f+(b||e?"ár":"ári")}}(b.defineLocale||b.lang).call(b,"is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd, D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:d,m:d,mm:d,h:"klukkustund",hh:d,d:d,dd:d,M:d,MM:d,y:d,yy:d},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("is","is",{closeText:"Loka",prevText:"&#x3C; Fyrri",nextText:"Næsti &#x3E;",currentText:"à dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ãgúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ãgú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd.mm.yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("is",{buttonText:{month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},allDayHtml:"Allan<br/>daginn",eventLimitText:"meira"})}(),function(){(b.defineLocale||b.lang).call(b,"it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("it","it",{closeText:"Chiudi",prevText:"&#x3C;Prec",nextText:"Succ&#x3E;",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("it",{buttonText:{month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},allDayHtml:"Tutto il<br/>giorno",eventLimitText:function(a){return"+altri "+a}})}(),function(){(b.defineLocale||b.lang).call(b,"ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_ç«æ›œæ—¥_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"æ—¥_月_ç«_æ°´_木_金_土".split("_"),weekdaysMin:"æ—¥_月_ç«_æ°´_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"LTs秒",L:"YYYY/MM/DD",LL:"YYYYå¹´M月Dæ—¥",LLL:"YYYYå¹´M月Dæ—¥LT",LLLL:"YYYYå¹´M月Dæ—¥LT dddd"},meridiemParse:/åˆå‰|åˆå¾Œ/i,isPM:function(a){return"åˆå¾Œ"===a},meridiem:function(a,b,c){return 12>a?"åˆå‰":"åˆå¾Œ"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[æ¥é€±]dddd LT",lastDay:"[昨日] LT",lastWeek:"[å‰é€±]dddd LT",sameElse:"L"},relativeTime:{future:"%s後",past:"%så‰",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1æ—¥",dd:"%dæ—¥",M:"1ヶ月",MM:"%dヶ月",y:"1å¹´",yy:"%då¹´"}}),a.fullCalendar.datepickerLang("ja","ja",{closeText:"é–‰ã˜ã‚‹",prevText:"&#x3C;å‰",nextText:"次&#x3E;",currentText:"今日",monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthNamesShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayNames:["日曜日","月曜日","ç«æ›œæ—¥","水曜日","木曜日","金曜日","土曜日"],dayNamesShort:["æ—¥","月","ç«","æ°´","木","金","土"],dayNamesMin:["æ—¥","月","ç«","æ°´","木","金","土"],weekHeader:"週",dateFormat:"yy/mm/dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"å¹´"}),a.fullCalendar.lang("ja",{buttonText:{month:"月",week:"週",day:"æ—¥",list:"予定リスト"},allDayText:"終日",eventLimitText:function(a){return"ä»– "+a+" 件"}})}(),function(){(b.defineLocale||b.lang).call(b,"ko",{months:"1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”".split("_"),monthsShort:"1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”".split("_"),weekdays:"ì¼ìš”ì¼_월요ì¼_화요ì¼_수요ì¼_목요ì¼_금요ì¼_토요ì¼".split("_"),weekdaysShort:"ì¼_ì›”_í™”_수_목_금_토".split("_"),weekdaysMin:"ì¼_ì›”_í™”_수_목_금_토".split("_"),longDateFormat:{LT:"A hì‹œ m분",LTS:"A hì‹œ m분 sì´ˆ",L:"YYYY.MM.DD",LL:"YYYYë…„ MMMM Dì¼",LLL:"YYYYë…„ MMMM Dì¼ LT",LLLL:"YYYYë…„ MMMM Dì¼ dddd LT"},calendar:{sameDay:"오늘 LT",nextDay:"ë‚´ì¼ LT",nextWeek:"dddd LT",lastDay:"ì–´ì œ LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s ì „",s:"몇초",ss:"%dì´ˆ",m:"ì¼ë¶„",mm:"%d분",h:"한시간",hh:"%d시간",d:"하루",dd:"%dì¼",M:"한달",MM:"%d달",y:"ì¼ë…„",yy:"%dë…„"},ordinalParse:/\d{1,2}ì¼/,ordinal:"%dì¼",meridiemParse:/오전|오후/,isPM:function(a){return"오후"===a},meridiem:function(a,b,c){return 12>a?"오전":"오후"}}),a.fullCalendar.datepickerLang("ko","ko",{closeText:"닫기",prevText:"ì´ì „달",nextText:"다ìŒë‹¬",currentText:"오늘",monthNames:["1ì›”","2ì›”","3ì›”","4ì›”","5ì›”","6ì›”","7ì›”","8ì›”","9ì›”","10ì›”","11ì›”","12ì›”"],monthNamesShort:["1ì›”","2ì›”","3ì›”","4ì›”","5ì›”","6ì›”","7ì›”","8ì›”","9ì›”","10ì›”","11ì›”","12ì›”"],dayNames:["ì¼ìš”ì¼","월요ì¼","화요ì¼","수요ì¼","목요ì¼","금요ì¼","토요ì¼"],dayNamesShort:["ì¼","ì›”","í™”","수","목","금","토"],dayNamesMin:["ì¼","ì›”","í™”","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"ë…„"}),a.fullCalendar.lang("ko",{buttonText:{month:"ì›”",week:"주",day:"ì¼",list:"ì¼ì •ëª©ë¡"},allDayText:"종ì¼",eventLimitText:"ê°œ"})}(),function(){function c(a,b,c,d){return b?"kelios sekundÄ—s":d?"kelių sekundžių":"kelias sekundes"}function d(a,b,c,d){return b?f(c)[0]:d?f(c)[1]:f(c)[2]}function e(a){return a%10===0||a>10&&20>a}function f(a){return i[a].split("_")}function g(a,b,c,g){var h=a+" ";return 1===a?h+d(a,b,c[0],g):b?h+(e(a)?f(c)[1]:f(c)[0]):g?h+f(c)[1]:h+(e(a)?f(c)[1]:f(c)[2])}function h(a,b){var c=-1===b.indexOf("dddd HH:mm"),d=j[a.day()];return c?d:d.substring(0,d.length-2)+"į"}var i={m:"minutÄ—_minutÄ—s_minutÄ™",mm:"minutÄ—s_minuÄių_minutes",h:"valanda_valandos_valandÄ…",hh:"valandos_valandų_valandas",d:"diena_dienos_dienÄ…",dd:"dienos_dienų_dienas",M:"mÄ—nuo_mÄ—nesio_mÄ—nesį",MM:"mÄ—nesiai_mÄ—nesių_mÄ—nesius",y:"metai_metų_metus",yy:"metai_metų_metus"},j="sekmadienis_pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis".split("_");(b.defineLocale||b.lang).call(b,"lt",{months:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjÅ«Äio_rugsÄ—jo_spalio_lapkriÄio_gruodžio".split("_"),monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:h,weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Å eÅ¡".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Å ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], LT [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, LT [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], LT [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, LT [val.]"},calendar:{sameDay:"[Å iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[PraÄ—jusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieÅ¡ %s",s:c,m:d,mm:g,h:d,hh:g,d:d,dd:g,M:d,MM:g,y:d,yy:g},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("lt","lt",{closeText:"Uždaryti",prevText:"&#x3C;Atgal",nextText:"Pirmyn&#x3E;",currentText:"Å iandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","RugpjÅ«tis","RugsÄ—jis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","treÄiadienis","ketvirtadienis","penktadienis","Å¡eÅ¡tadienis"],dayNamesShort:["sek","pir","ant","tre","ket","pen","Å¡eÅ¡"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","Å e"],weekHeader:"SAV",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("lt",{buttonText:{month:"MÄ—nuo",week:"SavaitÄ—",day:"Diena",list:"DarbotvarkÄ—"},allDayText:"VisÄ… dienÄ…",eventLimitText:"daugiau"})}(),function(){function c(a,b,c){var d=a.split("_");return c?b%10===1&&11!==b?d[2]:d[3]:b%10===1&&11!==b?d[0]:d[1]}function d(a,b,d){return a+" "+c(e[d],a,b)}var e={mm:"minÅ«ti_minÅ«tes_minÅ«te_minÅ«tes",hh:"stundu_stundas_stunda_stundas",dd:"dienu_dienas_diena_dienas",MM:"mÄ“nesi_mÄ“neÅ¡us_mÄ“nesis_mÄ“neÅ¡i",yy:"gadu_gadus_gads_gadi"};(b.defineLocale||b.lang).call(b,"lv",{months:"janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec".split("_"),weekdays:"svÄ“tdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, LT",LLLL:"YYYY. [gada] D. MMMM, dddd, LT"},calendar:{sameDay:"[Å odien pulksten] LT",nextDay:"[RÄ«t pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[PagÄjuÅ¡Ä] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"%s vÄ“lÄk",past:"%s agrÄk",s:"dažas sekundes",m:"minÅ«ti",mm:d,h:"stundu",hh:d,d:"dienu",dd:d,M:"mÄ“nesi",MM:d,y:"gadu",yy:d},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("lv","lv",{closeText:"AizvÄ“rt",prevText:"Iepr.",nextText:"NÄk.",currentText:"Å odien",monthNames:["JanvÄris","FebruÄris","Marts","AprÄ«lis","Maijs","JÅ«nijs","JÅ«lijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","JÅ«n","JÅ«l","Aug","Sep","Okt","Nov","Dec"],dayNames:["svÄ“tdiena","pirmdiena","otrdiena","treÅ¡diena","ceturtdiena","piektdiena","sestdiena"],dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Ned.",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("lv",{buttonText:{month:"MÄ“nesis",week:"Nedēļa",day:"Diena",list:"Dienas kÄrtÄ«ba"},allDayText:"Visu dienu",eventLimitText:function(a){return"+vÄ“l "+a}})}(),function(){(b.defineLocale||b.lang).call(b,"nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tirs_ons_tors_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"H.mm",LTS:"LT.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i gÃ¥r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en mÃ¥ned",MM:"%d mÃ¥neder",y:"ett Ã¥r",yy:"%d Ã¥r"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("nb","nb",{closeText:"Lukk",prevText:"&#xAB;Forrige",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nb",{buttonText:{month:"MÃ¥ned",week:"Uke",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"til"})}(),function(){var c="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),d="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_");(b.defineLocale||b.lang).call(b,"nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?d[a.month()]:c[a.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("nl","nl",{closeText:"Sluiten",prevText:"â†",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],
+monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nl",{buttonText:{month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",eventLimitText:"extra"})}(),function(){function c(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function d(a,b,d){var e=a+" ";switch(d){case"m":return b?"minuta":"minutÄ™";case"mm":return e+(c(a)?"minuty":"minut");case"h":return b?"godzina":"godzinÄ™";case"hh":return e+(c(a)?"godziny":"godzin");case"MM":return e+(c(a)?"miesiÄ…ce":"miesiÄ™cy");case"yy":return e+(c(a)?"lata":"lat")}}var e="styczeÅ„_luty_marzec_kwiecieÅ„_maj_czerwiec_lipiec_sierpieÅ„_wrzesieÅ„_październik_listopad_grudzieÅ„".split("_"),f="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅ›nia_października_listopada_grudnia".split("_");(b.defineLocale||b.lang).call(b,"pl",{months:function(a,b){return/D MMMM/.test(b)?f[a.month()]:e[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziaÅ‚ek_wtorek_Å›roda_czwartek_piÄ…tek_sobota".split("_"),weekdaysShort:"nie_pon_wt_Å›r_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_Åšr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[DziÅ› o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszÅ‚Ä… niedzielÄ™ o] LT";case 3:return"[W zeszÅ‚Ä… Å›rodÄ™ o] LT";case 6:return"[W zeszÅ‚Ä… sobotÄ™ o] LT";default:return"[W zeszÅ‚y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:d,mm:d,h:d,hh:d,d:"1 dzieÅ„",dd:"%d dni",M:"miesiÄ…c",MM:d,y:"rok",yy:d},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("pl","pl",{closeText:"Zamknij",prevText:"&#x3C;Poprzedni",nextText:"NastÄ™pny&#x3E;",currentText:"DziÅ›",monthNames:["StyczeÅ„","Luty","Marzec","KwiecieÅ„","Maj","Czerwiec","Lipiec","SierpieÅ„","WrzesieÅ„","Październik","Listopad","GrudzieÅ„"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","PoniedziaÅ‚ek","Wtorek","Åšroda","Czwartek","PiÄ…tek","Sobota"],dayNamesShort:["Nie","Pn","Wt","Åšr","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","Åšr","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pl",{buttonText:{month:"MiesiÄ…c",week:"TydzieÅ„",day:"DzieÅ„",list:"Plan dnia"},allDayText:"CaÅ‚y dzieÅ„",eventLimitText:"wiÄ™cej"})}(),function(){(b.defineLocale||b.lang).call(b,"pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] LT",LLLL:"dddd, D [de] MMMM [de] YYYY [às] LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"}),a.fullCalendar.datepickerLang("pt-br","pt-BR",{closeText:"Fechar",prevText:"&#x3C;Anterior",nextText:"Próximo&#x3E;",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt-br",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Compromissos"},allDayText:"dia inteiro",eventLimitText:function(a){return"mais +"+a}})}(),function(){(b.defineLocale||b.lang).call(b,"pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("pt","pt",{closeText:"Fechar",prevText:"Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},allDayText:"Todo o dia",eventLimitText:"mais"})}(),function(){function c(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}(b.defineLocale||b.lang).call(b,"ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),weekdays:"duminică_luni_marÈ›i_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:c,h:"o oră",hh:c,d:"o zi",dd:c,M:"o lună",MM:c,y:"un an",yy:c},week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("ro","ro",{closeText:"ÃŽnchide",prevText:"&#xAB; Luna precedentă",nextText:"Luna următoare &#xBB;",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminică","Luni","MarÅ£i","Miercuri","Joi","Vineri","Sâmbătă"],dayNamesShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],weekHeader:"Săpt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ro",{buttonText:{prev:"precedentă",next:"următoare",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},allDayText:"Toată ziua",eventLimitText:function(a){return"+alte "+a}})}(),function(){function c(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function d(a,b,d){var e={mm:b?"минута_минуты_минут":"минуту_минуты_минут",hh:"чаÑ_чаÑа_чаÑов",dd:"день_днÑ_дней",MM:"меÑÑц_меÑÑца_меÑÑцев",yy:"год_года_лет"};return"m"===d?b?"минута":"минуту":a+" "+c(e[d],+a)}function e(a,b){var c={nominative:"Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь".split("_"),accusative:"ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function f(a,b){var c={nominative:"Ñнв_фев_март_апр_май_июнь_июль_авг_Ñен_окт_ноÑ_дек".split("_"),accusative:"Ñнв_фев_мар_апр_маÑ_июнÑ_июлÑ_авг_Ñен_окт_ноÑ_дек".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function g(a,b){var c={nominative:"воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота".split("_"),accusative:"воÑкреÑенье_понедельник_вторник_Ñреду_четверг_пÑтницу_Ñубботу".split("_")},d=/\[ ?[Вв] ?(?:прошлую|Ñледующую|Ñту)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}(b.defineLocale||b.lang).call(b,"ru",{months:e,monthsShort:f,weekdays:g,weekdaysShort:"вÑ_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),weekdaysMin:"вÑ_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),monthsParse:[/^Ñнв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|Ñ]/i,/^июн/i,/^июл/i,/^авг/i,/^Ñен/i,/^окт/i,/^ноÑ/i,/^дек/i],longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., LT",LLLL:"dddd, D MMMM YYYY г., LT"},calendar:{sameDay:"[Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ Ð²] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(){return 2===this.day()?"[Во] dddd [в] LT":"[Ð’] dddd [в] LT"},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[Ð’] dddd [в] LT";switch(this.day()){case 0:return"[Ð’ прошлое] dddd [в] LT";case 1:case 2:case 4:return"[Ð’ прошлый] dddd [в] LT";case 3:case 5:case 6:return"[Ð’ прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"неÑколько Ñекунд",m:d,mm:d,h:"чаÑ",hh:d,d:"день",dd:d,M:"меÑÑц",MM:d,y:"год",yy:d},meridiemParse:/ночи|утра|днÑ|вечера/i,isPM:function(a){return/^(днÑ|вечера)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночи":12>a?"утра":17>a?"днÑ":"вечера"},ordinalParse:/\d{1,2}-(й|го|Ñ)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-Ñ";default:return a}},week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("ru","ru",{closeText:"Закрыть",prevText:"&#x3C;Пред",nextText:"След&#x3E;",currentText:"СегоднÑ",monthNames:["Январь","Февраль","Март","Ðпрель","Май","Июнь","Июль","ÐвгуÑÑ‚","СентÑбрь","ОктÑбрь","ÐоÑбрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Ðпр","Май","Июн","Июл","Ðвг","Сен","Окт","ÐоÑ","Дек"],dayNames:["воÑкреÑенье","понедельник","вторник","Ñреда","четверг","пÑтница","Ñуббота"],dayNamesShort:["вÑк","пнд","втр","Ñрд","чтв","птн","Ñбт"],dayNamesMin:["Ð’Ñ","Пн","Ð’Ñ‚","Ср","Чт","Пт","Сб"],weekHeader:"Ðед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ru",{buttonText:{month:"МеÑÑц",week:"ÐеделÑ",day:"День",list:"ПовеÑтка днÑ"},allDayText:"ВеÑÑŒ день",eventLimitText:function(a){return"+ ещё "+a}})}(),function(){function c(a){return a>1&&5>a}function d(a,b,d,e){var f=a+" ";switch(d){case"s":return b||e?"pár sekúnd":"pár sekundami";case"m":return b?"minúta":e?"minútu":"minútou";case"mm":return b||e?f+(c(a)?"minúty":"minút"):f+"minútami";case"h":return b?"hodina":e?"hodinu":"hodinou";case"hh":return b||e?f+(c(a)?"hodiny":"hodín"):f+"hodinami";case"d":return b||e?"deň":"dňom";case"dd":return b||e?f+(c(a)?"dni":"dní"):f+"dňami";case"M":return b||e?"mesiac":"mesiacom";case"MM":return b||e?f+(c(a)?"mesiace":"mesiacov"):f+"mesiacmi";case"y":return b||e?"rok":"rokom";case"yy":return b||e?f+(c(a)?"roky":"rokov"):f+"rokmi"}}var e="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),f="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");(b.defineLocale||b.lang).call(b,"sk",{months:e,monthsShort:f,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(e,f),weekdays:"nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_Å¡t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_Å¡t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo Å¡tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[vÄera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:d,m:d,mm:d,h:d,hh:d,d:d,dd:d,M:d,MM:d,y:d,yy:d},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("sk","sk",{closeText:"ZavrieÅ¥",prevText:"&#x3C;Predchádzajúci",nextText:"Nasledujúci&#x3E;",currentText:"Dnes",monthNames:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],dayNames:["nedeľa","pondelok","utorok","streda","Å¡tvrtok","piatok","sobota"],dayNamesShort:["Ned","Pon","Uto","Str","Å tv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","Å t","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sk",{buttonText:{month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},allDayText:"Celý deň",eventLimitText:function(a){return"+ÄalÅ¡ie: "+a}})}(),function(){function c(a,b,c){var d=a+" ";switch(c){case"m":return b?"ena minuta":"eno minuto";case"mm":return d+=1===a?"minuta":2===a?"minuti":3===a||4===a?"minute":"minut";case"h":return b?"ena ura":"eno uro";case"hh":return d+=1===a?"ura":2===a?"uri":3===a||4===a?"ure":"ur";case"dd":return d+=1===a?"dan":"dni";case"MM":return d+=1===a?"mesec":2===a?"meseca":3===a||4===a?"mesece":"mesecev";case"yy":return d+=1===a?"leto":2===a?"leti":3===a||4===a?"leta":"let"}}(b.defineLocale||b.lang).call(b,"sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_Äetrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._Äet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_Äe_pe_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[vÄeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[prejÅ¡nja] dddd [ob] LT";case 1:case 2:case 4:case 5:return"[prejÅ¡nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"Äez %s",past:"%s nazaj",s:"nekaj sekund",m:c,mm:c,h:c,hh:c,d:"en dan",dd:c,M:"en mesec",MM:c,y:"eno leto",yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("sl","sl",{closeText:"Zapri",prevText:"&#x3C;PrejÅ¡nji",nextText:"Naslednji&#x3E;",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","ÄŒetrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","ÄŒet","Pet","Sob"],dayNamesMin:["Ne","Po","To","Sr","ÄŒe","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sl",{buttonText:{month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},allDayText:"Ves dan",eventLimitText:"veÄ"})}(),function(){var c={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један Ñат","једног Ñата"],hh:["Ñат","Ñата","Ñати"],dd:["дан","дана","дана"],MM:["меÑец","меÑеца","меÑеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,d){var e=c.words[d];return 1===d.length?b?e[0]:e[1]:a+" "+c.correctGrammaticalCase(a,e)}};(b.defineLocale||b.lang).call(b,"sr-cyrl",{months:["јануар","фебруар","март","април","мај","јун","јул","авгуÑÑ‚","Ñептембар","октобар","новембар","децембар"],monthsShort:["јан.","феб.","мар.","апр.","мај","јун","јул","авг.","Ñеп.","окт.","нов.","дец."],weekdays:["недеља","понедељак","уторак","Ñреда","четвртак","петак","Ñубота"],weekdaysShort:["нед.","пон.","уто.","Ñре.","чет.","пет.","Ñуб."],weekdaysMin:["не","по","ут","ÑÑ€","че","пе","Ñу"],longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Ð´Ð°Ð½Ð°Ñ Ñƒ] LT",nextDay:"[Ñутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [Ñреду] [у] LT";case 6:return"[у] [Ñуботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [Ñреде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [Ñуботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико Ñекунди",m:c.translate,mm:c.translate,h:c.translate,hh:c.translate,d:"дан",dd:c.translate,M:"меÑец",MM:c.translate,y:"годину",yy:c.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("sr-cyrl","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"ДанаÑ",monthNames:["Јануар","Фебруар","Март","Ðприл","Мај","Јун","Јул","ÐвгуÑÑ‚","Септембар","Октобар","Ðовембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Ðпр","Мај","Јун","Јул","Ðвг","Сеп","Окт","Ðов","Дец"],dayNames:["Ðедеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Ðед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Ðе","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr-cyrl",{buttonText:{month:"МеÑец",week:"Ðедеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){var c={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,d){var e=c.words[d];return 1===d.length?b?e[0]:e[1]:a+" "+c.correctGrammaticalCase(a,e)}};(b.defineLocale||b.lang).call(b,"sr",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedelja","ponedeljak","utorak","sreda","Äetvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sre.","Äet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","Äe","pe","su"],longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juÄe u] LT",lastWeek:function(){var a=["[proÅ¡le] [nedelje] [u] LT","[proÅ¡log] [ponedeljka] [u] LT","[proÅ¡log] [utorka] [u] LT","[proÅ¡le] [srede] [u] LT","[proÅ¡log] [Äetvrtka] [u] LT","[proÅ¡log] [petka] [u] LT","[proÅ¡le] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:c.translate,mm:c.translate,h:c.translate,hh:c.translate,d:"dan",dd:c.translate,M:"mesec",MM:c.translate,y:"godinu",yy:c.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("sr","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"ДанаÑ",monthNames:["Јануар","Фебруар","Март","Ðприл","Мај","Јун","Јул","ÐвгуÑÑ‚","Септембар","Октобар","Ðовембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Ðпр","Мај","Јун","Јул","Ðвг","Сеп","Окт","Ðов","Дец"],dayNames:["Ðедеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Ðед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Ðе","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr",{buttonText:{month:"МеÑец",week:"Ðедеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){(b.defineLocale||b.lang).call(b,"sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mÃ¥n_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_mÃ¥_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[IgÃ¥r] LT",nextWeek:"dddd LT",lastWeek:"[Förra] dddd[en] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"nÃ¥gra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en mÃ¥nad",MM:"%d mÃ¥nader",y:"ett Ã¥r",yy:"%d Ã¥r"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("sv","sv",{closeText:"Stäng",prevText:"&#xAB;Förra",nextText:"Nästa&#xBB;",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","MÃ¥n","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","MÃ¥ndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","MÃ¥","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sv",{buttonText:{month:"MÃ¥nad",week:"Vecka",day:"Dag",list:"Program"},allDayText:"Heldag",eventLimitText:"till"})}(),function(){(b.defineLocale||b.lang).call(b,"th",{months:"มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม".split("_"),monthsShort:"มà¸à¸£à¸²_à¸à¸¸à¸¡à¸ à¸²_มีนา_เมษา_พฤษภา_มิถุนา_à¸à¸£à¸à¸Žà¸²_สิงหา_à¸à¸±à¸™à¸¢à¸²_ตุลา_พฤศจิà¸à¸²_ธันวา".split("_"),weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุà¸à¸£à¹Œ_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุà¸à¸£à¹Œ_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),longDateFormat:{LT:"H นาฬิà¸à¸² m นาที",LTS:"LT s วินาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา LT",LLLL:"วันddddที่ D MMMM YYYY เวลา LT"},meridiemParse:/à¸à¹ˆà¸­à¸™à¹€à¸—ี่ยง|หลังเที่ยง/,isPM:function(a){return"หลังเที่ยง"===a},meridiem:function(a,b,c){return 12>a?"à¸à¹ˆà¸­à¸™à¹€à¸—ี่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่à¹à¸¥à¹‰à¸§ เวลา] LT",sameElse:"L"},relativeTime:{future:"อีภ%s",past:"%sที่à¹à¸¥à¹‰à¸§",s:"ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}}),a.fullCalendar.datepickerLang("th","th",{closeText:"ปิด",prevText:"&#xAB;&#xA0;ย้อน",nextText:"ถัดไป&#xA0;&#xBB;",currentText:"วันนี้",monthNames:["มà¸à¸£à¸²à¸„ม","à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","à¸à¸£à¸à¸Žà¸²à¸„ม","สิงหาคม","à¸à¸±à¸™à¸¢à¸²à¸¢à¸™","ตุลาคม","พฤศจิà¸à¸²à¸¢à¸™","ธันวาคม"],monthNamesShort:["ม.ค.","à¸.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","à¸.ค.","ส.ค.","à¸.ย.","ต.ค.","พ.ย.","ธ.ค."],dayNames:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุà¸à¸£à¹Œ","เสาร์"],dayNamesShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayNamesMin:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("th",{buttonText:{month:"เดือน",week:"สัปดาห์",day:"วัน",list:"à¹à¸œà¸™à¸‡à¸²à¸™"},allDayText:"ตลอดวัน",eventLimitText:"เพิ่มเติม"})}(),function(){var c={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};(b.defineLocale||b.lang).call(b,"tr",{months:"Ocak_Åžubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄŸustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_ÇarÅŸamba_PerÅŸembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)return a+"'ıncı";var b=a%10,d=a%100-b,e=a>=100?100:null;return a+(c[b]||c[d]||c[e])},week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("tr","tr",{closeText:"kapat",prevText:"&#x3C;geri",nextText:"ileri&#x3e",currentText:"bugün",monthNames:["Ocak","Åžubat","Mart","Nisan","Mayıs","Haziran","Temmuz","AÄŸustos","Eylül","Ekim","Kasım","Aralık"],monthNamesShort:["Oca","Åžub","Mar","Nis","May","Haz","Tem","AÄŸu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Salı","ÇarÅŸamba","PerÅŸembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("tr",{buttonText:{next:"ileri",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},allDayText:"Tüm gün",eventLimitText:"daha fazla"})}(),function(){function c(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function d(a,b,d){var e={mm:"хвилина_хвилини_хвилин",hh:"година_години_годин",dd:"день_дні_днів",MM:"міÑÑць_міÑÑці_міÑÑців",yy:"рік_роки_років"};return"m"===d?b?"хвилина":"хвилину":"h"===d?b?"година":"годину":a+" "+c(e[d],+a)}function e(a,b){var c={nominative:"Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень".split("_"),accusative:"ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ".split("_")},d=/D[oD]? *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function f(a,b){var c={nominative:"неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота".split("_"),accusative:"неділю_понеділок_вівторок_Ñереду_четвер_п’Ñтницю_Ñуботу".split("_"),genitive:"неділі_понеділка_вівторка_Ñереди_четверга_п’Ñтниці_Ñуботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наÑтупної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function g(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}(b.defineLocale||b.lang).call(b,"uk",{months:e,monthsShort:"Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд".split("_"),weekdays:f,weekdaysShort:"нд_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),weekdaysMin:"нд_пн_вт_ÑÑ€_чт_пт_Ñб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Ñ€.",LLL:"D MMMM YYYY Ñ€., LT",LLLL:"dddd, D MMMM YYYY Ñ€., LT"},calendar:{sameDay:g("[Сьогодні "),nextDay:g("[Завтра "),lastDay:g("[Вчора "),nextWeek:g("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return g("[Минулої] dddd [").call(this);case 1:case 2:case 4:return g("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька Ñекунд",m:d,mm:d,h:"годину",hh:d,d:"день",dd:d,M:"міÑÑць",MM:d,y:"рік",yy:d},meridiemParse:/ночі|ранку|днÑ|вечора/,isPM:function(a){return/^(днÑ|вечора)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночі":12>a?"ранку":17>a?"днÑ":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}}),a.fullCalendar.datepickerLang("uk","uk",{closeText:"Закрити",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Сьогодні",monthNames:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","ВереÑень","Жовтень","ЛиÑтопад","Грудень"],monthNamesShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","ЛиÑ","Гру"],dayNames:["неділÑ","понеділок","вівторок","Ñереда","четвер","п’ÑтницÑ","Ñубота"],dayNamesShort:["нед","пнд","вів","Ñрд","чтв","птн","Ñбт"],dayNamesMin:["Ðд","Пн","Ð’Ñ‚","Ср","Чт","Пт","Сб"],weekHeader:"Тиж",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("uk",{buttonText:{month:"МіÑÑць",week:"Тиждень",day:"День",list:"ПорÑдок денний"},allDayText:"УвеÑÑŒ день",eventLimitText:function(a){return"+ще "+a+"..."}})}(),function(){(b.defineLocale||b.lang).call(b,"vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdays:"chủ nhật_thứ hai_thứ ba_thứ tÆ°_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY LT",LLLL:"dddd, D MMMM [năm] YYYY LT",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tá»›i lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tá»›i",past:"%s trÆ°á»›c",s:"vài giây",m:"má»™t phút",mm:"%d phút",h:"má»™t giá»",hh:"%d giá»",d:"má»™t ngày",dd:"%d ngày",M:"má»™t tháng",MM:"%d tháng",y:"má»™t năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),
+a.fullCalendar.datepickerLang("vi","vi",{closeText:"Äóng",prevText:"&#x3C;TrÆ°á»›c",nextText:"Tiếp&#x3E;",currentText:"Hôm nay",monthNames:["Tháng Má»™t","Tháng Hai","Tháng Ba","Tháng TÆ°","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng MÆ°á»i","Tháng MÆ°á»i Má»™t","Tháng MÆ°á»i Hai"],monthNamesShort:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayNames:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ TÆ°","Thứ Năm","Thứ Sáu","Thứ Bảy"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("vi",{buttonText:{month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},allDayText:"Cả ngày",eventLimitText:function(a){return"+ thêm "+a}})}(),function(){(b.defineLocale||b.lang).call(b,"zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_ä¹æœˆ_å月_å一月_å二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"æ—¥_一_二_三_å››_五_å…­".split("_"),longDateFormat:{LT:"Ah点mm",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYYå¹´MMMDæ—¥",LLL:"YYYYå¹´MMMDæ—¥LT",LLLL:"YYYYå¹´MMMDæ—¥ddddLT",l:"YYYY-MM-DD",ll:"YYYYå¹´MMMDæ—¥",lll:"YYYYå¹´MMMDæ—¥LT",llll:"YYYYå¹´MMMDæ—¥ddddLT"},meridiemParse:/凌晨|早上|上åˆ|中åˆ|下åˆ|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上åˆ"===b?a:"下åˆ"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"早上":1130>d?"上åˆ":1230>d?"中åˆ":1800>d?"下åˆ":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var a,c;return a=b().startOf("week"),c=this.unix()-a.unix()>=604800?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var a,c;return a=b().startOf("week"),c=this.unix()<a.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(æ—¥|月|周)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"æ—¥";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%så‰",s:"几秒",m:"1分钟",mm:"%d分钟",h:"1å°æ—¶",hh:"%då°æ—¶",d:"1天",dd:"%d天",M:"1个月",MM:"%d个月",y:"1å¹´",yy:"%då¹´"},week:{dow:1,doy:4}}),a.fullCalendar.datepickerLang("zh-cn","zh-CN",{closeText:"关闭",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","ä¹æœˆ","å月","å一月","å二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","ä¹æœˆ","å月","å一月","å二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["æ—¥","一","二","三","å››","五","å…­"],weekHeader:"周",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"å¹´"}),a.fullCalendar.lang("zh-cn",{buttonText:{month:"月",week:"周",day:"æ—¥",list:"日程"},allDayText:"全天",eventLimitText:function(a){return"å¦å¤– "+a+" 个"}})}(),function(){(b.defineLocale||b.lang).call(b,"zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_ä¹æœˆ_å月_å一月_å二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"æ—¥_一_二_三_å››_五_å…­".split("_"),longDateFormat:{LT:"Ah點mm",LTS:"Ah點m分s秒",L:"YYYYå¹´MMMDæ—¥",LL:"YYYYå¹´MMMDæ—¥",LLL:"YYYYå¹´MMMDæ—¥LT",LLLL:"YYYYå¹´MMMDæ—¥ddddLT",l:"YYYYå¹´MMMDæ—¥",ll:"YYYYå¹´MMMDæ—¥",lll:"YYYYå¹´MMMDæ—¥LT",llll:"YYYYå¹´MMMDæ—¥ddddLT"},meridiemParse:/早上|上åˆ|中åˆ|下åˆ|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"早上"===b||"上åˆ"===b?a:"中åˆ"===b?a>=11?a:a+12:"下åˆ"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 900>d?"早上":1130>d?"上åˆ":1230>d?"中åˆ":1800>d?"下åˆ":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(æ—¥|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"æ—¥";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%så…§",past:"%så‰",s:"幾秒",m:"一分é˜",mm:"%d分é˜",h:"一å°æ™‚",hh:"%då°æ™‚",d:"一天",dd:"%d天",M:"一個月",MM:"%d個月",y:"一年",yy:"%då¹´"}}),a.fullCalendar.datepickerLang("zh-tw","zh-TW",{closeText:"關閉",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","ä¹æœˆ","å月","å一月","å二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","ä¹æœˆ","å月","å一月","å二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["æ—¥","一","二","三","å››","五","å…­"],weekHeader:"周",dateFormat:"yy/mm/dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"å¹´"}),a.fullCalendar.lang("zh-tw",{buttonText:{month:"月",week:"週",day:"天",list:"待辦事項"},allDayText:"全天",eventLimitText:"更多"})}(),(b.locale||b.lang).call(b,"en"),a.fullCalendar.lang("en"),a.datepicker&&a.datepicker.setDefaults(a.datepicker.regional[""])}); \ No newline at end of file
diff --git a/library/fullcalendar/license.txt b/library/fullcalendar/license.txt
deleted file mode 100644
index dd7b48e8b..000000000
--- a/library/fullcalendar/license.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-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/moment/CHANGELOG.md b/library/moment/CHANGELOG.md
new file mode 100644
index 000000000..7da0b1fc0
--- /dev/null
+++ b/library/moment/CHANGELOG.md
@@ -0,0 +1,459 @@
+Changelog
+=========
+
+### 2.10.6
+
+[#2515](https://github.com/moment/moment/pull/2515) Fix regression introduced
+in `2.10.5` related to `moment.ISO_8601` parsing.
+
+### 2.10.5 [See full changelog](https://gist.github.com/ichernev/6ec13ac7efc396da44b2)
+
+Important changes:
+* [#2357](https://github.com/moment/moment/pull/2357) Improve unit bubbling for ISO dates
+ this fixes day to year conversions to work around end-of-year (~365 days). As
+ a side effect 365 days is 11 months and 30 days, and 366 days is one year.
+* [#2438](https://github.com/moment/moment/pull/2438) Fix inconsistent moment.min and moment.max results
+ Return invalid result if any of the inputs is invalid
+* [#2494](https://github.com/moment/moment/pull/2494) Fix two digit year parsing with YYYY format
+ This brings the benefits of YY to YYYY
+* [#2368](https://github.com/moment/moment/pull/2368) perf: use faster form of copying dates, across the board improvement
+
+
+### 2.10.3 [See full changelog](https://gist.github.com/ichernev/f264b9bed5b00f8b1b7f)
+
+* add `moment.fn.to` and `moment.fn.toNow` (similar to `from` and `fromNow`)
+* new locales (Sinhalese (si), Montenegrin (me), Javanese (ja))
+* performance improvements
+
+### 2.10.2
+
+* fixed moment-with-locales in browser env caused by esperanto change
+
+### 2.10.1
+
+* regression: Add moment.duration.fn back
+
+### 2.10.0
+
+Ported code to es6 modules.
+
+### 2.9.0 [See full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7)
+
+languages:
+* [2104](https://github.com/moment/moment/issues/2104) Frisian (fy) language file with unit test
+* [2097](https://github.com/moment/moment/issues/2097) add ar-tn locale
+
+deprecations:
+* [2074](https://github.com/moment/moment/issues/2074) Implement `moment.fn.utcOffset`, deprecate `momen.fn.zone`
+
+features:
+* [2088](https://github.com/moment/moment/issues/2088) add moment.fn.isBetween
+* [2054](https://github.com/moment/moment/issues/2054) Call updateOffset when creating moment (needed for default timezone in
+ moment-timezone)
+* [1893](https://github.com/moment/moment/issues/1893) Add moment.isDate method
+* [1825](https://github.com/moment/moment/issues/1825) Implement toJSON function on Duration
+* [1809](https://github.com/moment/moment/issues/1809) Allowing moment.set() to accept a hash of units
+* [2128](https://github.com/moment/moment/issues/2128) Add firstDayOfWeek, firstDayOfYear locale getters
+* [2131](https://github.com/moment/moment/issues/2131) Add quarter diff support
+
+Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7)
+
+### 2.8.4 [See full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996)
+
+Features:
+
+* [#2000](https://github.com/moment/moment/issues/2000) Add LTS localised format that includes seconds
+* [#1960](https://github.com/moment/moment/issues/1960) added formatToken 'x' for unix offset in milliseconds #1938
+* [#1965](https://github.com/moment/moment/issues/1965) Support 24:00:00.000 to mean next day, at midnight.
+* [#2002](https://github.com/moment/moment/issues/2002) Accept 'date' key when creating moment with object
+* [#2009](https://github.com/moment/moment/issues/2009) Use native toISOString when we can
+
+Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996)
+
+### 2.8.3
+
+Bugfixes:
+
+* [#1801](https://github.com/moment/moment/issues/1801) proper pluralization for Arabic
+* [#1833](https://github.com/moment/moment/issues/1833) improve spm integration
+* [#1871](https://github.com/moment/moment/issues/1871) fix zone bug caused by Firefox 24
+* [#1882](https://github.com/moment/moment/issues/1882) Use hh:mm in Czech
+* [#1883](https://github.com/moment/moment/issues/1883) Fix 2.8.0 regression in duration as conversions
+* [#1890](https://github.com/moment/moment/issues/1890) Faster travis builds
+* [#1892](https://github.com/moment/moment/issues/1892) Faster isBefore/After/Same
+* [#1848](https://github.com/moment/moment/issues/1848) Fix flaky month diffs
+* [#1895](https://github.com/moment/moment/issues/1895) Fix 2.8.0 regression in moment.utc with format array
+* [#1896](https://github.com/moment/moment/issues/1896) Support setting invalid instance locale (noop)
+* [#1897](https://github.com/moment/moment/issues/1897) Support moment([str]) in addition to moment([int])
+
+### 2.8.2
+
+Minor bugfixes:
+
+* [#1874](https://github.com/moment/moment/issues/1874) use `Object.prototype.hasOwnProperty`
+ instead of `obj.hasOwnProperty` (ie8 bug)
+* [#1873](https://github.com/moment/moment/issues/1873) add `duration#toString()`
+* [#1859](https://github.com/moment/moment/issues/1859) better month/weekday names in norwegian
+* [#1812](https://github.com/moment/moment/issues/1812) meridiem parsing for greek
+* [#1804](https://github.com/moment/moment/issues/1804) spanish del -> de
+* [#1800](https://github.com/moment/moment/issues/1800) korean LT improvement
+
+### 2.8.1
+
+* bugfix [#1813](https://github.com/moment/moment/issues/1813): fix moment().lang([key]) incompatibility
+
+### 2.8.0 [See changelog](https://gist.github.com/ichernev/ac3899324a5fa6c8c9b4)
+
+* incompatible changes
+ * [#1761](https://github.com/moment/moment/issues/1761): moments created without a language are no longer following the global language, in case it changes. Only newly created moments take the global language by default. In case you're affected by this, wait, comment on [#1797](https://github.com/moment/moment/issues/1797) and wait for a proper reimplementation
+ * [#1642](https://github.com/moment/moment/issues/1642): 45 days is no longer "a month" according to humanize, cutoffs for month, and year have changed. Hopefully your code does not depend on a particular answer from humanize (which it shouldn't anyway)
+ * [#1784](https://github.com/moment/moment/issues/1784): if you use the human readable English datetime format in a weird way (like storing them in a database) that would break when the format changes you're at risk.
+
+* deprecations (old behavior will be dropped in 3.0)
+ * [#1761](https://github.com/moment/moment/issues/1761) `lang` is renamed to `locale`, `langData` -> `localeData`. Also there is now `defineLocale` that should be used when creating new locales
+ * [#1763](https://github.com/moment/moment/issues/1763) `add(unit, value)` and `subtract(unit, value)` are now deprecated. Use `add(value, unit)` and `subtract(value, unit)` instead.
+ * [#1759](https://github.com/moment/moment/issues/1759) rename `duration.toIsoString` to `duration.toISOString`. The js standard library and moment's `toISOString` follow that convention.
+
+* new locales
+ * [#1789](https://github.com/moment/moment/issues/1789) Tibetan (bo)
+ * [#1786](https://github.com/moment/moment/issues/1786) Africaans (af)
+ * [#1778](https://github.com/moment/moment/issues/1778) Burmese (my)
+ * [#1727](https://github.com/moment/moment/issues/1727) Belarusian (be)
+
+* bugfixes, locale bugfixes, performance improvements, features
+
+### 2.7.0 [See changelog](https://gist.github.com/ichernev/b0a3d456d5a84c9901d7)
+
+* new languages
+
+ * [#1678](https://github.com/moment/moment/issues/1678) Bengali (bn)
+ * [#1628](https://github.com/moment/moment/issues/1628) Azerbaijani (az)
+ * [#1633](https://github.com/moment/moment/issues/1633) Arabic, Saudi Arabia (ar-sa)
+ * [#1648](https://github.com/moment/moment/issues/1648) Austrian German (de-at)
+
+* features
+
+ * [#1663](https://github.com/moment/moment/issues/1663) configurable relative time thresholds
+ * [#1554](https://github.com/moment/moment/issues/1554) support anchor time in moment.calendar
+ * [#1693](https://github.com/moment/moment/issues/1693) support moment.ISO_8601 as parsing format
+ * [#1637](https://github.com/moment/moment/issues/1637) add moment.min and moment.max and deprecate min/max instance methods
+ * [#1704](https://github.com/moment/moment/issues/1704) support string value in add/subtract
+ * [#1647](https://github.com/moment/moment/issues/1647) add spm support (package manager)
+
+* bugfixes
+
+### 2.6.0 [See changelog](https://gist.github.com/ichernev/10544682)
+
+* languages
+ * [#1529](https://github.com/moment/moment/issues/1529) Serbian-Cyrillic (sr-cyr)
+ * [#1544](https://github.com/moment/moment/issues/1544), [#1546](https://github.com/moment/moment/issues/1546) Khmer Cambodia (km)
+
+* features
+ * [#1419](https://github.com/moment/moment/issues/1419), [#1468](https://github.com/moment/moment/issues/1468), [#1467](https://github.com/moment/moment/issues/1467), [#1546](https://github.com/moment/moment/issues/1546) better handling of timezone-d moments around DST
+ * [#1462](https://github.com/moment/moment/issues/1462) add weeksInYear and isoWeeksInYear
+ * [#1475](https://github.com/moment/moment/issues/1475) support ordinal parsing
+ * [#1499](https://github.com/moment/moment/issues/1499) composer support
+ * [#1577](https://github.com/moment/moment/issues/1577), [#1604](https://github.com/moment/moment/issues/1604) put Date parsing in moment.createFromInputFallback so it can be properly deprecated and controlled in the future
+ * [#1545](https://github.com/moment/moment/issues/1545) extract two-digit year parsing in moment.parseTwoDigitYear, so it can be overwritten
+ * [#1590](https://github.com/moment/moment/issues/1590) (see [#1574](https://github.com/moment/moment/issues/1574)) set AMD global before module definition to better support non AMD module dependencies used in AMD environment
+ * [#1589](https://github.com/moment/moment/issues/1589) remove global in Node.JS environment (was not working before, nobody complained, was scheduled for removal anyway)
+ * [#1586](https://github.com/moment/moment/issues/1586) support quarter setting and parsing
+
+* 18 bugs fixed
+
+### 2.5.1
+
+* languages
+ * [#1392](https://github.com/moment/moment/issues/1392) Armenian (hy-am)
+
+* bugfixes
+ * [#1429](https://github.com/moment/moment/issues/1429) fixes [#1423](https://github.com/moment/moment/issues/1423) weird chrome-32 bug with js object creation
+ * [#1421](https://github.com/moment/moment/issues/1421) remove html entities from Welsh
+ * [#1418](https://github.com/moment/moment/issues/1418) fixes [#1401](https://github.com/moment/moment/issues/1401) improved non-padded tokens in strict matching
+ * [#1417](https://github.com/moment/moment/issues/1417) fixes [#1404](https://github.com/moment/moment/issues/1404) handle buggy moment object created by property cloning
+ * [#1398](https://github.com/moment/moment/issues/1398) fixes [#1397](https://github.com/moment/moment/issues/1397) fix Arabic-like week number parsing
+ * [#1396](https://github.com/moment/moment/issues/1396) add leftZeroFill(4) to GGGG and gggg formats
+ * [#1373](https://github.com/moment/moment/issues/1373) use lowercase for months and days in Catalan
+
+* testing
+ * [#1374](https://github.com/moment/moment/issues/1374) run tests on multiple browser/os combos via SauceLabs and Travis
+
+### 2.5.0 [See changelog](https://gist.github.com/ichernev/8104451)
+
+* New languages
+ * Luxemburish (lb) [1247](https://github.com/moment/moment/issues/1247)
+ * Serbian (rs) [1319](https://github.com/moment/moment/issues/1319)
+ * Tamil (ta) [1324](https://github.com/moment/moment/issues/1324)
+ * Macedonian (mk) [1337](https://github.com/moment/moment/issues/1337)
+
+* Features
+ * [1311](https://github.com/moment/moment/issues/1311) Add quarter getter and format token `Q`
+ * [1303](https://github.com/moment/moment/issues/1303) strict parsing now respects number of digits per token (fix [1196](https://github.com/moment/moment/issues/1196))
+ * 0d30bb7 add jspm support
+ * [1347](https://github.com/moment/moment/issues/1347) improve zone parsing
+ * [1362](https://github.com/moment/moment/issues/1362) support merideam parsing in Korean
+
+* 22 bugfixes
+
+### 2.4.0
+
+* **Deprecate** globally exported moment, will be removed in next major
+* New languages
+ * Farose (fo) [#1206](https://github.com/moment/moment/issues/1206)
+ * Tagalog/Filipino (tl-ph) [#1197](https://github.com/moment/moment/issues/1197)
+ * Welsh (cy) [#1215](https://github.com/moment/moment/issues/1215)
+* Bugfixes
+ * properly handle Z at the end of iso RegExp [#1187](https://github.com/moment/moment/issues/1187)
+ * chinese meridian time improvements [#1076](https://github.com/moment/moment/issues/1076)
+ * fix language tests [#1177](https://github.com/moment/moment/issues/1177)
+ * remove some failing tests (that should have never existed :))
+ [#1185](https://github.com/moment/moment/issues/1185)
+ [#1183](https://github.com/moment/moment/issues/1183)
+ * handle russian noun cases in weird cases [#1195](https://github.com/moment/moment/issues/1195)
+
+### 2.3.1
+
+Removed a trailing comma [1169] and fixed a bug with `months`, `weekdays` getters [#1171](https://github.com/moment/moment/issues/1171).
+
+### 2.3.0 [See changelog](https://gist.github.com/ichernev/6864354)
+
+Changed isValid, added strict parsing.
+Week tokens parsing.
+
+### 2.2.1
+
+Fixed bug in string prototype test.
+Updated authors and contributors.
+
+### 2.2.0 [See changelog](https://gist.github.com/ichernev/00f837a9baf46a3565e4)
+
+Added bower support.
+
+Language files now use UMD.
+
+Creating moment defaults to current date/month/year.
+
+Added a bundle of moment and all language files.
+
+### 2.1.0 [See changelog](https://gist.github.com/timrwood/b8c2d90d528eddb53ab5)
+
+Added better week support.
+
+Added ability to set offset with `moment#zone`.
+
+Added ability to set month or weekday from a string.
+
+Added `moment#min` and `moment#max`
+
+### 2.0.0 [See changelog](https://gist.github.com/timrwood/e72f2eef320ed9e37c51)
+
+Added short form localized tokens.
+
+Added ability to define language a string should be parsed in.
+
+Added support for reversed add/subtract arguments.
+
+Added support for `endOf('week')` and `startOf('week')`.
+
+Fixed the logic for `moment#diff(Moment, 'months')` and `moment#diff(Moment, 'years')`
+
+`moment#diff` now floors instead of rounds.
+
+Normalized `moment#toString`.
+
+Added `isSame`, `isAfter`, and `isBefore` methods.
+
+Added better week support.
+
+Added `moment#toJSON`
+
+Bugfix: Fixed parsing of first century dates
+
+Bugfix: Parsing 10Sep2001 should work as expected
+
+Bugfix: Fixed wierdness with `moment.utc()` parsing.
+
+Changed language ordinal method to return the number + ordinal instead of just the ordinal.
+
+Changed two digit year parsing cutoff to match strptime.
+
+Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`.
+
+Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`.
+
+Removed the lang data objects from the top level namespace.
+
+Duplicate `Date` passed to `moment()` instead of referencing it.
+
+### 1.7.2 [See discussion](https://github.com/timrwood/moment/issues/456)
+
+Bugfixes
+
+### 1.7.1 [See discussion](https://github.com/timrwood/moment/issues/384)
+
+Bugfixes
+
+### 1.7.0 [See discussion](https://github.com/timrwood/moment/issues/288)
+
+Added `moment.fn.endOf()` and `moment.fn.startOf()`.
+
+Added validation via `moment.fn.isValid()`.
+
+Made formatting method 3x faster. http://jsperf.com/momentjs-cached-format-functions
+
+Add support for month/weekday callbacks in `moment.fn.format()`
+
+Added instance specific languages.
+
+Added two letter weekday abbreviations with the formatting token `dd`.
+
+Various language updates.
+
+Various bugfixes.
+
+### 1.6.0 [See discussion](https://github.com/timrwood/moment/pull/268)
+
+Added Durations.
+
+Revamped parser to support parsing non-separated strings (YYYYMMDD vs YYYY-MM-DD).
+
+Added support for millisecond parsing and formatting tokens (S SS SSS)
+
+Added a getter for `moment.lang()`
+
+Various bugfixes.
+
+There are a few things deprecated in the 1.6.0 release.
+
+1. The format tokens `z` and `zz` (timezone abbreviations like EST CST MST etc) will no longer be supported. Due to inconsistent browser support, we are unable to consistently produce this value. See [this issue](https://github.com/timrwood/moment/issues/162) for more background.
+
+2. The method `moment.fn.native` is deprecated in favor of `moment.fn.toDate`. There continue to be issues with Google Closure Compiler throwing errors when using `native`, even in valid instances.
+
+3. The way to customize am/pm strings is being changed. This would only affect you if you created a custom language file. For more information, see [this issue](https://github.com/timrwood/moment/pull/222).
+
+### 1.5.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=10&page=1&state=closed)
+
+Added UTC mode.
+
+Added automatic ISO8601 parsing.
+
+Various bugfixes.
+
+### 1.4.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=8&state=closed)
+
+Added `moment.fn.toDate` as a replacement for `moment.fn.native`.
+
+Added `moment.fn.sod` and `moment.fn.eod` to get the start and end of day.
+
+Various bugfixes.
+
+### 1.3.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=7&state=closed)
+
+Added support for parsing month names in the current language.
+
+Added escape blocks for parsing tokens.
+
+Added `moment.fn.calendar` to format strings like 'Today 2:30 PM', 'Tomorrow 1:25 AM', and 'Last Sunday 4:30 AM'.
+
+Added `moment.fn.day` as a setter.
+
+Various bugfixes
+
+### 1.2.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=4&state=closed)
+
+Added timezones to parser and formatter.
+
+Added `moment.fn.isDST`.
+
+Added `moment.fn.zone` to get the timezone offset in minutes.
+
+### 1.1.2 [See milestone](https://github.com/timrwood/moment/issues?milestone=6&state=closed)
+
+Various bugfixes
+
+### 1.1.1 [See milestone](https://github.com/timrwood/moment/issues?milestone=5&state=closed)
+
+Added time specific diffs (months, days, hours, etc)
+
+### 1.1.0
+
+Added `moment.fn.format` localized masks. 'L LL LLL LLLL' [issue 29](https://github.com/timrwood/moment/pull/29)
+
+Fixed [issue 31](https://github.com/timrwood/moment/pull/31).
+
+### 1.0.1
+
+Added `moment.version` to get the current version.
+
+Removed `window !== undefined` when checking if module exists to support browserify. [issue 25](https://github.com/timrwood/moment/pull/25)
+
+### 1.0.0
+
+Added convenience methods for getting and setting date parts.
+
+Added better support for `moment.add()`.
+
+Added better lang support in NodeJS.
+
+Renamed library from underscore.date to Moment.js
+
+### 0.6.1
+
+Added Portuguese, Italian, and French language support
+
+### 0.6.0
+
+Added _date.lang() support.
+Added support for passing multiple formats to try to parse a date. _date("07-10-1986", ["MM-DD-YYYY", "YYYY-MM-DD"]);
+Made parse from string and single format 25% faster.
+
+### 0.5.2
+
+Bugfix for [issue 8](https://github.com/timrwood/underscore.date/pull/8) and [issue 9](https://github.com/timrwood/underscore.date/pull/9).
+
+### 0.5.1
+
+Bugfix for [issue 5](https://github.com/timrwood/underscore.date/pull/5).
+
+### 0.5.0
+
+Dropped the redundant `_date.date()` in favor of `_date()`.
+Removed `_date.now()`, as it is a duplicate of `_date()` with no parameters.
+Removed `_date.isLeapYear(yearNumber)`. Use `_date([yearNumber]).isLeapYear()` instead.
+Exposed customization options through the `_date.relativeTime`, `_date.weekdays`, `_date.weekdaysShort`, `_date.months`, `_date.monthsShort`, and `_date.ordinal` variables instead of the `_date.customize()` function.
+
+### 0.4.1
+
+Added date input formats for input strings.
+
+### 0.4.0
+
+Added underscore.date to npm. Removed dependencies on underscore.
+
+### 0.3.2
+
+Added `'z'` and `'zz'` to `_.date().format()`. Cleaned up some redundant code to trim off some bytes.
+
+### 0.3.1
+
+Cleaned up the namespace. Moved all date manipulation and display functions to the _.date() object.
+
+### 0.3.0
+
+Switched to the Underscore methodology of not mucking with the native objects' prototypes.
+Made chaining possible.
+
+### 0.2.1
+
+Changed date names to be a more pseudo standardized 'dddd, MMMM Do YYYY, h:mm:ss a'.
+Added `Date.prototype` functions `add`, `subtract`, `isdst`, and `isleapyear`.
+
+### 0.2.0
+
+Changed function names to be more concise.
+Changed date format from php date format to custom format.
+
+### 0.1.0
+
+Initial release
+
diff --git a/library/moment/LICENSE b/library/moment/LICENSE
new file mode 100644
index 000000000..34f5b3707
--- /dev/null
+++ b/library/moment/LICENSE
@@ -0,0 +1,22 @@
+Copyright (c) 2011-2015 Tim Wood, Iskren Chernev, Moment.js contributors
+
+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/moment/README.md b/library/moment/README.md
new file mode 100644
index 000000000..d59f056e5
--- /dev/null
+++ b/library/moment/README.md
@@ -0,0 +1,58 @@
+[![Join the chat at https://gitter.im/moment/moment](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/moment/moment?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+[![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-image]][license-url] [![Build Status][travis-image]][travis-url]
+[![Coverage Status](https://coveralls.io/repos/moment/moment/badge.svg?branch=master)](https://coveralls.io/r/moment/moment?branch=master)
+
+A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
+
+## [Documentation](http://momentjs.com/docs/)
+
+## Port to ES6 (version 2.10.0)
+
+Moment 2.10.0 does not bring any new features, but the code is now written in
+es6 modules and placed inside `src/`. Previously `moment.js`, `locale/*.js` and
+`test/moment/*.js`, `test/locale/*.js` contained the source of the project. Now
+the source is in `src/`, temporary build (es5) files are placed under
+`build/umd/` (for running tests during development), and the `moment.js` and
+`locale/*.js` files are updated only on release.
+
+If you want to use a particular revision of the code, make sure to run
+`grunt transpile update-index`, so `moment.js` and `locales/*.js` are synced
+with `src/*`. We might place that in a commit hook in the future.
+
+## Upgrading to 2.0.0
+
+There are a number of small backwards incompatible changes with version 2.0.0. [See the full descriptions here](https://gist.github.com/timrwood/e72f2eef320ed9e37c51#backwards-incompatible-changes)
+
+ * Changed language ordinal method to return the number + ordinal instead of just the ordinal.
+
+ * Changed two digit year parsing cutoff to match strptime.
+
+ * Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`.
+
+ * Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`.
+
+ * Removed the lang data objects from the top level namespace.
+
+ * Duplicate `Date` passed to `moment()` instead of referencing it.
+
+## [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
+
+## [Contributing](https://github.com/moment/moment/blob/develop/CONTRIBUTING.md)
+
+We're looking for co-maintainers! If you want to become a master of time please
+write to [ichernev](https://github.com/ichernev).
+
+## License
+
+Moment.js is freely distributable under the terms of the [MIT license](https://github.com/moment/moment/blob/develop/LICENSE).
+
+[license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat
+[license-url]: LICENSE
+
+[npm-url]: https://npmjs.org/package/moment
+[npm-version-image]: http://img.shields.io/npm/v/moment.svg?style=flat
+[npm-downloads-image]: http://img.shields.io/npm/dm/moment.svg?style=flat
+
+[travis-url]: http://travis-ci.org/moment/moment
+[travis-image]: http://img.shields.io/travis/moment/moment/develop.svg?style=flat
diff --git a/library/moment/moment.js b/library/moment/moment.js
new file mode 100644
index 000000000..23cd3ede1
--- /dev/null
+++ b/library/moment/moment.js
@@ -0,0 +1,3195 @@
+//! moment.js
+//! version : 2.10.6
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ global.moment = factory()
+}(this, function () { 'use strict';
+
+ var hookCallback;
+
+ function utils_hooks__hooks () {
+ return hookCallback.apply(null, arguments);
+ }
+
+ // This is done to register the method called with moment()
+ // without creating circular dependencies.
+ function setHookCallback (callback) {
+ hookCallback = callback;
+ }
+
+ function isArray(input) {
+ return Object.prototype.toString.call(input) === '[object Array]';
+ }
+
+ function isDate(input) {
+ return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
+ }
+
+ function map(arr, fn) {
+ var res = [], i;
+ for (i = 0; i < arr.length; ++i) {
+ res.push(fn(arr[i], i));
+ }
+ return res;
+ }
+
+ function hasOwnProp(a, b) {
+ return Object.prototype.hasOwnProperty.call(a, b);
+ }
+
+ function extend(a, b) {
+ for (var i in b) {
+ if (hasOwnProp(b, i)) {
+ a[i] = b[i];
+ }
+ }
+
+ if (hasOwnProp(b, 'toString')) {
+ a.toString = b.toString;
+ }
+
+ if (hasOwnProp(b, 'valueOf')) {
+ a.valueOf = b.valueOf;
+ }
+
+ return a;
+ }
+
+ function create_utc__createUTC (input, format, locale, strict) {
+ return createLocalOrUTC(input, format, locale, strict, true).utc();
+ }
+
+ function defaultParsingFlags() {
+ // We need to deep clone this object.
+ return {
+ empty : false,
+ unusedTokens : [],
+ unusedInput : [],
+ overflow : -2,
+ charsLeftOver : 0,
+ nullInput : false,
+ invalidMonth : null,
+ invalidFormat : false,
+ userInvalidated : false,
+ iso : false
+ };
+ }
+
+ function getParsingFlags(m) {
+ if (m._pf == null) {
+ m._pf = defaultParsingFlags();
+ }
+ return m._pf;
+ }
+
+ function valid__isValid(m) {
+ if (m._isValid == null) {
+ var flags = getParsingFlags(m);
+ m._isValid = !isNaN(m._d.getTime()) &&
+ flags.overflow < 0 &&
+ !flags.empty &&
+ !flags.invalidMonth &&
+ !flags.invalidWeekday &&
+ !flags.nullInput &&
+ !flags.invalidFormat &&
+ !flags.userInvalidated;
+
+ if (m._strict) {
+ m._isValid = m._isValid &&
+ flags.charsLeftOver === 0 &&
+ flags.unusedTokens.length === 0 &&
+ flags.bigHour === undefined;
+ }
+ }
+ return m._isValid;
+ }
+
+ function valid__createInvalid (flags) {
+ var m = create_utc__createUTC(NaN);
+ if (flags != null) {
+ extend(getParsingFlags(m), flags);
+ }
+ else {
+ getParsingFlags(m).userInvalidated = true;
+ }
+
+ return m;
+ }
+
+ var momentProperties = utils_hooks__hooks.momentProperties = [];
+
+ function copyConfig(to, from) {
+ var i, prop, val;
+
+ if (typeof from._isAMomentObject !== 'undefined') {
+ to._isAMomentObject = from._isAMomentObject;
+ }
+ if (typeof from._i !== 'undefined') {
+ to._i = from._i;
+ }
+ if (typeof from._f !== 'undefined') {
+ to._f = from._f;
+ }
+ if (typeof from._l !== 'undefined') {
+ to._l = from._l;
+ }
+ if (typeof from._strict !== 'undefined') {
+ to._strict = from._strict;
+ }
+ if (typeof from._tzm !== 'undefined') {
+ to._tzm = from._tzm;
+ }
+ if (typeof from._isUTC !== 'undefined') {
+ to._isUTC = from._isUTC;
+ }
+ if (typeof from._offset !== 'undefined') {
+ to._offset = from._offset;
+ }
+ if (typeof from._pf !== 'undefined') {
+ to._pf = getParsingFlags(from);
+ }
+ if (typeof from._locale !== 'undefined') {
+ to._locale = from._locale;
+ }
+
+ if (momentProperties.length > 0) {
+ for (i in momentProperties) {
+ prop = momentProperties[i];
+ val = from[prop];
+ if (typeof val !== 'undefined') {
+ to[prop] = val;
+ }
+ }
+ }
+
+ return to;
+ }
+
+ var updateInProgress = false;
+
+ // Moment prototype object
+ function Moment(config) {
+ copyConfig(this, config);
+ this._d = new Date(config._d != null ? config._d.getTime() : NaN);
+ // Prevent infinite loop in case updateOffset creates new moment
+ // objects.
+ if (updateInProgress === false) {
+ updateInProgress = true;
+ utils_hooks__hooks.updateOffset(this);
+ updateInProgress = false;
+ }
+ }
+
+ function isMoment (obj) {
+ return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
+ }
+
+ function absFloor (number) {
+ if (number < 0) {
+ return Math.ceil(number);
+ } else {
+ return Math.floor(number);
+ }
+ }
+
+ function toInt(argumentForCoercion) {
+ var coercedNumber = +argumentForCoercion,
+ value = 0;
+
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+ value = absFloor(coercedNumber);
+ }
+
+ return value;
+ }
+
+ function compareArrays(array1, array2, dontConvert) {
+ var len = Math.min(array1.length, array2.length),
+ lengthDiff = Math.abs(array1.length - array2.length),
+ diffs = 0,
+ i;
+ for (i = 0; i < len; i++) {
+ if ((dontConvert && array1[i] !== array2[i]) ||
+ (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
+ diffs++;
+ }
+ }
+ return diffs + lengthDiff;
+ }
+
+ function Locale() {
+ }
+
+ var locales = {};
+ var globalLocale;
+
+ function normalizeLocale(key) {
+ return key ? key.toLowerCase().replace('_', '-') : key;
+ }
+
+ // pick the locale from the array
+ // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+ // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+ function chooseLocale(names) {
+ var i = 0, j, next, locale, split;
+
+ while (i < names.length) {
+ split = normalizeLocale(names[i]).split('-');
+ j = split.length;
+ next = normalizeLocale(names[i + 1]);
+ next = next ? next.split('-') : null;
+ while (j > 0) {
+ locale = loadLocale(split.slice(0, j).join('-'));
+ if (locale) {
+ return locale;
+ }
+ if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
+ //the next array item is better than a shallower substring of this one
+ break;
+ }
+ j--;
+ }
+ i++;
+ }
+ return null;
+ }
+
+ function loadLocale(name) {
+ var oldLocale = null;
+ // TODO: Find a better way to register and load all the locales in Node
+ if (!locales[name] && typeof module !== 'undefined' &&
+ module && module.exports) {
+ try {
+ oldLocale = globalLocale._abbr;
+ require('./locale/' + name);
+ // because defineLocale currently also sets the global locale, we
+ // want to undo that for lazy loaded locales
+ locale_locales__getSetGlobalLocale(oldLocale);
+ } catch (e) { }
+ }
+ return locales[name];
+ }
+
+ // This function will load locale and then set the global locale. If
+ // no arguments are passed in, it will simply return the current global
+ // locale key.
+ function locale_locales__getSetGlobalLocale (key, values) {
+ var data;
+ if (key) {
+ if (typeof values === 'undefined') {
+ data = locale_locales__getLocale(key);
+ }
+ else {
+ data = defineLocale(key, values);
+ }
+
+ if (data) {
+ // moment.duration._locale = moment._locale = data;
+ globalLocale = data;
+ }
+ }
+
+ return globalLocale._abbr;
+ }
+
+ function defineLocale (name, values) {
+ if (values !== null) {
+ values.abbr = name;
+ locales[name] = locales[name] || new Locale();
+ locales[name].set(values);
+
+ // backwards compat for now: also set the locale
+ locale_locales__getSetGlobalLocale(name);
+
+ return locales[name];
+ } else {
+ // useful for testing
+ delete locales[name];
+ return null;
+ }
+ }
+
+ // returns locale data
+ function locale_locales__getLocale (key) {
+ var locale;
+
+ if (key && key._locale && key._locale._abbr) {
+ key = key._locale._abbr;
+ }
+
+ if (!key) {
+ return globalLocale;
+ }
+
+ if (!isArray(key)) {
+ //short-circuit everything else
+ locale = loadLocale(key);
+ if (locale) {
+ return locale;
+ }
+ key = [key];
+ }
+
+ return chooseLocale(key);
+ }
+
+ var aliases = {};
+
+ function addUnitAlias (unit, shorthand) {
+ var lowerCase = unit.toLowerCase();
+ aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
+ }
+
+ function normalizeUnits(units) {
+ return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
+ }
+
+ function normalizeObjectUnits(inputObject) {
+ var normalizedInput = {},
+ normalizedProp,
+ prop;
+
+ for (prop in inputObject) {
+ if (hasOwnProp(inputObject, prop)) {
+ normalizedProp = normalizeUnits(prop);
+ if (normalizedProp) {
+ normalizedInput[normalizedProp] = inputObject[prop];
+ }
+ }
+ }
+
+ return normalizedInput;
+ }
+
+ function makeGetSet (unit, keepTime) {
+ return function (value) {
+ if (value != null) {
+ get_set__set(this, unit, value);
+ utils_hooks__hooks.updateOffset(this, keepTime);
+ return this;
+ } else {
+ return get_set__get(this, unit);
+ }
+ };
+ }
+
+ function get_set__get (mom, unit) {
+ return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]();
+ }
+
+ function get_set__set (mom, unit, value) {
+ return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
+ }
+
+ // MOMENTS
+
+ function getSet (units, value) {
+ var unit;
+ if (typeof units === 'object') {
+ for (unit in units) {
+ this.set(unit, units[unit]);
+ }
+ } else {
+ units = normalizeUnits(units);
+ if (typeof this[units] === 'function') {
+ return this[units](value);
+ }
+ }
+ return this;
+ }
+
+ function zeroFill(number, targetLength, forceSign) {
+ var absNumber = '' + Math.abs(number),
+ zerosToFill = targetLength - absNumber.length,
+ sign = number >= 0;
+ return (sign ? (forceSign ? '+' : '') : '-') +
+ Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
+ }
+
+ var formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
+
+ var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
+
+ var formatFunctions = {};
+
+ var formatTokenFunctions = {};
+
+ // token: 'M'
+ // padded: ['MM', 2]
+ // ordinal: 'Mo'
+ // callback: function () { this.month() + 1 }
+ function addFormatToken (token, padded, ordinal, callback) {
+ var func = callback;
+ if (typeof callback === 'string') {
+ func = function () {
+ return this[callback]();
+ };
+ }
+ if (token) {
+ formatTokenFunctions[token] = func;
+ }
+ if (padded) {
+ formatTokenFunctions[padded[0]] = function () {
+ return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
+ };
+ }
+ if (ordinal) {
+ formatTokenFunctions[ordinal] = function () {
+ return this.localeData().ordinal(func.apply(this, arguments), token);
+ };
+ }
+ }
+
+ function removeFormattingTokens(input) {
+ if (input.match(/\[[\s\S]/)) {
+ return input.replace(/^\[|\]$/g, '');
+ }
+ return input.replace(/\\/g, '');
+ }
+
+ function makeFormatFunction(format) {
+ var array = format.match(formattingTokens), i, length;
+
+ for (i = 0, length = array.length; i < length; i++) {
+ if (formatTokenFunctions[array[i]]) {
+ array[i] = formatTokenFunctions[array[i]];
+ } else {
+ array[i] = removeFormattingTokens(array[i]);
+ }
+ }
+
+ return function (mom) {
+ var output = '';
+ for (i = 0; i < length; i++) {
+ output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
+ }
+ return output;
+ };
+ }
+
+ // format date using native date object
+ function formatMoment(m, format) {
+ if (!m.isValid()) {
+ return m.localeData().invalidDate();
+ }
+
+ format = expandFormat(format, m.localeData());
+ formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
+
+ return formatFunctions[format](m);
+ }
+
+ function expandFormat(format, locale) {
+ var i = 5;
+
+ function replaceLongDateFormatTokens(input) {
+ return locale.longDateFormat(input) || input;
+ }
+
+ localFormattingTokens.lastIndex = 0;
+ while (i >= 0 && localFormattingTokens.test(format)) {
+ format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
+ localFormattingTokens.lastIndex = 0;
+ i -= 1;
+ }
+
+ return format;
+ }
+
+ var match1 = /\d/; // 0 - 9
+ var match2 = /\d\d/; // 00 - 99
+ var match3 = /\d{3}/; // 000 - 999
+ var match4 = /\d{4}/; // 0000 - 9999
+ var match6 = /[+-]?\d{6}/; // -999999 - 999999
+ var match1to2 = /\d\d?/; // 0 - 99
+ var match1to3 = /\d{1,3}/; // 0 - 999
+ var match1to4 = /\d{1,4}/; // 0 - 9999
+ var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999
+
+ var matchUnsigned = /\d+/; // 0 - inf
+ var matchSigned = /[+-]?\d+/; // -inf - inf
+
+ var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
+
+ var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
+
+ // any word (or two) characters or numbers including two/three word month in arabic.
+ var matchWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i;
+
+ var regexes = {};
+
+ function isFunction (sth) {
+ // https://github.com/moment/moment/issues/2325
+ return typeof sth === 'function' &&
+ Object.prototype.toString.call(sth) === '[object Function]';
+ }
+
+
+ function addRegexToken (token, regex, strictRegex) {
+ regexes[token] = isFunction(regex) ? regex : function (isStrict) {
+ return (isStrict && strictRegex) ? strictRegex : regex;
+ };
+ }
+
+ function getParseRegexForToken (token, config) {
+ if (!hasOwnProp(regexes, token)) {
+ return new RegExp(unescapeFormat(token));
+ }
+
+ return regexes[token](config._strict, config._locale);
+ }
+
+ // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+ function unescapeFormat(s) {
+ return s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
+ return p1 || p2 || p3 || p4;
+ }).replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+ }
+
+ var tokens = {};
+
+ function addParseToken (token, callback) {
+ var i, func = callback;
+ if (typeof token === 'string') {
+ token = [token];
+ }
+ if (typeof callback === 'number') {
+ func = function (input, array) {
+ array[callback] = toInt(input);
+ };
+ }
+ for (i = 0; i < token.length; i++) {
+ tokens[token[i]] = func;
+ }
+ }
+
+ function addWeekParseToken (token, callback) {
+ addParseToken(token, function (input, array, config, token) {
+ config._w = config._w || {};
+ callback(input, config._w, config, token);
+ });
+ }
+
+ function addTimeToArrayFromToken(token, input, config) {
+ if (input != null && hasOwnProp(tokens, token)) {
+ tokens[token](input, config._a, config, token);
+ }
+ }
+
+ var YEAR = 0;
+ var MONTH = 1;
+ var DATE = 2;
+ var HOUR = 3;
+ var MINUTE = 4;
+ var SECOND = 5;
+ var MILLISECOND = 6;
+
+ function daysInMonth(year, month) {
+ return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
+ }
+
+ // FORMATTING
+
+ addFormatToken('M', ['MM', 2], 'Mo', function () {
+ return this.month() + 1;
+ });
+
+ addFormatToken('MMM', 0, 0, function (format) {
+ return this.localeData().monthsShort(this, format);
+ });
+
+ addFormatToken('MMMM', 0, 0, function (format) {
+ return this.localeData().months(this, format);
+ });
+
+ // ALIASES
+
+ addUnitAlias('month', 'M');
+
+ // PARSING
+
+ addRegexToken('M', match1to2);
+ addRegexToken('MM', match1to2, match2);
+ addRegexToken('MMM', matchWord);
+ addRegexToken('MMMM', matchWord);
+
+ addParseToken(['M', 'MM'], function (input, array) {
+ array[MONTH] = toInt(input) - 1;
+ });
+
+ addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
+ var month = config._locale.monthsParse(input, token, config._strict);
+ // if we didn't find a month name, mark the date as invalid.
+ if (month != null) {
+ array[MONTH] = month;
+ } else {
+ getParsingFlags(config).invalidMonth = input;
+ }
+ });
+
+ // LOCALES
+
+ var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
+ function localeMonths (m) {
+ return this._months[m.month()];
+ }
+
+ var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
+ function localeMonthsShort (m) {
+ return this._monthsShort[m.month()];
+ }
+
+ function localeMonthsParse (monthName, format, strict) {
+ var i, mom, regex;
+
+ if (!this._monthsParse) {
+ this._monthsParse = [];
+ this._longMonthsParse = [];
+ this._shortMonthsParse = [];
+ }
+
+ for (i = 0; i < 12; i++) {
+ // make the regex if we don't have it already
+ mom = create_utc__createUTC([2000, i]);
+ if (strict && !this._longMonthsParse[i]) {
+ this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
+ this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
+ }
+ if (!strict && !this._monthsParse[i]) {
+ regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+ this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
+ return i;
+ } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
+ return i;
+ } else if (!strict && this._monthsParse[i].test(monthName)) {
+ return i;
+ }
+ }
+ }
+
+ // MOMENTS
+
+ function setMonth (mom, value) {
+ var dayOfMonth;
+
+ // TODO: Move this out of here!
+ if (typeof value === 'string') {
+ value = mom.localeData().monthsParse(value);
+ // TODO: Another silent failure?
+ if (typeof value !== 'number') {
+ return mom;
+ }
+ }
+
+ dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+ return mom;
+ }
+
+ function getSetMonth (value) {
+ if (value != null) {
+ setMonth(this, value);
+ utils_hooks__hooks.updateOffset(this, true);
+ return this;
+ } else {
+ return get_set__get(this, 'Month');
+ }
+ }
+
+ function getDaysInMonth () {
+ return daysInMonth(this.year(), this.month());
+ }
+
+ function checkOverflow (m) {
+ var overflow;
+ var a = m._a;
+
+ if (a && getParsingFlags(m).overflow === -2) {
+ overflow =
+ a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
+ a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
+ a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
+ a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
+ a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
+ a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
+ -1;
+
+ if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
+ overflow = DATE;
+ }
+
+ getParsingFlags(m).overflow = overflow;
+ }
+
+ return m;
+ }
+
+ function warn(msg) {
+ if (utils_hooks__hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {
+ console.warn('Deprecation warning: ' + msg);
+ }
+ }
+
+ function deprecate(msg, fn) {
+ var firstTime = true;
+
+ return extend(function () {
+ if (firstTime) {
+ warn(msg + '\n' + (new Error()).stack);
+ firstTime = false;
+ }
+ return fn.apply(this, arguments);
+ }, fn);
+ }
+
+ var deprecations = {};
+
+ function deprecateSimple(name, msg) {
+ if (!deprecations[name]) {
+ warn(msg);
+ deprecations[name] = true;
+ }
+ }
+
+ utils_hooks__hooks.suppressDeprecationWarnings = false;
+
+ var from_string__isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
+
+ var isoDates = [
+ ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
+ ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/],
+ ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/],
+ ['GGGG-[W]WW', /\d{4}-W\d{2}/],
+ ['YYYY-DDD', /\d{4}-\d{3}/]
+ ];
+
+ // iso time formats and regexes
+ var isoTimes = [
+ ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/],
+ ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
+ ['HH:mm', /(T| )\d\d:\d\d/],
+ ['HH', /(T| )\d\d/]
+ ];
+
+ var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
+
+ // date from iso format
+ function configFromISO(config) {
+ var i, l,
+ string = config._i,
+ match = from_string__isoRegex.exec(string);
+
+ if (match) {
+ getParsingFlags(config).iso = true;
+ for (i = 0, l = isoDates.length; i < l; i++) {
+ if (isoDates[i][1].exec(string)) {
+ config._f = isoDates[i][0];
+ break;
+ }
+ }
+ for (i = 0, l = isoTimes.length; i < l; i++) {
+ if (isoTimes[i][1].exec(string)) {
+ // match[6] should be 'T' or space
+ config._f += (match[6] || ' ') + isoTimes[i][0];
+ break;
+ }
+ }
+ if (string.match(matchOffset)) {
+ config._f += 'Z';
+ }
+ configFromStringAndFormat(config);
+ } else {
+ config._isValid = false;
+ }
+ }
+
+ // date from iso format or fallback
+ function configFromString(config) {
+ var matched = aspNetJsonRegex.exec(config._i);
+
+ if (matched !== null) {
+ config._d = new Date(+matched[1]);
+ return;
+ }
+
+ configFromISO(config);
+ if (config._isValid === false) {
+ delete config._isValid;
+ utils_hooks__hooks.createFromInputFallback(config);
+ }
+ }
+
+ utils_hooks__hooks.createFromInputFallback = deprecate(
+ 'moment construction falls back to js Date. This is ' +
+ 'discouraged and will be removed in upcoming major ' +
+ 'release. Please refer to ' +
+ 'https://github.com/moment/moment/issues/1407 for more info.',
+ function (config) {
+ config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
+ }
+ );
+
+ function createDate (y, m, d, h, M, s, ms) {
+ //can't just apply() to create a date:
+ //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
+ var date = new Date(y, m, d, h, M, s, ms);
+
+ //the date constructor doesn't accept years < 1970
+ if (y < 1970) {
+ date.setFullYear(y);
+ }
+ return date;
+ }
+
+ function createUTCDate (y) {
+ var date = new Date(Date.UTC.apply(null, arguments));
+ if (y < 1970) {
+ date.setUTCFullYear(y);
+ }
+ return date;
+ }
+
+ addFormatToken(0, ['YY', 2], 0, function () {
+ return this.year() % 100;
+ });
+
+ addFormatToken(0, ['YYYY', 4], 0, 'year');
+ addFormatToken(0, ['YYYYY', 5], 0, 'year');
+ addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+ // ALIASES
+
+ addUnitAlias('year', 'y');
+
+ // PARSING
+
+ addRegexToken('Y', matchSigned);
+ addRegexToken('YY', match1to2, match2);
+ addRegexToken('YYYY', match1to4, match4);
+ addRegexToken('YYYYY', match1to6, match6);
+ addRegexToken('YYYYYY', match1to6, match6);
+
+ addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+ addParseToken('YYYY', function (input, array) {
+ array[YEAR] = input.length === 2 ? utils_hooks__hooks.parseTwoDigitYear(input) : toInt(input);
+ });
+ addParseToken('YY', function (input, array) {
+ array[YEAR] = utils_hooks__hooks.parseTwoDigitYear(input);
+ });
+
+ // HELPERS
+
+ function daysInYear(year) {
+ return isLeapYear(year) ? 366 : 365;
+ }
+
+ function isLeapYear(year) {
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+ }
+
+ // HOOKS
+
+ utils_hooks__hooks.parseTwoDigitYear = function (input) {
+ return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+ };
+
+ // MOMENTS
+
+ var getSetYear = makeGetSet('FullYear', false);
+
+ function getIsLeapYear () {
+ return isLeapYear(this.year());
+ }
+
+ addFormatToken('w', ['ww', 2], 'wo', 'week');
+ addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
+
+ // ALIASES
+
+ addUnitAlias('week', 'w');
+ addUnitAlias('isoWeek', 'W');
+
+ // PARSING
+
+ addRegexToken('w', match1to2);
+ addRegexToken('ww', match1to2, match2);
+ addRegexToken('W', match1to2);
+ addRegexToken('WW', match1to2, match2);
+
+ addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
+ week[token.substr(0, 1)] = toInt(input);
+ });
+
+ // HELPERS
+
+ // firstDayOfWeek 0 = sun, 6 = sat
+ // the day of the week that starts the week
+ // (usually sunday or monday)
+ // firstDayOfWeekOfYear 0 = sun, 6 = sat
+ // the first week is the week that contains the first
+ // of this day of the week
+ // (eg. ISO weeks use thursday (4))
+ function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
+ var end = firstDayOfWeekOfYear - firstDayOfWeek,
+ daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(),
+ adjustedMoment;
+
+
+ if (daysToDayOfWeek > end) {
+ daysToDayOfWeek -= 7;
+ }
+
+ if (daysToDayOfWeek < end - 7) {
+ daysToDayOfWeek += 7;
+ }
+
+ adjustedMoment = local__createLocal(mom).add(daysToDayOfWeek, 'd');
+ return {
+ week: Math.ceil(adjustedMoment.dayOfYear() / 7),
+ year: adjustedMoment.year()
+ };
+ }
+
+ // LOCALES
+
+ function localeWeek (mom) {
+ return weekOfYear(mom, this._week.dow, this._week.doy).week;
+ }
+
+ var defaultLocaleWeek = {
+ dow : 0, // Sunday is the first day of the week.
+ doy : 6 // The week that contains Jan 1st is the first week of the year.
+ };
+
+ function localeFirstDayOfWeek () {
+ return this._week.dow;
+ }
+
+ function localeFirstDayOfYear () {
+ return this._week.doy;
+ }
+
+ // MOMENTS
+
+ function getSetWeek (input) {
+ var week = this.localeData().week(this);
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ }
+
+ function getSetISOWeek (input) {
+ var week = weekOfYear(this, 1, 4).week;
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ }
+
+ addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
+
+ // ALIASES
+
+ addUnitAlias('dayOfYear', 'DDD');
+
+ // PARSING
+
+ addRegexToken('DDD', match1to3);
+ addRegexToken('DDDD', match3);
+ addParseToken(['DDD', 'DDDD'], function (input, array, config) {
+ config._dayOfYear = toInt(input);
+ });
+
+ // HELPERS
+
+ //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+ function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
+ var week1Jan = 6 + firstDayOfWeek - firstDayOfWeekOfYear, janX = createUTCDate(year, 0, 1 + week1Jan), d = janX.getUTCDay(), dayOfYear;
+ if (d < firstDayOfWeek) {
+ d += 7;
+ }
+
+ weekday = weekday != null ? 1 * weekday : firstDayOfWeek;
+
+ dayOfYear = 1 + week1Jan + 7 * (week - 1) - d + weekday;
+
+ return {
+ year: dayOfYear > 0 ? year : year - 1,
+ dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
+ };
+ }
+
+ // MOMENTS
+
+ function getSetDayOfYear (input) {
+ var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
+ return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function currentDateArray(config) {
+ var now = new Date();
+ if (config._useUTC) {
+ return [now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()];
+ }
+ return [now.getFullYear(), now.getMonth(), now.getDate()];
+ }
+
+ // convert an array to a date.
+ // the array should mirror the parameters below
+ // note: all values past the year are optional and will default to the lowest possible value.
+ // [year, month, day , hour, minute, second, millisecond]
+ function configFromArray (config) {
+ var i, date, input = [], currentDate, yearToUse;
+
+ if (config._d) {
+ return;
+ }
+
+ currentDate = currentDateArray(config);
+
+ //compute day of the year from weeks and weekdays
+ if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+ dayOfYearFromWeekInfo(config);
+ }
+
+ //if the day of the year is set, figure out what it is
+ if (config._dayOfYear) {
+ yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
+
+ if (config._dayOfYear > daysInYear(yearToUse)) {
+ getParsingFlags(config)._overflowDayOfYear = true;
+ }
+
+ date = createUTCDate(yearToUse, 0, config._dayOfYear);
+ config._a[MONTH] = date.getUTCMonth();
+ config._a[DATE] = date.getUTCDate();
+ }
+
+ // Default to current date.
+ // * if no year, month, day of month are given, default to today
+ // * if day of month is given, default month and year
+ // * if month is given, default only year
+ // * if year is given, don't default anything
+ for (i = 0; i < 3 && config._a[i] == null; ++i) {
+ config._a[i] = input[i] = currentDate[i];
+ }
+
+ // Zero out whatever was not defaulted, including time
+ for (; i < 7; i++) {
+ config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
+ }
+
+ // Check for 24:00:00.000
+ if (config._a[HOUR] === 24 &&
+ config._a[MINUTE] === 0 &&
+ config._a[SECOND] === 0 &&
+ config._a[MILLISECOND] === 0) {
+ config._nextDay = true;
+ config._a[HOUR] = 0;
+ }
+
+ config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
+ // Apply timezone offset from input. The actual utcOffset can be changed
+ // with parseZone.
+ if (config._tzm != null) {
+ config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+ }
+
+ if (config._nextDay) {
+ config._a[HOUR] = 24;
+ }
+ }
+
+ function dayOfYearFromWeekInfo(config) {
+ var w, weekYear, week, weekday, dow, doy, temp;
+
+ w = config._w;
+ if (w.GG != null || w.W != null || w.E != null) {
+ dow = 1;
+ doy = 4;
+
+ // TODO: We need to take the current isoWeekYear, but that depends on
+ // how we interpret now (local, utc, fixed offset). So create
+ // a now version of current config (take local/utc/offset flags, and
+ // create now).
+ weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(local__createLocal(), 1, 4).year);
+ week = defaults(w.W, 1);
+ weekday = defaults(w.E, 1);
+ } else {
+ dow = config._locale._week.dow;
+ doy = config._locale._week.doy;
+
+ weekYear = defaults(w.gg, config._a[YEAR], weekOfYear(local__createLocal(), dow, doy).year);
+ week = defaults(w.w, 1);
+
+ if (w.d != null) {
+ // weekday -- low day numbers are considered next week
+ weekday = w.d;
+ if (weekday < dow) {
+ ++week;
+ }
+ } else if (w.e != null) {
+ // local weekday -- counting starts from begining of week
+ weekday = w.e + dow;
+ } else {
+ // default to begining of week
+ weekday = dow;
+ }
+ }
+ temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow);
+
+ config._a[YEAR] = temp.year;
+ config._dayOfYear = temp.dayOfYear;
+ }
+
+ utils_hooks__hooks.ISO_8601 = function () {};
+
+ // date from string and format string
+ function configFromStringAndFormat(config) {
+ // TODO: Move this to another part of the creation flow to prevent circular deps
+ if (config._f === utils_hooks__hooks.ISO_8601) {
+ configFromISO(config);
+ return;
+ }
+
+ config._a = [];
+ getParsingFlags(config).empty = true;
+
+ // This array is used to make a Date, either with `new Date` or `Date.UTC`
+ var string = '' + config._i,
+ i, parsedInput, tokens, token, skipped,
+ stringLength = string.length,
+ totalParsedInputLength = 0;
+
+ tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
+
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+ parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
+ if (parsedInput) {
+ skipped = string.substr(0, string.indexOf(parsedInput));
+ if (skipped.length > 0) {
+ getParsingFlags(config).unusedInput.push(skipped);
+ }
+ string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
+ totalParsedInputLength += parsedInput.length;
+ }
+ // don't parse if it's not a known token
+ if (formatTokenFunctions[token]) {
+ if (parsedInput) {
+ getParsingFlags(config).empty = false;
+ }
+ else {
+ getParsingFlags(config).unusedTokens.push(token);
+ }
+ addTimeToArrayFromToken(token, parsedInput, config);
+ }
+ else if (config._strict && !parsedInput) {
+ getParsingFlags(config).unusedTokens.push(token);
+ }
+ }
+
+ // add remaining unparsed input length to the string
+ getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
+ if (string.length > 0) {
+ getParsingFlags(config).unusedInput.push(string);
+ }
+
+ // clear _12h flag if hour is <= 12
+ if (getParsingFlags(config).bigHour === true &&
+ config._a[HOUR] <= 12 &&
+ config._a[HOUR] > 0) {
+ getParsingFlags(config).bigHour = undefined;
+ }
+ // handle meridiem
+ config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
+
+ configFromArray(config);
+ checkOverflow(config);
+ }
+
+
+ function meridiemFixWrap (locale, hour, meridiem) {
+ var isPm;
+
+ if (meridiem == null) {
+ // nothing to do
+ return hour;
+ }
+ if (locale.meridiemHour != null) {
+ return locale.meridiemHour(hour, meridiem);
+ } else if (locale.isPM != null) {
+ // Fallback
+ isPm = locale.isPM(meridiem);
+ if (isPm && hour < 12) {
+ hour += 12;
+ }
+ if (!isPm && hour === 12) {
+ hour = 0;
+ }
+ return hour;
+ } else {
+ // this is not supposed to happen
+ return hour;
+ }
+ }
+
+ function configFromStringAndArray(config) {
+ var tempConfig,
+ bestMoment,
+
+ scoreToBeat,
+ i,
+ currentScore;
+
+ if (config._f.length === 0) {
+ getParsingFlags(config).invalidFormat = true;
+ config._d = new Date(NaN);
+ return;
+ }
+
+ for (i = 0; i < config._f.length; i++) {
+ currentScore = 0;
+ tempConfig = copyConfig({}, config);
+ if (config._useUTC != null) {
+ tempConfig._useUTC = config._useUTC;
+ }
+ tempConfig._f = config._f[i];
+ configFromStringAndFormat(tempConfig);
+
+ if (!valid__isValid(tempConfig)) {
+ continue;
+ }
+
+ // if there is any input that was not parsed add a penalty for that format
+ currentScore += getParsingFlags(tempConfig).charsLeftOver;
+
+ //or tokens
+ currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
+
+ getParsingFlags(tempConfig).score = currentScore;
+
+ if (scoreToBeat == null || currentScore < scoreToBeat) {
+ scoreToBeat = currentScore;
+ bestMoment = tempConfig;
+ }
+ }
+
+ extend(config, bestMoment || tempConfig);
+ }
+
+ function configFromObject(config) {
+ if (config._d) {
+ return;
+ }
+
+ var i = normalizeObjectUnits(config._i);
+ config._a = [i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond];
+
+ configFromArray(config);
+ }
+
+ function createFromConfig (config) {
+ var res = new Moment(checkOverflow(prepareConfig(config)));
+ if (res._nextDay) {
+ // Adding is smart enough around DST
+ res.add(1, 'd');
+ res._nextDay = undefined;
+ }
+
+ return res;
+ }
+
+ function prepareConfig (config) {
+ var input = config._i,
+ format = config._f;
+
+ config._locale = config._locale || locale_locales__getLocale(config._l);
+
+ if (input === null || (format === undefined && input === '')) {
+ return valid__createInvalid({nullInput: true});
+ }
+
+ if (typeof input === 'string') {
+ config._i = input = config._locale.preparse(input);
+ }
+
+ if (isMoment(input)) {
+ return new Moment(checkOverflow(input));
+ } else if (isArray(format)) {
+ configFromStringAndArray(config);
+ } else if (format) {
+ configFromStringAndFormat(config);
+ } else if (isDate(input)) {
+ config._d = input;
+ } else {
+ configFromInput(config);
+ }
+
+ return config;
+ }
+
+ function configFromInput(config) {
+ var input = config._i;
+ if (input === undefined) {
+ config._d = new Date();
+ } else if (isDate(input)) {
+ config._d = new Date(+input);
+ } else if (typeof input === 'string') {
+ configFromString(config);
+ } else if (isArray(input)) {
+ config._a = map(input.slice(0), function (obj) {
+ return parseInt(obj, 10);
+ });
+ configFromArray(config);
+ } else if (typeof(input) === 'object') {
+ configFromObject(config);
+ } else if (typeof(input) === 'number') {
+ // from milliseconds
+ config._d = new Date(input);
+ } else {
+ utils_hooks__hooks.createFromInputFallback(config);
+ }
+ }
+
+ function createLocalOrUTC (input, format, locale, strict, isUTC) {
+ var c = {};
+
+ if (typeof(locale) === 'boolean') {
+ strict = locale;
+ locale = undefined;
+ }
+ // object construction must be done this way.
+ // https://github.com/moment/moment/issues/1423
+ c._isAMomentObject = true;
+ c._useUTC = c._isUTC = isUTC;
+ c._l = locale;
+ c._i = input;
+ c._f = format;
+ c._strict = strict;
+
+ return createFromConfig(c);
+ }
+
+ function local__createLocal (input, format, locale, strict) {
+ return createLocalOrUTC(input, format, locale, strict, false);
+ }
+
+ var prototypeMin = deprecate(
+ 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',
+ function () {
+ var other = local__createLocal.apply(null, arguments);
+ return other < this ? this : other;
+ }
+ );
+
+ var prototypeMax = deprecate(
+ 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',
+ function () {
+ var other = local__createLocal.apply(null, arguments);
+ return other > this ? this : other;
+ }
+ );
+
+ // Pick a moment m from moments so that m[fn](other) is true for all
+ // other. This relies on the function fn to be transitive.
+ //
+ // moments should either be an array of moment objects or an array, whose
+ // first element is an array of moment objects.
+ function pickBy(fn, moments) {
+ var res, i;
+ if (moments.length === 1 && isArray(moments[0])) {
+ moments = moments[0];
+ }
+ if (!moments.length) {
+ return local__createLocal();
+ }
+ res = moments[0];
+ for (i = 1; i < moments.length; ++i) {
+ if (!moments[i].isValid() || moments[i][fn](res)) {
+ res = moments[i];
+ }
+ }
+ return res;
+ }
+
+ // TODO: Use [].sort instead?
+ function min () {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isBefore', args);
+ }
+
+ function max () {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isAfter', args);
+ }
+
+ function Duration (duration) {
+ var normalizedInput = normalizeObjectUnits(duration),
+ years = normalizedInput.year || 0,
+ quarters = normalizedInput.quarter || 0,
+ months = normalizedInput.month || 0,
+ weeks = normalizedInput.week || 0,
+ days = normalizedInput.day || 0,
+ hours = normalizedInput.hour || 0,
+ minutes = normalizedInput.minute || 0,
+ seconds = normalizedInput.second || 0,
+ milliseconds = normalizedInput.millisecond || 0;
+
+ // representation for dateAddRemove
+ this._milliseconds = +milliseconds +
+ seconds * 1e3 + // 1000
+ minutes * 6e4 + // 1000 * 60
+ hours * 36e5; // 1000 * 60 * 60
+ // Because of dateAddRemove treats 24 hours as different from a
+ // day when working around DST, we need to store them separately
+ this._days = +days +
+ weeks * 7;
+ // It is impossible translate months into days without knowing
+ // which months you are are talking about, so we have to store
+ // it separately.
+ this._months = +months +
+ quarters * 3 +
+ years * 12;
+
+ this._data = {};
+
+ this._locale = locale_locales__getLocale();
+
+ this._bubble();
+ }
+
+ function isDuration (obj) {
+ return obj instanceof Duration;
+ }
+
+ function offset (token, separator) {
+ addFormatToken(token, 0, 0, function () {
+ var offset = this.utcOffset();
+ var sign = '+';
+ if (offset < 0) {
+ offset = -offset;
+ sign = '-';
+ }
+ return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
+ });
+ }
+
+ offset('Z', ':');
+ offset('ZZ', '');
+
+ // PARSING
+
+ addRegexToken('Z', matchOffset);
+ addRegexToken('ZZ', matchOffset);
+ addParseToken(['Z', 'ZZ'], function (input, array, config) {
+ config._useUTC = true;
+ config._tzm = offsetFromString(input);
+ });
+
+ // HELPERS
+
+ // timezone chunker
+ // '+10:00' > ['10', '00']
+ // '-1530' > ['-15', '30']
+ var chunkOffset = /([\+\-]|\d\d)/gi;
+
+ function offsetFromString(string) {
+ var matches = ((string || '').match(matchOffset) || []);
+ var chunk = matches[matches.length - 1] || [];
+ var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
+ var minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+ return parts[0] === '+' ? minutes : -minutes;
+ }
+
+ // Return a moment from input, that is local/utc/zone equivalent to model.
+ function cloneWithOffset(input, model) {
+ var res, diff;
+ if (model._isUTC) {
+ res = model.clone();
+ diff = (isMoment(input) || isDate(input) ? +input : +local__createLocal(input)) - (+res);
+ // Use low-level api, because this fn is low-level api.
+ res._d.setTime(+res._d + diff);
+ utils_hooks__hooks.updateOffset(res, false);
+ return res;
+ } else {
+ return local__createLocal(input).local();
+ }
+ }
+
+ function getDateOffset (m) {
+ // On Firefox.24 Date#getTimezoneOffset returns a floating point.
+ // https://github.com/moment/moment/pull/1871
+ return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
+ }
+
+ // HOOKS
+
+ // This function will be called whenever a moment is mutated.
+ // It is intended to keep the offset in sync with the timezone.
+ utils_hooks__hooks.updateOffset = function () {};
+
+ // MOMENTS
+
+ // keepLocalTime = true means only change the timezone, without
+ // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
+ // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
+ // +0200, so we adjust the time as needed, to be valid.
+ //
+ // Keeping the time actually adds/subtracts (one hour)
+ // from the actual represented time. That is why we call updateOffset
+ // a second time. In case it wants us to change the offset again
+ // _changeInProgress == true case, then we have to adjust, because
+ // there is no such time in the given timezone.
+ function getSetOffset (input, keepLocalTime) {
+ var offset = this._offset || 0,
+ localAdjust;
+ if (input != null) {
+ if (typeof input === 'string') {
+ input = offsetFromString(input);
+ }
+ if (Math.abs(input) < 16) {
+ input = input * 60;
+ }
+ if (!this._isUTC && keepLocalTime) {
+ localAdjust = getDateOffset(this);
+ }
+ this._offset = input;
+ this._isUTC = true;
+ if (localAdjust != null) {
+ this.add(localAdjust, 'm');
+ }
+ if (offset !== input) {
+ if (!keepLocalTime || this._changeInProgress) {
+ add_subtract__addSubtract(this, create__createDuration(input - offset, 'm'), 1, false);
+ } else if (!this._changeInProgress) {
+ this._changeInProgress = true;
+ utils_hooks__hooks.updateOffset(this, true);
+ this._changeInProgress = null;
+ }
+ }
+ return this;
+ } else {
+ return this._isUTC ? offset : getDateOffset(this);
+ }
+ }
+
+ function getSetZone (input, keepLocalTime) {
+ if (input != null) {
+ if (typeof input !== 'string') {
+ input = -input;
+ }
+
+ this.utcOffset(input, keepLocalTime);
+
+ return this;
+ } else {
+ return -this.utcOffset();
+ }
+ }
+
+ function setOffsetToUTC (keepLocalTime) {
+ return this.utcOffset(0, keepLocalTime);
+ }
+
+ function setOffsetToLocal (keepLocalTime) {
+ if (this._isUTC) {
+ this.utcOffset(0, keepLocalTime);
+ this._isUTC = false;
+
+ if (keepLocalTime) {
+ this.subtract(getDateOffset(this), 'm');
+ }
+ }
+ return this;
+ }
+
+ function setOffsetToParsedOffset () {
+ if (this._tzm) {
+ this.utcOffset(this._tzm);
+ } else if (typeof this._i === 'string') {
+ this.utcOffset(offsetFromString(this._i));
+ }
+ return this;
+ }
+
+ function hasAlignedHourOffset (input) {
+ input = input ? local__createLocal(input).utcOffset() : 0;
+
+ return (this.utcOffset() - input) % 60 === 0;
+ }
+
+ function isDaylightSavingTime () {
+ return (
+ this.utcOffset() > this.clone().month(0).utcOffset() ||
+ this.utcOffset() > this.clone().month(5).utcOffset()
+ );
+ }
+
+ function isDaylightSavingTimeShifted () {
+ if (typeof this._isDSTShifted !== 'undefined') {
+ return this._isDSTShifted;
+ }
+
+ var c = {};
+
+ copyConfig(c, this);
+ c = prepareConfig(c);
+
+ if (c._a) {
+ var other = c._isUTC ? create_utc__createUTC(c._a) : local__createLocal(c._a);
+ this._isDSTShifted = this.isValid() &&
+ compareArrays(c._a, other.toArray()) > 0;
+ } else {
+ this._isDSTShifted = false;
+ }
+
+ return this._isDSTShifted;
+ }
+
+ function isLocal () {
+ return !this._isUTC;
+ }
+
+ function isUtcOffset () {
+ return this._isUTC;
+ }
+
+ function isUtc () {
+ return this._isUTC && this._offset === 0;
+ }
+
+ var aspNetRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/;
+
+ // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+ // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+ var create__isoRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;
+
+ function create__createDuration (input, key) {
+ var duration = input,
+ // matching against regexp is expensive, do it on demand
+ match = null,
+ sign,
+ ret,
+ diffRes;
+
+ if (isDuration(input)) {
+ duration = {
+ ms : input._milliseconds,
+ d : input._days,
+ M : input._months
+ };
+ } else if (typeof input === 'number') {
+ duration = {};
+ if (key) {
+ duration[key] = input;
+ } else {
+ duration.milliseconds = input;
+ }
+ } else if (!!(match = aspNetRegex.exec(input))) {
+ sign = (match[1] === '-') ? -1 : 1;
+ duration = {
+ y : 0,
+ d : toInt(match[DATE]) * sign,
+ h : toInt(match[HOUR]) * sign,
+ m : toInt(match[MINUTE]) * sign,
+ s : toInt(match[SECOND]) * sign,
+ ms : toInt(match[MILLISECOND]) * sign
+ };
+ } else if (!!(match = create__isoRegex.exec(input))) {
+ sign = (match[1] === '-') ? -1 : 1;
+ duration = {
+ y : parseIso(match[2], sign),
+ M : parseIso(match[3], sign),
+ d : parseIso(match[4], sign),
+ h : parseIso(match[5], sign),
+ m : parseIso(match[6], sign),
+ s : parseIso(match[7], sign),
+ w : parseIso(match[8], sign)
+ };
+ } else if (duration == null) {// checks for null or undefined
+ duration = {};
+ } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
+ diffRes = momentsDifference(local__createLocal(duration.from), local__createLocal(duration.to));
+
+ duration = {};
+ duration.ms = diffRes.milliseconds;
+ duration.M = diffRes.months;
+ }
+
+ ret = new Duration(duration);
+
+ if (isDuration(input) && hasOwnProp(input, '_locale')) {
+ ret._locale = input._locale;
+ }
+
+ return ret;
+ }
+
+ create__createDuration.fn = Duration.prototype;
+
+ function parseIso (inp, sign) {
+ // We'd normally use ~~inp for this, but unfortunately it also
+ // converts floats to ints.
+ // inp may be undefined, so careful calling replace on it.
+ var res = inp && parseFloat(inp.replace(',', '.'));
+ // apply sign while we're at it
+ return (isNaN(res) ? 0 : res) * sign;
+ }
+
+ function positiveMomentsDifference(base, other) {
+ var res = {milliseconds: 0, months: 0};
+
+ res.months = other.month() - base.month() +
+ (other.year() - base.year()) * 12;
+ if (base.clone().add(res.months, 'M').isAfter(other)) {
+ --res.months;
+ }
+
+ res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
+
+ return res;
+ }
+
+ function momentsDifference(base, other) {
+ var res;
+ other = cloneWithOffset(other, base);
+ if (base.isBefore(other)) {
+ res = positiveMomentsDifference(base, other);
+ } else {
+ res = positiveMomentsDifference(other, base);
+ res.milliseconds = -res.milliseconds;
+ res.months = -res.months;
+ }
+
+ return res;
+ }
+
+ function createAdder(direction, name) {
+ return function (val, period) {
+ var dur, tmp;
+ //invert the arguments, but complain about it
+ if (period !== null && !isNaN(+period)) {
+ deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
+ tmp = val; val = period; period = tmp;
+ }
+
+ val = typeof val === 'string' ? +val : val;
+ dur = create__createDuration(val, period);
+ add_subtract__addSubtract(this, dur, direction);
+ return this;
+ };
+ }
+
+ function add_subtract__addSubtract (mom, duration, isAdding, updateOffset) {
+ var milliseconds = duration._milliseconds,
+ days = duration._days,
+ months = duration._months;
+ updateOffset = updateOffset == null ? true : updateOffset;
+
+ if (milliseconds) {
+ mom._d.setTime(+mom._d + milliseconds * isAdding);
+ }
+ if (days) {
+ get_set__set(mom, 'Date', get_set__get(mom, 'Date') + days * isAdding);
+ }
+ if (months) {
+ setMonth(mom, get_set__get(mom, 'Month') + months * isAdding);
+ }
+ if (updateOffset) {
+ utils_hooks__hooks.updateOffset(mom, days || months);
+ }
+ }
+
+ var add_subtract__add = createAdder(1, 'add');
+ var add_subtract__subtract = createAdder(-1, 'subtract');
+
+ function moment_calendar__calendar (time, formats) {
+ // We want to compare the start of today, vs this.
+ // Getting start-of-today depends on whether we're local/utc/offset or not.
+ var now = time || local__createLocal(),
+ sod = cloneWithOffset(now, this).startOf('day'),
+ diff = this.diff(sod, 'days', true),
+ format = diff < -6 ? 'sameElse' :
+ diff < -1 ? 'lastWeek' :
+ diff < 0 ? 'lastDay' :
+ diff < 1 ? 'sameDay' :
+ diff < 2 ? 'nextDay' :
+ diff < 7 ? 'nextWeek' : 'sameElse';
+ return this.format(formats && formats[format] || this.localeData().calendar(format, this, local__createLocal(now)));
+ }
+
+ function clone () {
+ return new Moment(this);
+ }
+
+ function isAfter (input, units) {
+ var inputMs;
+ units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
+ if (units === 'millisecond') {
+ input = isMoment(input) ? input : local__createLocal(input);
+ return +this > +input;
+ } else {
+ inputMs = isMoment(input) ? +input : +local__createLocal(input);
+ return inputMs < +this.clone().startOf(units);
+ }
+ }
+
+ function isBefore (input, units) {
+ var inputMs;
+ units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
+ if (units === 'millisecond') {
+ input = isMoment(input) ? input : local__createLocal(input);
+ return +this < +input;
+ } else {
+ inputMs = isMoment(input) ? +input : +local__createLocal(input);
+ return +this.clone().endOf(units) < inputMs;
+ }
+ }
+
+ function isBetween (from, to, units) {
+ return this.isAfter(from, units) && this.isBefore(to, units);
+ }
+
+ function isSame (input, units) {
+ var inputMs;
+ units = normalizeUnits(units || 'millisecond');
+ if (units === 'millisecond') {
+ input = isMoment(input) ? input : local__createLocal(input);
+ return +this === +input;
+ } else {
+ inputMs = +local__createLocal(input);
+ return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units));
+ }
+ }
+
+ function diff (input, units, asFloat) {
+ var that = cloneWithOffset(input, this),
+ zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4,
+ delta, output;
+
+ units = normalizeUnits(units);
+
+ if (units === 'year' || units === 'month' || units === 'quarter') {
+ output = monthDiff(this, that);
+ if (units === 'quarter') {
+ output = output / 3;
+ } else if (units === 'year') {
+ output = output / 12;
+ }
+ } else {
+ delta = this - that;
+ output = units === 'second' ? delta / 1e3 : // 1000
+ units === 'minute' ? delta / 6e4 : // 1000 * 60
+ units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60
+ units === 'day' ? (delta - zoneDelta) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
+ units === 'week' ? (delta - zoneDelta) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
+ delta;
+ }
+ return asFloat ? output : absFloor(output);
+ }
+
+ function monthDiff (a, b) {
+ // difference in months
+ var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
+ // b is in (anchor - 1 month, anchor + 1 month)
+ anchor = a.clone().add(wholeMonthDiff, 'months'),
+ anchor2, adjust;
+
+ if (b - anchor < 0) {
+ anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
+ // linear across the month
+ adjust = (b - anchor) / (anchor - anchor2);
+ } else {
+ anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
+ // linear across the month
+ adjust = (b - anchor) / (anchor2 - anchor);
+ }
+
+ return -(wholeMonthDiff + adjust);
+ }
+
+ utils_hooks__hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
+
+ function toString () {
+ return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+ }
+
+ function moment_format__toISOString () {
+ var m = this.clone().utc();
+ if (0 < m.year() && m.year() <= 9999) {
+ if ('function' === typeof Date.prototype.toISOString) {
+ // native implementation is ~50x faster, use it when we can
+ return this.toDate().toISOString();
+ } else {
+ return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
+ }
+ } else {
+ return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
+ }
+ }
+
+ function format (inputString) {
+ var output = formatMoment(this, inputString || utils_hooks__hooks.defaultFormat);
+ return this.localeData().postformat(output);
+ }
+
+ function from (time, withoutSuffix) {
+ if (!this.isValid()) {
+ return this.localeData().invalidDate();
+ }
+ return create__createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
+ }
+
+ function fromNow (withoutSuffix) {
+ return this.from(local__createLocal(), withoutSuffix);
+ }
+
+ function to (time, withoutSuffix) {
+ if (!this.isValid()) {
+ return this.localeData().invalidDate();
+ }
+ return create__createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
+ }
+
+ function toNow (withoutSuffix) {
+ return this.to(local__createLocal(), withoutSuffix);
+ }
+
+ function locale (key) {
+ var newLocaleData;
+
+ if (key === undefined) {
+ return this._locale._abbr;
+ } else {
+ newLocaleData = locale_locales__getLocale(key);
+ if (newLocaleData != null) {
+ this._locale = newLocaleData;
+ }
+ return this;
+ }
+ }
+
+ var lang = deprecate(
+ 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
+ function (key) {
+ if (key === undefined) {
+ return this.localeData();
+ } else {
+ return this.locale(key);
+ }
+ }
+ );
+
+ function localeData () {
+ return this._locale;
+ }
+
+ function startOf (units) {
+ units = normalizeUnits(units);
+ // the following switch intentionally omits break keywords
+ // to utilize falling through the cases.
+ switch (units) {
+ case 'year':
+ this.month(0);
+ /* falls through */
+ case 'quarter':
+ case 'month':
+ this.date(1);
+ /* falls through */
+ case 'week':
+ case 'isoWeek':
+ case 'day':
+ this.hours(0);
+ /* falls through */
+ case 'hour':
+ this.minutes(0);
+ /* falls through */
+ case 'minute':
+ this.seconds(0);
+ /* falls through */
+ case 'second':
+ this.milliseconds(0);
+ }
+
+ // weeks are a special case
+ if (units === 'week') {
+ this.weekday(0);
+ }
+ if (units === 'isoWeek') {
+ this.isoWeekday(1);
+ }
+
+ // quarters are also special
+ if (units === 'quarter') {
+ this.month(Math.floor(this.month() / 3) * 3);
+ }
+
+ return this;
+ }
+
+ function endOf (units) {
+ units = normalizeUnits(units);
+ if (units === undefined || units === 'millisecond') {
+ return this;
+ }
+ return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
+ }
+
+ function to_type__valueOf () {
+ return +this._d - ((this._offset || 0) * 60000);
+ }
+
+ function unix () {
+ return Math.floor(+this / 1000);
+ }
+
+ function toDate () {
+ return this._offset ? new Date(+this) : this._d;
+ }
+
+ function toArray () {
+ var m = this;
+ return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
+ }
+
+ function toObject () {
+ var m = this;
+ return {
+ years: m.year(),
+ months: m.month(),
+ date: m.date(),
+ hours: m.hours(),
+ minutes: m.minutes(),
+ seconds: m.seconds(),
+ milliseconds: m.milliseconds()
+ };
+ }
+
+ function moment_valid__isValid () {
+ return valid__isValid(this);
+ }
+
+ function parsingFlags () {
+ return extend({}, getParsingFlags(this));
+ }
+
+ function invalidAt () {
+ return getParsingFlags(this).overflow;
+ }
+
+ addFormatToken(0, ['gg', 2], 0, function () {
+ return this.weekYear() % 100;
+ });
+
+ addFormatToken(0, ['GG', 2], 0, function () {
+ return this.isoWeekYear() % 100;
+ });
+
+ function addWeekYearFormatToken (token, getter) {
+ addFormatToken(0, [token, token.length], 0, getter);
+ }
+
+ addWeekYearFormatToken('gggg', 'weekYear');
+ addWeekYearFormatToken('ggggg', 'weekYear');
+ addWeekYearFormatToken('GGGG', 'isoWeekYear');
+ addWeekYearFormatToken('GGGGG', 'isoWeekYear');
+
+ // ALIASES
+
+ addUnitAlias('weekYear', 'gg');
+ addUnitAlias('isoWeekYear', 'GG');
+
+ // PARSING
+
+ addRegexToken('G', matchSigned);
+ addRegexToken('g', matchSigned);
+ addRegexToken('GG', match1to2, match2);
+ addRegexToken('gg', match1to2, match2);
+ addRegexToken('GGGG', match1to4, match4);
+ addRegexToken('gggg', match1to4, match4);
+ addRegexToken('GGGGG', match1to6, match6);
+ addRegexToken('ggggg', match1to6, match6);
+
+ addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
+ week[token.substr(0, 2)] = toInt(input);
+ });
+
+ addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
+ week[token] = utils_hooks__hooks.parseTwoDigitYear(input);
+ });
+
+ // HELPERS
+
+ function weeksInYear(year, dow, doy) {
+ return weekOfYear(local__createLocal([year, 11, 31 + dow - doy]), dow, doy).week;
+ }
+
+ // MOMENTS
+
+ function getSetWeekYear (input) {
+ var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year;
+ return input == null ? year : this.add((input - year), 'y');
+ }
+
+ function getSetISOWeekYear (input) {
+ var year = weekOfYear(this, 1, 4).year;
+ return input == null ? year : this.add((input - year), 'y');
+ }
+
+ function getISOWeeksInYear () {
+ return weeksInYear(this.year(), 1, 4);
+ }
+
+ function getWeeksInYear () {
+ var weekInfo = this.localeData()._week;
+ return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
+ }
+
+ addFormatToken('Q', 0, 0, 'quarter');
+
+ // ALIASES
+
+ addUnitAlias('quarter', 'Q');
+
+ // PARSING
+
+ addRegexToken('Q', match1);
+ addParseToken('Q', function (input, array) {
+ array[MONTH] = (toInt(input) - 1) * 3;
+ });
+
+ // MOMENTS
+
+ function getSetQuarter (input) {
+ return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
+ }
+
+ addFormatToken('D', ['DD', 2], 'Do', 'date');
+
+ // ALIASES
+
+ addUnitAlias('date', 'D');
+
+ // PARSING
+
+ addRegexToken('D', match1to2);
+ addRegexToken('DD', match1to2, match2);
+ addRegexToken('Do', function (isStrict, locale) {
+ return isStrict ? locale._ordinalParse : locale._ordinalParseLenient;
+ });
+
+ addParseToken(['D', 'DD'], DATE);
+ addParseToken('Do', function (input, array) {
+ array[DATE] = toInt(input.match(match1to2)[0], 10);
+ });
+
+ // MOMENTS
+
+ var getSetDayOfMonth = makeGetSet('Date', true);
+
+ addFormatToken('d', 0, 'do', 'day');
+
+ addFormatToken('dd', 0, 0, function (format) {
+ return this.localeData().weekdaysMin(this, format);
+ });
+
+ addFormatToken('ddd', 0, 0, function (format) {
+ return this.localeData().weekdaysShort(this, format);
+ });
+
+ addFormatToken('dddd', 0, 0, function (format) {
+ return this.localeData().weekdays(this, format);
+ });
+
+ addFormatToken('e', 0, 0, 'weekday');
+ addFormatToken('E', 0, 0, 'isoWeekday');
+
+ // ALIASES
+
+ addUnitAlias('day', 'd');
+ addUnitAlias('weekday', 'e');
+ addUnitAlias('isoWeekday', 'E');
+
+ // PARSING
+
+ addRegexToken('d', match1to2);
+ addRegexToken('e', match1to2);
+ addRegexToken('E', match1to2);
+ addRegexToken('dd', matchWord);
+ addRegexToken('ddd', matchWord);
+ addRegexToken('dddd', matchWord);
+
+ addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config) {
+ var weekday = config._locale.weekdaysParse(input);
+ // if we didn't get a weekday name, mark the date as invalid
+ if (weekday != null) {
+ week.d = weekday;
+ } else {
+ getParsingFlags(config).invalidWeekday = input;
+ }
+ });
+
+ addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
+ week[token] = toInt(input);
+ });
+
+ // HELPERS
+
+ function parseWeekday(input, locale) {
+ if (typeof input !== 'string') {
+ return input;
+ }
+
+ if (!isNaN(input)) {
+ return parseInt(input, 10);
+ }
+
+ input = locale.weekdaysParse(input);
+ if (typeof input === 'number') {
+ return input;
+ }
+
+ return null;
+ }
+
+ // LOCALES
+
+ var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
+ function localeWeekdays (m) {
+ return this._weekdays[m.day()];
+ }
+
+ var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
+ function localeWeekdaysShort (m) {
+ return this._weekdaysShort[m.day()];
+ }
+
+ var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
+ function localeWeekdaysMin (m) {
+ return this._weekdaysMin[m.day()];
+ }
+
+ function localeWeekdaysParse (weekdayName) {
+ var i, mom, regex;
+
+ this._weekdaysParse = this._weekdaysParse || [];
+
+ for (i = 0; i < 7; i++) {
+ // make the regex if we don't have it already
+ if (!this._weekdaysParse[i]) {
+ mom = local__createLocal([2000, 1]).day(i);
+ regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
+ this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (this._weekdaysParse[i].test(weekdayName)) {
+ return i;
+ }
+ }
+ }
+
+ // MOMENTS
+
+ function getSetDayOfWeek (input) {
+ var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+ if (input != null) {
+ input = parseWeekday(input, this.localeData());
+ return this.add(input - day, 'd');
+ } else {
+ return day;
+ }
+ }
+
+ function getSetLocaleDayOfWeek (input) {
+ var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
+ return input == null ? weekday : this.add(input - weekday, 'd');
+ }
+
+ function getSetISODayOfWeek (input) {
+ // behaves the same as moment#day except
+ // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+ // as a setter, sunday should belong to the previous week.
+ return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
+ }
+
+ addFormatToken('H', ['HH', 2], 0, 'hour');
+ addFormatToken('h', ['hh', 2], 0, function () {
+ return this.hours() % 12 || 12;
+ });
+
+ function meridiem (token, lowercase) {
+ addFormatToken(token, 0, 0, function () {
+ return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
+ });
+ }
+
+ meridiem('a', true);
+ meridiem('A', false);
+
+ // ALIASES
+
+ addUnitAlias('hour', 'h');
+
+ // PARSING
+
+ function matchMeridiem (isStrict, locale) {
+ return locale._meridiemParse;
+ }
+
+ addRegexToken('a', matchMeridiem);
+ addRegexToken('A', matchMeridiem);
+ addRegexToken('H', match1to2);
+ addRegexToken('h', match1to2);
+ addRegexToken('HH', match1to2, match2);
+ addRegexToken('hh', match1to2, match2);
+
+ addParseToken(['H', 'HH'], HOUR);
+ addParseToken(['a', 'A'], function (input, array, config) {
+ config._isPm = config._locale.isPM(input);
+ config._meridiem = input;
+ });
+ addParseToken(['h', 'hh'], function (input, array, config) {
+ array[HOUR] = toInt(input);
+ getParsingFlags(config).bigHour = true;
+ });
+
+ // LOCALES
+
+ function localeIsPM (input) {
+ // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+ // Using charAt should be more compatible.
+ return ((input + '').toLowerCase().charAt(0) === 'p');
+ }
+
+ var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
+ function localeMeridiem (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'pm' : 'PM';
+ } else {
+ return isLower ? 'am' : 'AM';
+ }
+ }
+
+
+ // MOMENTS
+
+ // Setting the hour should keep the time, because the user explicitly
+ // specified which hour he wants. So trying to maintain the same hour (in
+ // a new timezone) makes sense. Adding/subtracting hours does not follow
+ // this rule.
+ var getSetHour = makeGetSet('Hours', true);
+
+ addFormatToken('m', ['mm', 2], 0, 'minute');
+
+ // ALIASES
+
+ addUnitAlias('minute', 'm');
+
+ // PARSING
+
+ addRegexToken('m', match1to2);
+ addRegexToken('mm', match1to2, match2);
+ addParseToken(['m', 'mm'], MINUTE);
+
+ // MOMENTS
+
+ var getSetMinute = makeGetSet('Minutes', false);
+
+ addFormatToken('s', ['ss', 2], 0, 'second');
+
+ // ALIASES
+
+ addUnitAlias('second', 's');
+
+ // PARSING
+
+ addRegexToken('s', match1to2);
+ addRegexToken('ss', match1to2, match2);
+ addParseToken(['s', 'ss'], SECOND);
+
+ // MOMENTS
+
+ var getSetSecond = makeGetSet('Seconds', false);
+
+ addFormatToken('S', 0, 0, function () {
+ return ~~(this.millisecond() / 100);
+ });
+
+ addFormatToken(0, ['SS', 2], 0, function () {
+ return ~~(this.millisecond() / 10);
+ });
+
+ addFormatToken(0, ['SSS', 3], 0, 'millisecond');
+ addFormatToken(0, ['SSSS', 4], 0, function () {
+ return this.millisecond() * 10;
+ });
+ addFormatToken(0, ['SSSSS', 5], 0, function () {
+ return this.millisecond() * 100;
+ });
+ addFormatToken(0, ['SSSSSS', 6], 0, function () {
+ return this.millisecond() * 1000;
+ });
+ addFormatToken(0, ['SSSSSSS', 7], 0, function () {
+ return this.millisecond() * 10000;
+ });
+ addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
+ return this.millisecond() * 100000;
+ });
+ addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
+ return this.millisecond() * 1000000;
+ });
+
+
+ // ALIASES
+
+ addUnitAlias('millisecond', 'ms');
+
+ // PARSING
+
+ addRegexToken('S', match1to3, match1);
+ addRegexToken('SS', match1to3, match2);
+ addRegexToken('SSS', match1to3, match3);
+
+ var token;
+ for (token = 'SSSS'; token.length <= 9; token += 'S') {
+ addRegexToken(token, matchUnsigned);
+ }
+
+ function parseMs(input, array) {
+ array[MILLISECOND] = toInt(('0.' + input) * 1000);
+ }
+
+ for (token = 'S'; token.length <= 9; token += 'S') {
+ addParseToken(token, parseMs);
+ }
+ // MOMENTS
+
+ var getSetMillisecond = makeGetSet('Milliseconds', false);
+
+ addFormatToken('z', 0, 0, 'zoneAbbr');
+ addFormatToken('zz', 0, 0, 'zoneName');
+
+ // MOMENTS
+
+ function getZoneAbbr () {
+ return this._isUTC ? 'UTC' : '';
+ }
+
+ function getZoneName () {
+ return this._isUTC ? 'Coordinated Universal Time' : '';
+ }
+
+ var momentPrototype__proto = Moment.prototype;
+
+ momentPrototype__proto.add = add_subtract__add;
+ momentPrototype__proto.calendar = moment_calendar__calendar;
+ momentPrototype__proto.clone = clone;
+ momentPrototype__proto.diff = diff;
+ momentPrototype__proto.endOf = endOf;
+ momentPrototype__proto.format = format;
+ momentPrototype__proto.from = from;
+ momentPrototype__proto.fromNow = fromNow;
+ momentPrototype__proto.to = to;
+ momentPrototype__proto.toNow = toNow;
+ momentPrototype__proto.get = getSet;
+ momentPrototype__proto.invalidAt = invalidAt;
+ momentPrototype__proto.isAfter = isAfter;
+ momentPrototype__proto.isBefore = isBefore;
+ momentPrototype__proto.isBetween = isBetween;
+ momentPrototype__proto.isSame = isSame;
+ momentPrototype__proto.isValid = moment_valid__isValid;
+ momentPrototype__proto.lang = lang;
+ momentPrototype__proto.locale = locale;
+ momentPrototype__proto.localeData = localeData;
+ momentPrototype__proto.max = prototypeMax;
+ momentPrototype__proto.min = prototypeMin;
+ momentPrototype__proto.parsingFlags = parsingFlags;
+ momentPrototype__proto.set = getSet;
+ momentPrototype__proto.startOf = startOf;
+ momentPrototype__proto.subtract = add_subtract__subtract;
+ momentPrototype__proto.toArray = toArray;
+ momentPrototype__proto.toObject = toObject;
+ momentPrototype__proto.toDate = toDate;
+ momentPrototype__proto.toISOString = moment_format__toISOString;
+ momentPrototype__proto.toJSON = moment_format__toISOString;
+ momentPrototype__proto.toString = toString;
+ momentPrototype__proto.unix = unix;
+ momentPrototype__proto.valueOf = to_type__valueOf;
+
+ // Year
+ momentPrototype__proto.year = getSetYear;
+ momentPrototype__proto.isLeapYear = getIsLeapYear;
+
+ // Week Year
+ momentPrototype__proto.weekYear = getSetWeekYear;
+ momentPrototype__proto.isoWeekYear = getSetISOWeekYear;
+
+ // Quarter
+ momentPrototype__proto.quarter = momentPrototype__proto.quarters = getSetQuarter;
+
+ // Month
+ momentPrototype__proto.month = getSetMonth;
+ momentPrototype__proto.daysInMonth = getDaysInMonth;
+
+ // Week
+ momentPrototype__proto.week = momentPrototype__proto.weeks = getSetWeek;
+ momentPrototype__proto.isoWeek = momentPrototype__proto.isoWeeks = getSetISOWeek;
+ momentPrototype__proto.weeksInYear = getWeeksInYear;
+ momentPrototype__proto.isoWeeksInYear = getISOWeeksInYear;
+
+ // Day
+ momentPrototype__proto.date = getSetDayOfMonth;
+ momentPrototype__proto.day = momentPrototype__proto.days = getSetDayOfWeek;
+ momentPrototype__proto.weekday = getSetLocaleDayOfWeek;
+ momentPrototype__proto.isoWeekday = getSetISODayOfWeek;
+ momentPrototype__proto.dayOfYear = getSetDayOfYear;
+
+ // Hour
+ momentPrototype__proto.hour = momentPrototype__proto.hours = getSetHour;
+
+ // Minute
+ momentPrototype__proto.minute = momentPrototype__proto.minutes = getSetMinute;
+
+ // Second
+ momentPrototype__proto.second = momentPrototype__proto.seconds = getSetSecond;
+
+ // Millisecond
+ momentPrototype__proto.millisecond = momentPrototype__proto.milliseconds = getSetMillisecond;
+
+ // Offset
+ momentPrototype__proto.utcOffset = getSetOffset;
+ momentPrototype__proto.utc = setOffsetToUTC;
+ momentPrototype__proto.local = setOffsetToLocal;
+ momentPrototype__proto.parseZone = setOffsetToParsedOffset;
+ momentPrototype__proto.hasAlignedHourOffset = hasAlignedHourOffset;
+ momentPrototype__proto.isDST = isDaylightSavingTime;
+ momentPrototype__proto.isDSTShifted = isDaylightSavingTimeShifted;
+ momentPrototype__proto.isLocal = isLocal;
+ momentPrototype__proto.isUtcOffset = isUtcOffset;
+ momentPrototype__proto.isUtc = isUtc;
+ momentPrototype__proto.isUTC = isUtc;
+
+ // Timezone
+ momentPrototype__proto.zoneAbbr = getZoneAbbr;
+ momentPrototype__proto.zoneName = getZoneName;
+
+ // Deprecations
+ momentPrototype__proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
+ momentPrototype__proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
+ momentPrototype__proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
+ momentPrototype__proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779', getSetZone);
+
+ var momentPrototype = momentPrototype__proto;
+
+ function moment__createUnix (input) {
+ return local__createLocal(input * 1000);
+ }
+
+ function moment__createInZone () {
+ return local__createLocal.apply(null, arguments).parseZone();
+ }
+
+ var defaultCalendar = {
+ sameDay : '[Today at] LT',
+ nextDay : '[Tomorrow at] LT',
+ nextWeek : 'dddd [at] LT',
+ lastDay : '[Yesterday at] LT',
+ lastWeek : '[Last] dddd [at] LT',
+ sameElse : 'L'
+ };
+
+ function locale_calendar__calendar (key, mom, now) {
+ var output = this._calendar[key];
+ return typeof output === 'function' ? output.call(mom, now) : output;
+ }
+
+ var defaultLongDateFormat = {
+ LTS : 'h:mm:ss A',
+ LT : 'h:mm A',
+ L : 'MM/DD/YYYY',
+ LL : 'MMMM D, YYYY',
+ LLL : 'MMMM D, YYYY h:mm A',
+ LLLL : 'dddd, MMMM D, YYYY h:mm A'
+ };
+
+ function longDateFormat (key) {
+ var format = this._longDateFormat[key],
+ formatUpper = this._longDateFormat[key.toUpperCase()];
+
+ if (format || !formatUpper) {
+ return format;
+ }
+
+ this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
+ return val.slice(1);
+ });
+
+ return this._longDateFormat[key];
+ }
+
+ var defaultInvalidDate = 'Invalid date';
+
+ function invalidDate () {
+ return this._invalidDate;
+ }
+
+ var defaultOrdinal = '%d';
+ var defaultOrdinalParse = /\d{1,2}/;
+
+ function ordinal (number) {
+ return this._ordinal.replace('%d', number);
+ }
+
+ function preParsePostFormat (string) {
+ return string;
+ }
+
+ var defaultRelativeTime = {
+ future : 'in %s',
+ past : '%s ago',
+ s : 'a few seconds',
+ m : 'a minute',
+ mm : '%d minutes',
+ h : 'an hour',
+ hh : '%d hours',
+ d : 'a day',
+ dd : '%d days',
+ M : 'a month',
+ MM : '%d months',
+ y : 'a year',
+ yy : '%d years'
+ };
+
+ function relative__relativeTime (number, withoutSuffix, string, isFuture) {
+ var output = this._relativeTime[string];
+ return (typeof output === 'function') ?
+ output(number, withoutSuffix, string, isFuture) :
+ output.replace(/%d/i, number);
+ }
+
+ function pastFuture (diff, output) {
+ var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+ return typeof format === 'function' ? format(output) : format.replace(/%s/i, output);
+ }
+
+ function locale_set__set (config) {
+ var prop, i;
+ for (i in config) {
+ prop = config[i];
+ if (typeof prop === 'function') {
+ this[i] = prop;
+ } else {
+ this['_' + i] = prop;
+ }
+ }
+ // Lenient ordinal parsing accepts just a number in addition to
+ // number + (possibly) stuff coming from _ordinalParseLenient.
+ this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\d{1,2}/).source);
+ }
+
+ var prototype__proto = Locale.prototype;
+
+ prototype__proto._calendar = defaultCalendar;
+ prototype__proto.calendar = locale_calendar__calendar;
+ prototype__proto._longDateFormat = defaultLongDateFormat;
+ prototype__proto.longDateFormat = longDateFormat;
+ prototype__proto._invalidDate = defaultInvalidDate;
+ prototype__proto.invalidDate = invalidDate;
+ prototype__proto._ordinal = defaultOrdinal;
+ prototype__proto.ordinal = ordinal;
+ prototype__proto._ordinalParse = defaultOrdinalParse;
+ prototype__proto.preparse = preParsePostFormat;
+ prototype__proto.postformat = preParsePostFormat;
+ prototype__proto._relativeTime = defaultRelativeTime;
+ prototype__proto.relativeTime = relative__relativeTime;
+ prototype__proto.pastFuture = pastFuture;
+ prototype__proto.set = locale_set__set;
+
+ // Month
+ prototype__proto.months = localeMonths;
+ prototype__proto._months = defaultLocaleMonths;
+ prototype__proto.monthsShort = localeMonthsShort;
+ prototype__proto._monthsShort = defaultLocaleMonthsShort;
+ prototype__proto.monthsParse = localeMonthsParse;
+
+ // Week
+ prototype__proto.week = localeWeek;
+ prototype__proto._week = defaultLocaleWeek;
+ prototype__proto.firstDayOfYear = localeFirstDayOfYear;
+ prototype__proto.firstDayOfWeek = localeFirstDayOfWeek;
+
+ // Day of Week
+ prototype__proto.weekdays = localeWeekdays;
+ prototype__proto._weekdays = defaultLocaleWeekdays;
+ prototype__proto.weekdaysMin = localeWeekdaysMin;
+ prototype__proto._weekdaysMin = defaultLocaleWeekdaysMin;
+ prototype__proto.weekdaysShort = localeWeekdaysShort;
+ prototype__proto._weekdaysShort = defaultLocaleWeekdaysShort;
+ prototype__proto.weekdaysParse = localeWeekdaysParse;
+
+ // Hours
+ prototype__proto.isPM = localeIsPM;
+ prototype__proto._meridiemParse = defaultLocaleMeridiemParse;
+ prototype__proto.meridiem = localeMeridiem;
+
+ function lists__get (format, index, field, setter) {
+ var locale = locale_locales__getLocale();
+ var utc = create_utc__createUTC().set(setter, index);
+ return locale[field](utc, format);
+ }
+
+ function list (format, index, field, count, setter) {
+ if (typeof format === 'number') {
+ index = format;
+ format = undefined;
+ }
+
+ format = format || '';
+
+ if (index != null) {
+ return lists__get(format, index, field, setter);
+ }
+
+ var i;
+ var out = [];
+ for (i = 0; i < count; i++) {
+ out[i] = lists__get(format, i, field, setter);
+ }
+ return out;
+ }
+
+ function lists__listMonths (format, index) {
+ return list(format, index, 'months', 12, 'month');
+ }
+
+ function lists__listMonthsShort (format, index) {
+ return list(format, index, 'monthsShort', 12, 'month');
+ }
+
+ function lists__listWeekdays (format, index) {
+ return list(format, index, 'weekdays', 7, 'day');
+ }
+
+ function lists__listWeekdaysShort (format, index) {
+ return list(format, index, 'weekdaysShort', 7, 'day');
+ }
+
+ function lists__listWeekdaysMin (format, index) {
+ return list(format, index, 'weekdaysMin', 7, 'day');
+ }
+
+ locale_locales__getSetGlobalLocale('en', {
+ ordinalParse: /\d{1,2}(th|st|nd|rd)/,
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (toInt(number % 100 / 10) === 1) ? 'th' :
+ (b === 1) ? 'st' :
+ (b === 2) ? 'nd' :
+ (b === 3) ? 'rd' : 'th';
+ return number + output;
+ }
+ });
+
+ // Side effect imports
+ utils_hooks__hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', locale_locales__getSetGlobalLocale);
+ utils_hooks__hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', locale_locales__getLocale);
+
+ var mathAbs = Math.abs;
+
+ function duration_abs__abs () {
+ var data = this._data;
+
+ this._milliseconds = mathAbs(this._milliseconds);
+ this._days = mathAbs(this._days);
+ this._months = mathAbs(this._months);
+
+ data.milliseconds = mathAbs(data.milliseconds);
+ data.seconds = mathAbs(data.seconds);
+ data.minutes = mathAbs(data.minutes);
+ data.hours = mathAbs(data.hours);
+ data.months = mathAbs(data.months);
+ data.years = mathAbs(data.years);
+
+ return this;
+ }
+
+ function duration_add_subtract__addSubtract (duration, input, value, direction) {
+ var other = create__createDuration(input, value);
+
+ duration._milliseconds += direction * other._milliseconds;
+ duration._days += direction * other._days;
+ duration._months += direction * other._months;
+
+ return duration._bubble();
+ }
+
+ // supports only 2.0-style add(1, 's') or add(duration)
+ function duration_add_subtract__add (input, value) {
+ return duration_add_subtract__addSubtract(this, input, value, 1);
+ }
+
+ // supports only 2.0-style subtract(1, 's') or subtract(duration)
+ function duration_add_subtract__subtract (input, value) {
+ return duration_add_subtract__addSubtract(this, input, value, -1);
+ }
+
+ function absCeil (number) {
+ if (number < 0) {
+ return Math.floor(number);
+ } else {
+ return Math.ceil(number);
+ }
+ }
+
+ function bubble () {
+ var milliseconds = this._milliseconds;
+ var days = this._days;
+ var months = this._months;
+ var data = this._data;
+ var seconds, minutes, hours, years, monthsFromDays;
+
+ // if we have a mix of positive and negative values, bubble down first
+ // check: https://github.com/moment/moment/issues/2166
+ if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
+ (milliseconds <= 0 && days <= 0 && months <= 0))) {
+ milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
+ days = 0;
+ months = 0;
+ }
+
+ // The following code bubbles up values, see the tests for
+ // examples of what that means.
+ data.milliseconds = milliseconds % 1000;
+
+ seconds = absFloor(milliseconds / 1000);
+ data.seconds = seconds % 60;
+
+ minutes = absFloor(seconds / 60);
+ data.minutes = minutes % 60;
+
+ hours = absFloor(minutes / 60);
+ data.hours = hours % 24;
+
+ days += absFloor(hours / 24);
+
+ // convert days to months
+ monthsFromDays = absFloor(daysToMonths(days));
+ months += monthsFromDays;
+ days -= absCeil(monthsToDays(monthsFromDays));
+
+ // 12 months -> 1 year
+ years = absFloor(months / 12);
+ months %= 12;
+
+ data.days = days;
+ data.months = months;
+ data.years = years;
+
+ return this;
+ }
+
+ function daysToMonths (days) {
+ // 400 years have 146097 days (taking into account leap year rules)
+ // 400 years have 12 months === 4800
+ return days * 4800 / 146097;
+ }
+
+ function monthsToDays (months) {
+ // the reverse of daysToMonths
+ return months * 146097 / 4800;
+ }
+
+ function as (units) {
+ var days;
+ var months;
+ var milliseconds = this._milliseconds;
+
+ units = normalizeUnits(units);
+
+ if (units === 'month' || units === 'year') {
+ days = this._days + milliseconds / 864e5;
+ months = this._months + daysToMonths(days);
+ return units === 'month' ? months : months / 12;
+ } else {
+ // handle milliseconds separately because of floating point math errors (issue #1867)
+ days = this._days + Math.round(monthsToDays(this._months));
+ switch (units) {
+ case 'week' : return days / 7 + milliseconds / 6048e5;
+ case 'day' : return days + milliseconds / 864e5;
+ case 'hour' : return days * 24 + milliseconds / 36e5;
+ case 'minute' : return days * 1440 + milliseconds / 6e4;
+ case 'second' : return days * 86400 + milliseconds / 1000;
+ // Math.floor prevents floating point math errors here
+ case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
+ default: throw new Error('Unknown unit ' + units);
+ }
+ }
+ }
+
+ // TODO: Use this.as('ms')?
+ function duration_as__valueOf () {
+ return (
+ this._milliseconds +
+ this._days * 864e5 +
+ (this._months % 12) * 2592e6 +
+ toInt(this._months / 12) * 31536e6
+ );
+ }
+
+ function makeAs (alias) {
+ return function () {
+ return this.as(alias);
+ };
+ }
+
+ var asMilliseconds = makeAs('ms');
+ var asSeconds = makeAs('s');
+ var asMinutes = makeAs('m');
+ var asHours = makeAs('h');
+ var asDays = makeAs('d');
+ var asWeeks = makeAs('w');
+ var asMonths = makeAs('M');
+ var asYears = makeAs('y');
+
+ function duration_get__get (units) {
+ units = normalizeUnits(units);
+ return this[units + 's']();
+ }
+
+ function makeGetter(name) {
+ return function () {
+ return this._data[name];
+ };
+ }
+
+ var milliseconds = makeGetter('milliseconds');
+ var seconds = makeGetter('seconds');
+ var minutes = makeGetter('minutes');
+ var hours = makeGetter('hours');
+ var days = makeGetter('days');
+ var months = makeGetter('months');
+ var years = makeGetter('years');
+
+ function weeks () {
+ return absFloor(this.days() / 7);
+ }
+
+ var round = Math.round;
+ var thresholds = {
+ s: 45, // seconds to minute
+ m: 45, // minutes to hour
+ h: 22, // hours to day
+ d: 26, // days to month
+ M: 11 // months to year
+ };
+
+ // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+ function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
+ return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+ }
+
+ function duration_humanize__relativeTime (posNegDuration, withoutSuffix, locale) {
+ var duration = create__createDuration(posNegDuration).abs();
+ var seconds = round(duration.as('s'));
+ var minutes = round(duration.as('m'));
+ var hours = round(duration.as('h'));
+ var days = round(duration.as('d'));
+ var months = round(duration.as('M'));
+ var years = round(duration.as('y'));
+
+ var a = seconds < thresholds.s && ['s', seconds] ||
+ minutes === 1 && ['m'] ||
+ minutes < thresholds.m && ['mm', minutes] ||
+ hours === 1 && ['h'] ||
+ hours < thresholds.h && ['hh', hours] ||
+ days === 1 && ['d'] ||
+ days < thresholds.d && ['dd', days] ||
+ months === 1 && ['M'] ||
+ months < thresholds.M && ['MM', months] ||
+ years === 1 && ['y'] || ['yy', years];
+
+ a[2] = withoutSuffix;
+ a[3] = +posNegDuration > 0;
+ a[4] = locale;
+ return substituteTimeAgo.apply(null, a);
+ }
+
+ // This function allows you to set a threshold for relative time strings
+ function duration_humanize__getSetRelativeTimeThreshold (threshold, limit) {
+ if (thresholds[threshold] === undefined) {
+ return false;
+ }
+ if (limit === undefined) {
+ return thresholds[threshold];
+ }
+ thresholds[threshold] = limit;
+ return true;
+ }
+
+ function humanize (withSuffix) {
+ var locale = this.localeData();
+ var output = duration_humanize__relativeTime(this, !withSuffix, locale);
+
+ if (withSuffix) {
+ output = locale.pastFuture(+this, output);
+ }
+
+ return locale.postformat(output);
+ }
+
+ var iso_string__abs = Math.abs;
+
+ function iso_string__toISOString() {
+ // for ISO strings we do not use the normal bubbling rules:
+ // * milliseconds bubble up until they become hours
+ // * days do not bubble at all
+ // * months bubble up until they become years
+ // This is because there is no context-free conversion between hours and days
+ // (think of clock changes)
+ // and also not between days and months (28-31 days per month)
+ var seconds = iso_string__abs(this._milliseconds) / 1000;
+ var days = iso_string__abs(this._days);
+ var months = iso_string__abs(this._months);
+ var minutes, hours, years;
+
+ // 3600 seconds -> 60 minutes -> 1 hour
+ minutes = absFloor(seconds / 60);
+ hours = absFloor(minutes / 60);
+ seconds %= 60;
+ minutes %= 60;
+
+ // 12 months -> 1 year
+ years = absFloor(months / 12);
+ months %= 12;
+
+
+ // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+ var Y = years;
+ var M = months;
+ var D = days;
+ var h = hours;
+ var m = minutes;
+ var s = seconds;
+ var total = this.asSeconds();
+
+ if (!total) {
+ // this is the same as C#'s (Noda) and python (isodate)...
+ // but not other JS (goog.date)
+ return 'P0D';
+ }
+
+ return (total < 0 ? '-' : '') +
+ 'P' +
+ (Y ? Y + 'Y' : '') +
+ (M ? M + 'M' : '') +
+ (D ? D + 'D' : '') +
+ ((h || m || s) ? 'T' : '') +
+ (h ? h + 'H' : '') +
+ (m ? m + 'M' : '') +
+ (s ? s + 'S' : '');
+ }
+
+ var duration_prototype__proto = Duration.prototype;
+
+ duration_prototype__proto.abs = duration_abs__abs;
+ duration_prototype__proto.add = duration_add_subtract__add;
+ duration_prototype__proto.subtract = duration_add_subtract__subtract;
+ duration_prototype__proto.as = as;
+ duration_prototype__proto.asMilliseconds = asMilliseconds;
+ duration_prototype__proto.asSeconds = asSeconds;
+ duration_prototype__proto.asMinutes = asMinutes;
+ duration_prototype__proto.asHours = asHours;
+ duration_prototype__proto.asDays = asDays;
+ duration_prototype__proto.asWeeks = asWeeks;
+ duration_prototype__proto.asMonths = asMonths;
+ duration_prototype__proto.asYears = asYears;
+ duration_prototype__proto.valueOf = duration_as__valueOf;
+ duration_prototype__proto._bubble = bubble;
+ duration_prototype__proto.get = duration_get__get;
+ duration_prototype__proto.milliseconds = milliseconds;
+ duration_prototype__proto.seconds = seconds;
+ duration_prototype__proto.minutes = minutes;
+ duration_prototype__proto.hours = hours;
+ duration_prototype__proto.days = days;
+ duration_prototype__proto.weeks = weeks;
+ duration_prototype__proto.months = months;
+ duration_prototype__proto.years = years;
+ duration_prototype__proto.humanize = humanize;
+ duration_prototype__proto.toISOString = iso_string__toISOString;
+ duration_prototype__proto.toString = iso_string__toISOString;
+ duration_prototype__proto.toJSON = iso_string__toISOString;
+ duration_prototype__proto.locale = locale;
+ duration_prototype__proto.localeData = localeData;
+
+ // Deprecations
+ duration_prototype__proto.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', iso_string__toISOString);
+ duration_prototype__proto.lang = lang;
+
+ // Side effect imports
+
+ addFormatToken('X', 0, 0, 'unix');
+ addFormatToken('x', 0, 0, 'valueOf');
+
+ // PARSING
+
+ addRegexToken('x', matchSigned);
+ addRegexToken('X', matchTimestamp);
+ addParseToken('X', function (input, array, config) {
+ config._d = new Date(parseFloat(input, 10) * 1000);
+ });
+ addParseToken('x', function (input, array, config) {
+ config._d = new Date(toInt(input));
+ });
+
+ // Side effect imports
+
+
+ utils_hooks__hooks.version = '2.10.6';
+
+ setHookCallback(local__createLocal);
+
+ utils_hooks__hooks.fn = momentPrototype;
+ utils_hooks__hooks.min = min;
+ utils_hooks__hooks.max = max;
+ utils_hooks__hooks.utc = create_utc__createUTC;
+ utils_hooks__hooks.unix = moment__createUnix;
+ utils_hooks__hooks.months = lists__listMonths;
+ utils_hooks__hooks.isDate = isDate;
+ utils_hooks__hooks.locale = locale_locales__getSetGlobalLocale;
+ utils_hooks__hooks.invalid = valid__createInvalid;
+ utils_hooks__hooks.duration = create__createDuration;
+ utils_hooks__hooks.isMoment = isMoment;
+ utils_hooks__hooks.weekdays = lists__listWeekdays;
+ utils_hooks__hooks.parseZone = moment__createInZone;
+ utils_hooks__hooks.localeData = locale_locales__getLocale;
+ utils_hooks__hooks.isDuration = isDuration;
+ utils_hooks__hooks.monthsShort = lists__listMonthsShort;
+ utils_hooks__hooks.weekdaysMin = lists__listWeekdaysMin;
+ utils_hooks__hooks.defineLocale = defineLocale;
+ utils_hooks__hooks.weekdaysShort = lists__listWeekdaysShort;
+ utils_hooks__hooks.normalizeUnits = normalizeUnits;
+ utils_hooks__hooks.relativeTimeThreshold = duration_humanize__getSetRelativeTimeThreshold;
+
+ var _moment = utils_hooks__hooks;
+
+ return _moment;
+
+})); \ No newline at end of file
diff --git a/library/moment/moment.min.js b/library/moment/moment.min.js
new file mode 100644
index 000000000..8e6866af0
--- /dev/null
+++ b/library/moment/moment.min.js
@@ -0,0 +1,7 @@
+//! moment.js
+//! version : 2.10.6
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Hc.apply(null,arguments)}function b(a){Hc=a}function c(a){return"[object Array]"===Object.prototype.toString.call(a)}function d(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function e(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function f(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function g(a,b){for(var c in b)f(b,c)&&(a[c]=b[c]);return f(b,"toString")&&(a.toString=b.toString),f(b,"valueOf")&&(a.valueOf=b.valueOf),a}function h(a,b,c,d){return Ca(a,b,c,d,!0).utc()}function i(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function j(a){return null==a._pf&&(a._pf=i()),a._pf}function k(a){if(null==a._isValid){var b=j(a);a._isValid=!(isNaN(a._d.getTime())||!(b.overflow<0)||b.empty||b.invalidMonth||b.invalidWeekday||b.nullInput||b.invalidFormat||b.userInvalidated),a._strict&&(a._isValid=a._isValid&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour)}return a._isValid}function l(a){var b=h(NaN);return null!=a?g(j(b),a):j(b).userInvalidated=!0,b}function m(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=j(b)),"undefined"!=typeof b._locale&&(a._locale=b._locale),Jc.length>0)for(c in Jc)d=Jc[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function n(b){m(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),Kc===!1&&(Kc=!0,a.updateOffset(this),Kc=!1)}function o(a){return a instanceof n||null!=a&&null!=a._isAMomentObject}function p(a){return 0>a?Math.ceil(a):Math.floor(a)}function q(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=p(b)),c}function r(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&q(a[d])!==q(b[d]))&&g++;return g+f}function s(){}function t(a){return a?a.toLowerCase().replace("_","-"):a}function u(a){for(var b,c,d,e,f=0;f<a.length;){for(e=t(a[f]).split("-"),b=e.length,c=t(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=v(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&r(e,c,!0)>=b-1)break;b--}f++}return null}function v(a){var b=null;if(!Lc[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Ic._abbr,require("./locale/"+a),w(b)}catch(c){}return Lc[a]}function w(a,b){var c;return a&&(c="undefined"==typeof b?y(a):x(a,b),c&&(Ic=c)),Ic._abbr}function x(a,b){return null!==b?(b.abbr=a,Lc[a]=Lc[a]||new s,Lc[a].set(b),w(a),Lc[a]):(delete Lc[a],null)}function y(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Ic;if(!c(a)){if(b=v(a))return b;a=[a]}return u(a)}function z(a,b){var c=a.toLowerCase();Mc[c]=Mc[c+"s"]=Mc[b]=a}function A(a){return"string"==typeof a?Mc[a]||Mc[a.toLowerCase()]:void 0}function B(a){var b,c,d={};for(c in a)f(a,c)&&(b=A(c),b&&(d[b]=a[c]));return d}function C(b,c){return function(d){return null!=d?(E(this,b,d),a.updateOffset(this,c),this):D(this,b)}}function D(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function E(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function F(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=A(a),"function"==typeof this[a])return this[a](b);return this}function G(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function H(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Qc[a]=e),b&&(Qc[b[0]]=function(){return G(e.apply(this,arguments),b[1],b[2])}),c&&(Qc[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function I(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function J(a){var b,c,d=a.match(Nc);for(b=0,c=d.length;c>b;b++)Qc[d[b]]?d[b]=Qc[d[b]]:d[b]=I(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function K(a,b){return a.isValid()?(b=L(b,a.localeData()),Pc[b]=Pc[b]||J(b),Pc[b](a)):a.localeData().invalidDate()}function L(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Oc.lastIndex=0;d>=0&&Oc.test(a);)a=a.replace(Oc,c),Oc.lastIndex=0,d-=1;return a}function M(a){return"function"==typeof a&&"[object Function]"===Object.prototype.toString.call(a)}function N(a,b,c){dd[a]=M(b)?b:function(a){return a&&c?c:b}}function O(a,b){return f(dd,a)?dd[a](b._strict,b._locale):new RegExp(P(a))}function P(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=q(a)}),c=0;c<a.length;c++)ed[a[c]]=d}function R(a,b){Q(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function S(a,b,c){null!=b&&f(ed,a)&&ed[a](b,c._a,c,a)}function T(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function U(a){return this._months[a.month()]}function V(a){return this._monthsShort[a.month()]}function W(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=h([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function X(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),T(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function Y(b){return null!=b?(X(this,b),a.updateOffset(this,!0),this):D(this,"Month")}function Z(){return T(this.year(),this.month())}function $(a){var b,c=a._a;return c&&-2===j(a).overflow&&(b=c[gd]<0||c[gd]>11?gd:c[hd]<1||c[hd]>T(c[fd],c[gd])?hd:c[id]<0||c[id]>24||24===c[id]&&(0!==c[jd]||0!==c[kd]||0!==c[ld])?id:c[jd]<0||c[jd]>59?jd:c[kd]<0||c[kd]>59?kd:c[ld]<0||c[ld]>999?ld:-1,j(a)._overflowDayOfYear&&(fd>b||b>hd)&&(b=hd),j(a).overflow=b),a}function _(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function aa(a,b){var c=!0;return g(function(){return c&&(_(a+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ba(a,b){od[a]||(_(b),od[a]=!0)}function ca(a){var b,c,d=a._i,e=pd.exec(d);if(e){for(j(a).iso=!0,b=0,c=qd.length;c>b;b++)if(qd[b][1].exec(d)){a._f=qd[b][0];break}for(b=0,c=rd.length;c>b;b++)if(rd[b][1].exec(d)){a._f+=(e[6]||" ")+rd[b][0];break}d.match(ad)&&(a._f+="Z"),va(a)}else a._isValid=!1}function da(b){var c=sd.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ca(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ea(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function fa(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ga(a){return ha(a)?366:365}function ha(a){return a%4===0&&a%100!==0||a%400===0}function ia(){return ha(this.year())}function ja(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=Da(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ka(a){return ja(a,this._week.dow,this._week.doy).week}function la(){return this._week.dow}function ma(){return this._week.doy}function na(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function oa(a){var b=ja(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function pa(a,b,c,d,e){var f,g=6+e-d,h=fa(a,0,1+g),i=h.getUTCDay();return e>i&&(i+=7),c=null!=c?1*c:e,f=1+g+7*(b-1)-i+c,{year:f>0?a:a-1,dayOfYear:f>0?f:ga(a-1)+f}}function qa(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function ra(a,b,c){return null!=a?a:null!=b?b:c}function sa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function ta(a){var b,c,d,e,f=[];if(!a._d){for(d=sa(a),a._w&&null==a._a[hd]&&null==a._a[gd]&&ua(a),a._dayOfYear&&(e=ra(a._a[fd],d[fd]),a._dayOfYear>ga(e)&&(j(a)._overflowDayOfYear=!0),c=fa(e,0,a._dayOfYear),a._a[gd]=c.getUTCMonth(),a._a[hd]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[id]&&0===a._a[jd]&&0===a._a[kd]&&0===a._a[ld]&&(a._nextDay=!0,a._a[id]=0),a._d=(a._useUTC?fa:ea).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[id]=24)}}function ua(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=ra(b.GG,a._a[fd],ja(Da(),1,4).year),d=ra(b.W,1),e=ra(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=ra(b.gg,a._a[fd],ja(Da(),f,g).year),d=ra(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=pa(c,d,e,g,f),a._a[fd]=h.year,a._dayOfYear=h.dayOfYear}function va(b){if(b._f===a.ISO_8601)return void ca(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,k=0;for(e=L(b._f,b._locale).match(Nc)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(O(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),Qc[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),S(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[id]<=12&&b._a[id]>0&&(j(b).bigHour=void 0),b._a[id]=wa(b._locale,b._a[id],b._meridiem),ta(b),$(b)}function wa(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function xa(a){var b,c,d,e,f;if(0===a._f.length)return j(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=m({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],va(b),k(b)&&(f+=j(b).charsLeftOver,f+=10*j(b).unusedTokens.length,j(b).score=f,(null==d||d>f)&&(d=f,c=b));g(a,c||b)}function ya(a){if(!a._d){var b=B(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],ta(a)}}function za(a){var b=new n($(Aa(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function Aa(a){var b=a._i,e=a._f;return a._locale=a._locale||y(a._l),null===b||void 0===e&&""===b?l({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),o(b)?new n($(b)):(c(e)?xa(a):e?va(a):d(b)?a._d=b:Ba(a),a))}function Ba(b){var f=b._i;void 0===f?b._d=new Date:d(f)?b._d=new Date(+f):"string"==typeof f?da(b):c(f)?(b._a=e(f.slice(0),function(a){return parseInt(a,10)}),ta(b)):"object"==typeof f?ya(b):"number"==typeof f?b._d=new Date(f):a.createFromInputFallback(b)}function Ca(a,b,c,d,e){var f={};return"boolean"==typeof c&&(d=c,c=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=e,f._l=c,f._i=a,f._f=b,f._strict=d,za(f)}function Da(a,b,c,d){return Ca(a,b,c,d,!1)}function Ea(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return Da();for(d=b[0],e=1;e<b.length;++e)(!b[e].isValid()||b[e][a](d))&&(d=b[e]);return d}function Fa(){var a=[].slice.call(arguments,0);return Ea("isBefore",a)}function Ga(){var a=[].slice.call(arguments,0);return Ea("isAfter",a)}function Ha(a){var b=B(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=y(),this._bubble()}function Ia(a){return a instanceof Ha}function Ja(a,b){H(a,0,0,function(){var a=this.utcOffset(),c="+";return 0>a&&(a=-a,c="-"),c+G(~~(a/60),2)+b+G(~~a%60,2)})}function Ka(a){var b=(a||"").match(ad)||[],c=b[b.length-1]||[],d=(c+"").match(xd)||["-",0,0],e=+(60*d[1])+q(d[2]);return"+"===d[0]?e:-e}function La(b,c){var e,f;return c._isUTC?(e=c.clone(),f=(o(b)||d(b)?+b:+Da(b))-+e,e._d.setTime(+e._d+f),a.updateOffset(e,!1),e):Da(b).local()}function Ma(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Na(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ka(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ma(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?bb(this,Ya(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ma(this)}function Oa(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Pa(a){return this.utcOffset(0,a)}function Qa(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ma(this),"m")),this}function Ra(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ka(this._i)),this}function Sa(a){return a=a?Da(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Ta(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ua(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var a={};if(m(a,this),a=Aa(a),a._a){var b=a._isUTC?h(a._a):Da(a._a);this._isDSTShifted=this.isValid()&&r(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Va(){return!this._isUTC}function Wa(){return this._isUTC}function Xa(){return this._isUTC&&0===this._offset}function Ya(a,b){var c,d,e,g=a,h=null;return Ia(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=yd.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:q(h[hd])*c,h:q(h[id])*c,m:q(h[jd])*c,s:q(h[kd])*c,ms:q(h[ld])*c}):(h=zd.exec(a))?(c="-"===h[1]?-1:1,g={y:Za(h[2],c),M:Za(h[3],c),d:Za(h[4],c),h:Za(h[5],c),m:Za(h[6],c),s:Za(h[7],c),w:Za(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=_a(Da(g.from),Da(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new Ha(g),Ia(a)&&f(a,"_locale")&&(d._locale=a._locale),d}function Za(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function $a(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function _a(a,b){var c;return b=La(b,a),a.isBefore(b)?c=$a(a,b):(c=$a(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function ab(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(ba(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ya(c,d),bb(this,e,a),this}}function bb(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&E(b,"Date",D(b,"Date")+g*d),h&&X(b,D(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function cb(a,b){var c=a||Da(),d=La(c,this).startOf("day"),e=this.diff(d,"days",!0),f=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse";return this.format(b&&b[f]||this.localeData().calendar(f,this,Da(c)))}function db(){return new n(this)}function eb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this>+a):(c=o(a)?+a:+Da(a),c<+this.clone().startOf(b))}function fb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+a>+this):(c=o(a)?+a:+Da(a),+this.clone().endOf(b)<c)}function gb(a,b,c){return this.isAfter(a,c)&&this.isBefore(b,c)}function hb(a,b){var c;return b=A(b||"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this===+a):(c=+Da(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))}function ib(a,b,c){var d,e,f=La(a,this),g=6e4*(f.utcOffset()-this.utcOffset());return b=A(b),"year"===b||"month"===b||"quarter"===b?(e=jb(this,f),"quarter"===b?e/=3:"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:p(e)}function jb(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function kb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function lb(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():K(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):K(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function mb(b){var c=K(this,b||a.defaultFormat);return this.localeData().postformat(c)}function nb(a,b){return this.isValid()?Ya({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ob(a){return this.from(Da(),a)}function pb(a,b){return this.isValid()?Ya({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function qb(a){return this.to(Da(),a)}function rb(a){var b;return void 0===a?this._locale._abbr:(b=y(a),null!=b&&(this._locale=b),this)}function sb(){return this._locale}function tb(a){switch(a=A(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function ub(a){return a=A(a),void 0===a||"millisecond"===a?this:this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms")}function vb(){return+this._d-6e4*(this._offset||0)}function wb(){return Math.floor(+this/1e3)}function xb(){return this._offset?new Date(+this):this._d}function yb(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function zb(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function Ab(){return k(this)}function Bb(){return g({},j(this))}function Cb(){return j(this).overflow}function Db(a,b){H(0,[a,a.length],0,b)}function Eb(a,b,c){return ja(Da([a,11,31+b-c]),b,c).week}function Fb(a){var b=ja(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")}function Gb(a){var b=ja(this,1,4).year;return null==a?b:this.add(a-b,"y")}function Hb(){return Eb(this.year(),1,4)}function Ib(){var a=this.localeData()._week;return Eb(this.year(),a.dow,a.doy)}function Jb(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Kb(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Lb(a){return this._weekdays[a.day()]}function Mb(a){return this._weekdaysShort[a.day()]}function Nb(a){return this._weekdaysMin[a.day()]}function Ob(a){var b,c,d;for(this._weekdaysParse=this._weekdaysParse||[],b=0;7>b;b++)if(this._weekdaysParse[b]||(c=Da([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Pb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Kb(a,this.localeData()),this.add(a-b,"d")):b}function Qb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Rb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Sb(a,b){H(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Tb(a,b){return b._meridiemParse}function Ub(a){return"p"===(a+"").toLowerCase().charAt(0)}function Vb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wb(a,b){b[ld]=q(1e3*("0."+a))}function Xb(){return this._isUTC?"UTC":""}function Yb(){return this._isUTC?"Coordinated Universal Time":""}function Zb(a){return Da(1e3*a)}function $b(){return Da.apply(null,arguments).parseZone()}function _b(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function ac(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function bc(){return this._invalidDate}function cc(a){return this._ordinal.replace("%d",a)}function dc(a){return a}function ec(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function fc(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function gc(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function hc(a,b,c,d){var e=y(),f=h().set(d,b);return e[c](f,a)}function ic(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return hc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=hc(a,f,c,e);return g}function jc(a,b){return ic(a,b,"months",12,"month")}function kc(a,b){return ic(a,b,"monthsShort",12,"month")}function lc(a,b){return ic(a,b,"weekdays",7,"day")}function mc(a,b){return ic(a,b,"weekdaysShort",7,"day")}function nc(a,b){return ic(a,b,"weekdaysMin",7,"day")}function oc(){var a=this._data;return this._milliseconds=Wd(this._milliseconds),this._days=Wd(this._days),this._months=Wd(this._months),a.milliseconds=Wd(a.milliseconds),a.seconds=Wd(a.seconds),a.minutes=Wd(a.minutes),a.hours=Wd(a.hours),a.months=Wd(a.months),a.years=Wd(a.years),this}function pc(a,b,c,d){var e=Ya(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function qc(a,b){return pc(this,a,b,1)}function rc(a,b){return pc(this,a,b,-1)}function sc(a){return 0>a?Math.floor(a):Math.ceil(a)}function tc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*sc(vc(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=p(f/1e3),i.seconds=a%60,b=p(a/60),i.minutes=b%60,c=p(b/60),i.hours=c%24,g+=p(c/24),e=p(uc(g)),h+=e,g-=sc(vc(e)),d=p(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function uc(a){return 4800*a/146097}function vc(a){return 146097*a/4800}function wc(a){var b,c,d=this._milliseconds;if(a=A(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+uc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(vc(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function xc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12)}function yc(a){return function(){return this.as(a)}}function zc(a){return a=A(a),this[a+"s"]()}function Ac(a){return function(){return this._data[a]}}function Bc(){return p(this.days()/7)}function Cc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Dc(a,b,c){var d=Ya(a).abs(),e=ke(d.as("s")),f=ke(d.as("m")),g=ke(d.as("h")),h=ke(d.as("d")),i=ke(d.as("M")),j=ke(d.as("y")),k=e<le.s&&["s",e]||1===f&&["m"]||f<le.m&&["mm",f]||1===g&&["h"]||g<le.h&&["hh",g]||1===h&&["d"]||h<le.d&&["dd",h]||1===i&&["M"]||i<le.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,Cc.apply(null,k)}function Ec(a,b){return void 0===le[a]?!1:void 0===b?le[a]:(le[a]=b,!0)}function Fc(a){var b=this.localeData(),c=Dc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function Gc(){var a,b,c,d=me(this._milliseconds)/1e3,e=me(this._days),f=me(this._months);a=p(d/60),b=p(a/60),d%=60,a%=60,c=p(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var Hc,Ic,Jc=a.momentProperties=[],Kc=!1,Lc={},Mc={},Nc=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Oc=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pc={},Qc={},Rc=/\d/,Sc=/\d\d/,Tc=/\d{3}/,Uc=/\d{4}/,Vc=/[+-]?\d{6}/,Wc=/\d\d?/,Xc=/\d{1,3}/,Yc=/\d{1,4}/,Zc=/[+-]?\d{1,6}/,$c=/\d+/,_c=/[+-]?\d+/,ad=/Z|[+-]\d\d:?\d\d/gi,bd=/[+-]?\d+(\.\d{1,3})?/,cd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,dd={},ed={},fd=0,gd=1,hd=2,id=3,jd=4,kd=5,ld=6;H("M",["MM",2],"Mo",function(){return this.month()+1}),H("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),H("MMMM",0,0,function(a){return this.localeData().months(this,a)}),z("month","M"),N("M",Wc),N("MM",Wc,Sc),N("MMM",cd),N("MMMM",cd),Q(["M","MM"],function(a,b){b[gd]=q(a)-1}),Q(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[gd]=e:j(c).invalidMonth=a});var md="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),nd="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),od={};a.suppressDeprecationWarnings=!1;var pd=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,qd=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],rd=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],sd=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=aa("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),z("year","y"),N("Y",_c),N("YY",Wc,Sc),N("YYYY",Yc,Uc),N("YYYYY",Zc,Vc),N("YYYYYY",Zc,Vc),Q(["YYYYY","YYYYYY"],fd),Q("YYYY",function(b,c){c[fd]=2===b.length?a.parseTwoDigitYear(b):q(b)}),Q("YY",function(b,c){c[fd]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return q(a)+(q(a)>68?1900:2e3)};var td=C("FullYear",!1);H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),N("w",Wc),N("ww",Wc,Sc),N("W",Wc),N("WW",Wc,Sc),R(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=q(a)});var ud={dow:0,doy:6};H("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),N("DDD",Xc),N("DDDD",Tc),Q(["DDD","DDDD"],function(a,b,c){c._dayOfYear=q(a)}),a.ISO_8601=function(){};var vd=aa("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return this>a?this:a}),wd=aa("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return a>this?this:a});Ja("Z",":"),Ja("ZZ",""),N("Z",ad),N("ZZ",ad),Q(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ka(a)});var xd=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var yd=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,zd=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ya.fn=Ha.prototype;var Ad=ab(1,"add"),Bd=ab(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var Cd=aa("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Db("gggg","weekYear"),Db("ggggg","weekYear"),Db("GGGG","isoWeekYear"),Db("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),N("G",_c),N("g",_c),N("GG",Wc,Sc),N("gg",Wc,Sc),N("GGGG",Yc,Uc),N("gggg",Yc,Uc),N("GGGGG",Zc,Vc),N("ggggg",Zc,Vc),R(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=q(a)}),R(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),H("Q",0,0,"quarter"),z("quarter","Q"),N("Q",Rc),Q("Q",function(a,b){b[gd]=3*(q(a)-1)}),H("D",["DD",2],"Do","date"),z("date","D"),N("D",Wc),N("DD",Wc,Sc),N("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),Q(["D","DD"],hd),Q("Do",function(a,b){b[hd]=q(a.match(Wc)[0],10)});var Dd=C("Date",!0);H("d",0,"do","day"),H("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),H("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),H("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),N("d",Wc),N("e",Wc),N("E",Wc),N("dd",cd),N("ddd",cd),N("dddd",cd),R(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:j(c).invalidWeekday=a}),R(["d","e","E"],function(a,b,c,d){b[d]=q(a)});var Ed="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Fd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Gd="Su_Mo_Tu_We_Th_Fr_Sa".split("_");H("H",["HH",2],0,"hour"),H("h",["hh",2],0,function(){return this.hours()%12||12}),Sb("a",!0),Sb("A",!1),z("hour","h"),N("a",Tb),N("A",Tb),N("H",Wc),N("h",Wc),N("HH",Wc,Sc),N("hh",Wc,Sc),Q(["H","HH"],id),Q(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),Q(["h","hh"],function(a,b,c){b[id]=q(a),j(c).bigHour=!0});var Hd=/[ap]\.?m?\.?/i,Id=C("Hours",!0);H("m",["mm",2],0,"minute"),z("minute","m"),N("m",Wc),N("mm",Wc,Sc),Q(["m","mm"],jd);var Jd=C("Minutes",!1);H("s",["ss",2],0,"second"),z("second","s"),N("s",Wc),N("ss",Wc,Sc),Q(["s","ss"],kd);var Kd=C("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),N("S",Xc,Rc),N("SS",Xc,Sc),N("SSS",Xc,Tc);var Ld;for(Ld="SSSS";Ld.length<=9;Ld+="S")N(Ld,$c);for(Ld="S";Ld.length<=9;Ld+="S")Q(Ld,Wb);var Md=C("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var Nd=n.prototype;Nd.add=Ad,Nd.calendar=cb,Nd.clone=db,Nd.diff=ib,Nd.endOf=ub,Nd.format=mb,Nd.from=nb,Nd.fromNow=ob,Nd.to=pb,Nd.toNow=qb,Nd.get=F,Nd.invalidAt=Cb,Nd.isAfter=eb,Nd.isBefore=fb,Nd.isBetween=gb,Nd.isSame=hb,Nd.isValid=Ab,Nd.lang=Cd,Nd.locale=rb,Nd.localeData=sb,Nd.max=wd,Nd.min=vd,Nd.parsingFlags=Bb,Nd.set=F,Nd.startOf=tb,Nd.subtract=Bd,Nd.toArray=yb,Nd.toObject=zb,Nd.toDate=xb,Nd.toISOString=lb,Nd.toJSON=lb,Nd.toString=kb,Nd.unix=wb,Nd.valueOf=vb,Nd.year=td,Nd.isLeapYear=ia,Nd.weekYear=Fb,Nd.isoWeekYear=Gb,Nd.quarter=Nd.quarters=Jb,Nd.month=Y,Nd.daysInMonth=Z,Nd.week=Nd.weeks=na,Nd.isoWeek=Nd.isoWeeks=oa,Nd.weeksInYear=Ib,Nd.isoWeeksInYear=Hb,Nd.date=Dd,Nd.day=Nd.days=Pb,Nd.weekday=Qb,Nd.isoWeekday=Rb,Nd.dayOfYear=qa,Nd.hour=Nd.hours=Id,Nd.minute=Nd.minutes=Jd,Nd.second=Nd.seconds=Kd,
+Nd.millisecond=Nd.milliseconds=Md,Nd.utcOffset=Na,Nd.utc=Pa,Nd.local=Qa,Nd.parseZone=Ra,Nd.hasAlignedHourOffset=Sa,Nd.isDST=Ta,Nd.isDSTShifted=Ua,Nd.isLocal=Va,Nd.isUtcOffset=Wa,Nd.isUtc=Xa,Nd.isUTC=Xa,Nd.zoneAbbr=Xb,Nd.zoneName=Yb,Nd.dates=aa("dates accessor is deprecated. Use date instead.",Dd),Nd.months=aa("months accessor is deprecated. Use month instead",Y),Nd.years=aa("years accessor is deprecated. Use year instead",td),Nd.zone=aa("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Oa);var Od=Nd,Pd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Qd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Rd="Invalid date",Sd="%d",Td=/\d{1,2}/,Ud={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Vd=s.prototype;Vd._calendar=Pd,Vd.calendar=_b,Vd._longDateFormat=Qd,Vd.longDateFormat=ac,Vd._invalidDate=Rd,Vd.invalidDate=bc,Vd._ordinal=Sd,Vd.ordinal=cc,Vd._ordinalParse=Td,Vd.preparse=dc,Vd.postformat=dc,Vd._relativeTime=Ud,Vd.relativeTime=ec,Vd.pastFuture=fc,Vd.set=gc,Vd.months=U,Vd._months=md,Vd.monthsShort=V,Vd._monthsShort=nd,Vd.monthsParse=W,Vd.week=ka,Vd._week=ud,Vd.firstDayOfYear=ma,Vd.firstDayOfWeek=la,Vd.weekdays=Lb,Vd._weekdays=Ed,Vd.weekdaysMin=Nb,Vd._weekdaysMin=Gd,Vd.weekdaysShort=Mb,Vd._weekdaysShort=Fd,Vd.weekdaysParse=Ob,Vd.isPM=Ub,Vd._meridiemParse=Hd,Vd.meridiem=Vb,w("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===q(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=aa("moment.lang is deprecated. Use moment.locale instead.",w),a.langData=aa("moment.langData is deprecated. Use moment.localeData instead.",y);var Wd=Math.abs,Xd=yc("ms"),Yd=yc("s"),Zd=yc("m"),$d=yc("h"),_d=yc("d"),ae=yc("w"),be=yc("M"),ce=yc("y"),de=Ac("milliseconds"),ee=Ac("seconds"),fe=Ac("minutes"),ge=Ac("hours"),he=Ac("days"),ie=Ac("months"),je=Ac("years"),ke=Math.round,le={s:45,m:45,h:22,d:26,M:11},me=Math.abs,ne=Ha.prototype;ne.abs=oc,ne.add=qc,ne.subtract=rc,ne.as=wc,ne.asMilliseconds=Xd,ne.asSeconds=Yd,ne.asMinutes=Zd,ne.asHours=$d,ne.asDays=_d,ne.asWeeks=ae,ne.asMonths=be,ne.asYears=ce,ne.valueOf=xc,ne._bubble=tc,ne.get=zc,ne.milliseconds=de,ne.seconds=ee,ne.minutes=fe,ne.hours=ge,ne.days=he,ne.weeks=Bc,ne.months=ie,ne.years=je,ne.humanize=Fc,ne.toISOString=Gc,ne.toString=Gc,ne.toJSON=Gc,ne.locale=rb,ne.localeData=sb,ne.toIsoString=aa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Gc),ne.lang=Cd,H("X",0,0,"unix"),H("x",0,0,"valueOf"),N("x",_c),N("X",bd),Q("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),Q("x",function(a,b,c){c._d=new Date(q(a))}),a.version="2.10.6",b(Da),a.fn=Od,a.min=Fa,a.max=Ga,a.utc=h,a.unix=Zb,a.months=jc,a.isDate=d,a.locale=w,a.invalid=l,a.duration=Ya,a.isMoment=o,a.weekdays=lc,a.parseZone=$b,a.localeData=y,a.isDuration=Ia,a.monthsShort=kc,a.weekdaysMin=nc,a.defineLocale=x,a.weekdaysShort=mc,a.normalizeUnits=A,a.relativeTimeThreshold=Ec;var oe=a;return oe}); \ No newline at end of file
diff --git a/mod/acl.php b/mod/acl.php
index dc29e3eff..aaf056b60 100644
--- a/mod/acl.php
+++ b/mod/acl.php
@@ -1,6 +1,6 @@
<?php
-/* ACL selector json backend */
+/* ACL selector json backend */
require_once("include/acl_selectors.php");
function acl_init(&$a){
diff --git a/mod/admin.php b/mod/admin.php
index a884b7658..4b7cb3cd9 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -395,9 +395,10 @@ function admin_page_site(&$a) {
}
/* Banner */
+
$banner = get_config('system', 'banner');
- if($banner == false)
- $banner = 'red';
+ if($banner === false)
+ $banner = get_config('system','sitename');
$banner = htmlspecialchars($banner);
@@ -1042,7 +1043,12 @@ function admin_page_plugins(&$a){
}
$admin_form = '';
- if (is_array($a->plugins_admin) && in_array($plugin, $a->plugins_admin)){
+
+ $r = q("select * from addon where plugin_admin = 1 and name = '%s' limit 1",
+ dbesc($plugin)
+ );
+
+ if($r) {
@require_once("addon/$plugin/$plugin.php");
if(function_exists($plugin.'_plugin_admin')) {
$func = $plugin.'_plugin_admin';
diff --git a/mod/attach.php b/mod/attach.php
index ad5dead07..306e39519 100644
--- a/mod/attach.php
+++ b/mod/attach.php
@@ -37,7 +37,10 @@ function attach_init(&$a) {
header('Content-disposition: attachment; filename="' . $r['data']['filename'] . '"');
if(intval($r['data']['os_storage'])) {
$fname = dbunescbin($r['data']['data']);
- $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname,'rb');
+ if(strpos($fname,'store') !== false)
+ $istream = fopen($fname,'rb');
+ else
+ $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname,'rb');
$ostream = fopen('php://output','wb');
if($istream && $ostream) {
pipe_streams($istream,$ostream);
diff --git a/mod/channel.php b/mod/channel.php
index 0af2666cc..2b9d0ed89 100644
--- a/mod/channel.php
+++ b/mod/channel.php
@@ -189,7 +189,7 @@ function channel_content(&$a, $update = 0, $load = false) {
$sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY));
}
if(x($hashtags)) {
- $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG));
+ $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
}
if($datequery) {
diff --git a/mod/connedit.php b/mod/connedit.php
index 877c12dc7..9c46fa999 100644
--- a/mod/connedit.php
+++ b/mod/connedit.php
@@ -177,16 +177,21 @@ function connedit_post(&$a) {
if(($_REQUEST['pending']) && intval($orig_record[0]['abook_pending'])) {
$new_friend = true;
- if(! $abook_my_perms) {
- $abook_my_perms = get_channel_default_perms(local_channel());
+ // @fixme it won't be common, but when you accept a new connection request
+ // the permissions will now be that of your permissions role and ignore
+ // any you may have set manually on the form. We'll probably see a bug if somebody
+ // tries to set the permissions *and* approve the connection in the same
+ // request. The workaround is to approve the connection, then go back and
+ // adjust permissions as desired.
- $role = get_pconfig(local_channel(),'system','permissions_role');
- if($role) {
- $x = get_role_perms($role);
- if($x['perms_accept'])
- $abook_my_perms = $x['perms_accept'];
- }
+ $abook_my_perms = get_channel_default_perms(local_channel());
+
+ $role = get_pconfig(local_channel(),'system','permissions_role');
+ if($role) {
+ $x = get_role_perms($role);
+ if($x['perms_accept'])
+ $abook_my_perms = $x['perms_accept'];
}
}
@@ -661,6 +666,10 @@ function connedit_content(&$a) {
if($locs) {
foreach($locs as $l) {
+ if(!($l['location']))
+ continue;
+ if(strpos($locstr,$l['location']) !== false)
+ continue;
if(strlen($locstr))
$locstr .= ', ';
$locstr .= $l['location'];
diff --git a/mod/directory.php b/mod/directory.php
index 3c230e173..4ab118b17 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -121,6 +121,8 @@ function directory_content(&$a) {
}
if(! $url) {
$directory = find_upstream_directory($dirmode);
+ if((! $directory) || (! array_key_exists('url',$directory)) || (! $directory['url']))
+ logger('CRITICAL: No directory server URL');
$url = $directory['url'] . '/dirsearch';
}
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index 937564a79..548acbd08 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -124,8 +124,6 @@ function dirsearch_content(&$a) {
if($keywords)
$sql_extra .= dir_query_build($joiner,'xprof_keywords',$keywords);
- if($forums)
- $safesql .= dir_flag_build(' AND ','xchan_flags',XCHAN_FLAGS_PUBFORUM, $forums);
// we only support an age range currently. You must set both agege
// (greater than or equal) and agele (less than or equal)
@@ -173,6 +171,9 @@ function dirsearch_content(&$a) {
if($safe < 0)
$safesql = " and ( xchan_censored = 1 OR xchan_selfcensored = 1 ) ";
+ if($forums)
+ $safesql .= " and xchan_pubforum = " . ((intval($forums)) ? '1 ' : '0 ');
+
if($limit)
$qlimit = " LIMIT $limit ";
else {
@@ -185,7 +186,6 @@ function dirsearch_content(&$a) {
}
}
-
if($sort_order == 'normal') {
$order = " order by xchan_name asc ";
@@ -202,6 +202,7 @@ function dirsearch_content(&$a) {
else
$order = " order by xchan_name_date desc ";
+
if($sync) {
$spkt = array('transactions' => array());
$r = q("select * from updates where ud_date >= '%s' and ud_guid != '' order by ud_date desc",
@@ -245,15 +246,20 @@ function dirsearch_content(&$a) {
json_return_and_die($spkt);
}
else {
+
$r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash
where ( $logic $sql_extra ) $hub_query and xchan_network = 'zot' and xchan_hidden = 0 and xchan_orphan = 0 and xchan_deleted = 0
$safesql $order $qlimit "
);
+
+
+
$ret['page'] = $page + 1;
$ret['records'] = count($r);
}
+
if($r) {
$entries = array();
diff --git a/mod/dreport.php b/mod/dreport.php
index c320bf0e6..1ad1eca7c 100644
--- a/mod/dreport.php
+++ b/mod/dreport.php
@@ -56,7 +56,7 @@ function dreport_content(&$a) {
return;
}
-
+ $o .= '<div class="generic-content-wrapper-styled">';
$o .= '<h2>' . sprintf( t('Delivery report for %1$s'),substr($mid,0,32)) . '...' . '</h2>';
$o .= '<table>';
@@ -121,6 +121,7 @@ function dreport_content(&$a) {
$o .= '<tr><td width="40%">' . $rr['name'] . '</td><td width="20%">' . escape_tags($rr['dreport_result']) . '</td><td width="20%">' . escape_tags($rr['dreport_time']) . '</td></tr>';
}
$o .= '</table>';
+ $o .= '</div>';
return $o;
@@ -135,4 +136,4 @@ function dreport_gravity_sort($a,$b) {
return strcmp($a['name'],$b['name']);
}
return (($a['gravity'] > $b['gravity']) ? 1 : (-1));
-} \ No newline at end of file
+}
diff --git a/mod/editpost.php b/mod/editpost.php
index 2f999858f..030d8d671 100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -21,9 +21,9 @@ function editpost_content(&$a) {
return;
}
- $itm = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d and author_xchan = '%s' LIMIT 1",
+ $itm = q("SELECT * FROM `item` WHERE `id` = %d AND ( owner_xchan = '%s' OR author_xchan = '%s' ) LIMIT 1",
intval($post_id),
- intval(local_channel()),
+ dbesc(get_observer_hash()),
dbesc(get_observer_hash())
);
@@ -33,10 +33,12 @@ function editpost_content(&$a) {
}
if($itm[0]['resource_type'] === 'event' && $itm[0]['resource_id']) {
- goaway(z_root() . '/events/event/' . $itm[0]['resource_id']);
+ goaway(z_root() . '/events/' . $itm[0]['resource_id'] . '?expandform=1');
}
+ $owner_uid = $itm[0]['uid'];
+
$plaintext = true;
// if(feature_enabled(local_channel(),'richtext'))
@@ -71,14 +73,12 @@ function editpost_content(&$a) {
call_hooks('jot_tool', $jotplugins);
call_hooks('jot_networks', $jotnets);
- $channel = $a->get_channel();
-
//$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
- $voting = feature_enabled(local_channel(),'consensus_tools');
+ $voting = feature_enabled($owner_uid,'consensus_tools');
$category = '';
- $catsenabled = ((feature_enabled(local_channel(),'categories')) ? 'categories' : '');
+ $catsenabled = ((feature_enabled($owner_uid,'categories')) ? 'categories' : '');
if ($catsenabled){
$itm = fetch_post_tags($itm);
@@ -145,7 +145,7 @@ function editpost_content(&$a) {
'$lockstate' => $lockstate,
'$acl' => '',
'$bang' => '',
- '$profile_uid' => local_channel(),
+ '$profile_uid' => $owner_uid,
'$preview' => t('Preview'),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
diff --git a/mod/events.php b/mod/events.php
index d76602a33..36527d6c7 100755
--- a/mod/events.php
+++ b/mod/events.php
@@ -166,7 +166,7 @@ function events_post(&$a) {
'otype' => TERM_OBJ_POST,
'term' => trim($cat),
'url' => $channel['xchan_url'] . '?f=&cat=' . urlencode(trim($cat))
- );
+ );
}
}
@@ -273,39 +273,26 @@ function events_content(&$a) {
);
}
-
- $plaintext = true;
-
-// if(feature_enabled(local_channel(),'richtext'))
-// $plaintext = false;
-
-
+ $first_day = get_pconfig(local_channel(),'system','cal_first_day');
+ $first_day = (($first_day) ? $first_day : 0);
$htpl = get_markup_template('event_head.tpl');
$a->page['htmlhead'] .= replace_macros($htpl,array(
'$baseurl' => $a->get_baseurl(),
- '$editselect' => (($plaintext) ? 'none' : 'textareas')
+ '$lang' => $a->language,
+ '$first_day' => $first_day
));
- $o ="";
- // tabs
+ $o = '';
$channel = $a->get_channel();
- $tabs = profile_tabs($a, True, $channel['channel_address']);
-
-
-
$mode = 'view';
$y = 0;
$m = 0;
$ignored = ((x($_REQUEST,'ignored')) ? " and ignored = " . intval($_REQUEST['ignored']) . " " : '');
if(argc() > 1) {
- if(argc() > 2 && argv(1) == 'event') {
- $mode = 'edit';
- $event_id = argv(2);
- }
if(argc() > 2 && argv(1) === 'add') {
$mode = 'add';
$item_id = intval(argv(2));
@@ -314,15 +301,15 @@ function events_content(&$a) {
$mode = 'drop';
$event_id = argv(2);
}
- if(argv(1) === 'new') {
- $mode = 'new';
- $event_id = '';
- }
if(argc() > 2 && intval(argv(1)) && intval(argv(2))) {
$mode = 'view';
$y = intval(argv(1));
$m = intval(argv(2));
}
+ if(argc() <= 2) {
+ $mode = 'view';
+ $event_id = argv(1);
+ }
}
if($mode === 'add') {
@@ -330,13 +317,148 @@ function events_content(&$a) {
killme();
}
+ if($mode == 'view') {
+ /* edit/create form */
+ if($event_id) {
+ $r = q("SELECT * FROM `event` WHERE event_hash = '%s' AND `uid` = %d LIMIT 1",
+ dbesc($event_id),
+ intval(local_channel())
+ );
+ if(count($r))
+ $orig_event = $r[0];
+ }
+ $channel = $a->get_channel();
+ // Passed parameters overrides anything found in the DB
+ if(!x($orig_event))
+ $orig_event = array();
+
+ // In case of an error the browser is redirected back here, with these parameters filled in with the previous values
+ /*
+ if(x($_REQUEST,'nofinish')) $orig_event['nofinish'] = $_REQUEST['nofinish'];
+ if(x($_REQUEST,'adjust')) $orig_event['adjust'] = $_REQUEST['adjust'];
+ if(x($_REQUEST,'summary')) $orig_event['summary'] = $_REQUEST['summary'];
+ if(x($_REQUEST,'description')) $orig_event['description'] = $_REQUEST['description'];
+ if(x($_REQUEST,'location')) $orig_event['location'] = $_REQUEST['location'];
+ if(x($_REQUEST,'start')) $orig_event['start'] = $_REQUEST['start'];
+ if(x($_REQUEST,'finish')) $orig_event['finish'] = $_REQUEST['finish'];
+ if(x($_REQUEST,'type')) $orig_event['type'] = $_REQUEST['type'];
+ */
+
+ $n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
+ $a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : '');
+ $t_orig = ((x($orig_event)) ? $orig_event['summary'] : '');
+ $d_orig = ((x($orig_event)) ? $orig_event['description'] : '');
+ $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']);
+ $mid = ((x($orig_event)) ? $orig_event['mid'] : '');
+
+ if(! x($orig_event))
+ $sh_checked = '';
+ else
+ $sh_checked = ((($orig_event['allow_cid'] === '<' . $channel['channel_hash'] . '>' || (! $orig_event['allow_cid'])) && (! $orig_event['allow_gid']) && (! $orig_event['deny_cid']) && (! $orig_event['deny_gid'])) ? '' : ' checked="checked" ' );
+
+ if($orig_event['event_xchan'])
+ $sh_checked .= ' disabled="disabled" ';
+
+ $sdt = ((x($orig_event)) ? $orig_event['start'] : 'now');
+
+ $fdt = ((x($orig_event)) ? $orig_event['finish'] : 'now');
+
+ $tz = date_default_timezone_get();
+ if(x($orig_event))
+ $tz = (($orig_event['adjust']) ? date_default_timezone_get() : 'UTC');
+
+ $syear = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'Y') : '00');
+ $smonth = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'm') : '00');
+ $sday = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'd') : '00');
+
+ $shour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'H') : '00');
+ $sminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'i') : '00');
+ $stext = datetime_convert('UTC',$tz,$sdt);
+ $stext = substr($stext,0,14) . "00:00";
+
+ $fyear = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'Y') : '00');
+ $fmonth = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'm') : '00');
+ $fday = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'd') : '00');
+
+ $fhour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : '00');
+ $fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : '00');
+ $ftext = datetime_convert('UTC',$tz,$fdt);
+ $ftext = substr($ftext,0,14) . "00:00";
+ $type = ((x($orig_event)) ? $orig_event['type'] : 'event');
+
+ $f = get_config('system','event_input_format');
+ if(! $f)
+ $f = 'ymd';
+
+ $catsenabled = feature_enabled(local_channel(),'categories');
+
+ $category = '';
+
+ if($catsenabled && x($orig_event)){
+ $itm = q("select * from item where resource_type = 'event' and resource_id = '%s' and uid = %d limit 1",
+ dbesc($orig_event['event_hash']),
+ intval(local_channel())
+ );
+ $itm = fetch_post_tags($itm);
+ if($itm) {
+ $cats = get_terms_oftype($itm[0]['term'], TERM_CATEGORY);
+ foreach ($cats as $cat) {
+ if(strlen($category))
+ $category .= ', ';
+ $category .= $cat['term'];
+ }
+ }
+ }
+
+ require_once('include/acl_selectors.php');
+
+ $acl = new AccessList($channel);
+ $perm_defaults = $acl->get();
+
+ $tpl = get_markup_template('event_form.tpl');
+
+ $form = replace_macros($tpl,array(
+ '$post' => $a->get_baseurl() . '/events',
+ '$eid' => $eid,
+ '$type' => $type,
+ '$xchan' => $event_xchan,
+ '$mid' => $mid,
+ '$event_hash' => $event_id,
+ '$summary' => array('summary', t('Event Title'), $t_orig, t('Required'), '*'),
+ '$catsenabled' => $catsenabled,
+ '$placeholdercategory' => t('Categories (comma-separated list)'),
+ '$c_text' => t('Category'),
+ '$category' => $category,
+ '$required' => '<span class="required" title="' . t('Required') . '">*</span>',
+ '$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"), t('Start date and time'), 'start_text',true,true,'','',true,$first_day),
+ '$n_text' => t('Finish date and time are not known or not relevant'),
+ '$n_checked' => $n_checked,
+ '$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"), t('Finish date and time'),'finish_text',true,true,'start_text','',false,$first_day),
+ '$nofinish' => array('nofinish', t('Finish date and time are not known or not relevant'), $n_checked, '', array(t('No'),t('Yes')), 'onclick="enableDisableFinishDate();"'),
+ '$adjust' => array('adjust', t('Adjust for viewer timezone'), $a_checked, t('Important for events that happen in a particular place. Not practical for global holidays.'), array(t('No'),t('Yes'))),
+ '$a_text' => t('Adjust for viewer timezone'),
+ '$d_text' => t('Description'),
+ '$d_orig' => $d_orig,
+ '$l_text' => t('Location'),
+ '$l_orig' => $l_orig,
+ '$t_orig' => $t_orig,
+ '$sh_text' => t('Share this event'),
+ '$sh_checked' => $sh_checked,
+ '$share' => array('share', t('Share this event'), $sh_checked, '', array(t('No'),t('Yes'))),
+ '$preview' => t('Preview'),
+ '$permissions' => t('Permission settings'),
+ '$acl' => (($orig_event['event_xchan']) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $perm_defaults),false)),
+ '$submit' => t('Submit'),
+ '$advanced' => t('Advanced Options')
+
+ ));
+ /* end edit/create form */
- if($mode == 'view') {
-
-
$thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
$thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
if(! $y)
@@ -348,7 +470,6 @@ function events_content(&$a) {
if(argc() === 4 && argv(3) === 'export')
$export = true;
-
// Put some limits on dates. The PHP date functions don't seem to do so well before 1900.
// An upper limit was chosen to keep search engines from exploring links millions of years in the future.
@@ -378,10 +499,10 @@ function events_content(&$a) {
if (argv(1) === 'json'){
- if (x($_GET,'start')) $start = date("Y-m-d h:i:s", $_GET['start']);
- if (x($_GET,'end')) $finish = date("Y-m-d h:i:s", $_GET['end']);
+ if (x($_GET,'start')) $start = $_GET['start'];
+ if (x($_GET,'end')) $finish = $_GET['end'];
}
-
+
$start = datetime_convert('UTC','UTC',$start);
$finish = datetime_convert('UTC','UTC',$finish);
@@ -413,17 +534,17 @@ function events_content(&$a) {
$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 $ignored
- AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )
- OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )) ",
+ where resource_type = 'event' and event.uid = %d $ignored
+ AND (( adjust = 0 AND ( finish >= '%s' or nofinish = 1 ) AND start <= '%s' )
+ OR ( adjust = 1 AND ( finish >= '%s' or nofinish = 1 ) AND start <= '%s' )) ",
intval(local_channel()),
dbesc($start),
dbesc($finish),
dbesc($adjust_start),
dbesc($adjust_finish)
);
- }
+ }
$links = array();
@@ -467,7 +588,7 @@ function events_content(&$a) {
$last_date = $d;
- $edit = (intval($rr['item_wall']) ? array($a->get_baseurl().'/events/event/'.$rr['event_hash'],t('Edit event'),'','') : null);
+ $edit = array($a->get_baseurl().'/events/'.$rr['event_hash'].'?expandform=1',t('Edit event'),'','');
$drop = array($a->get_baseurl().'/events/drop/'.$rr['event_hash'],t('Delete event'),'','');
@@ -500,7 +621,7 @@ function events_content(&$a) {
}
}
-
+
if($export) {
header('Content-type: text/calendar');
header('content-disposition: attachment; filename="' . t('calendar') . '-' . $channel['channel_address'] . '.ics"' );
@@ -522,22 +643,24 @@ function events_content(&$a) {
$o = replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
- '$tabs' => $tabs,
- '$title' => t('Events'),
- '$new_event'=> array($a->get_baseurl().'/events/new',t('Create New Event'),'',''),
+ '$new_event' => array($a->get_baseurl().'/events/new',t('New Event'),'',''),
'$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
'$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
- '$export' => array($a->get_baseurl()."/events/$y/$m/export",t('Export'),'',''),
- '$calendar' => cal($y,$m,$links, ' eventcal'),
+ '$export' => array($a->get_baseurl()."/events/$y/$m/export",t('Export'),'',''),
+ '$calendar' => cal($y,$m,$links, ' eventcal'),
'$events' => $events,
- '$upload' => t('Import'),
- '$submit' => t('Submit')
+ '$upload' => t('Import'),
+ '$submit' => t('Submit'),
+ '$prev' => t('Previous'),
+ '$next' => t('Next'),
+ '$today' => t('Today'),
+ '$form' => $form,
+ '$expandform' => ((x($_GET,'expandform')) ? true : false),
));
if (x($_GET,'id')){ echo $o; killme(); }
return $o;
-
}
if($mode === 'drop' && $event_id) {
@@ -570,147 +693,4 @@ function events_content(&$a) {
}
}
- if($mode === 'edit' && $event_id) {
- $r = q("SELECT * FROM `event` WHERE event_hash = '%s' AND `uid` = %d LIMIT 1",
- dbesc($event_id),
- intval(local_channel())
- );
- if(count($r))
- $orig_event = $r[0];
- }
-
- $channel = $a->get_channel();
-
- // Passed parameters overrides anything found in the DB
- if($mode === 'edit' || $mode === 'new') {
- if(!x($orig_event)) $orig_event = array();
- // In case of an error the browser is redirected back here, with these parameters filled in with the previous values
- if(x($_REQUEST,'nofinish')) $orig_event['nofinish'] = $_REQUEST['nofinish'];
- if(x($_REQUEST,'adjust')) $orig_event['adjust'] = $_REQUEST['adjust'];
- if(x($_REQUEST,'summary')) $orig_event['summary'] = $_REQUEST['summary'];
- if(x($_REQUEST,'description')) $orig_event['description'] = $_REQUEST['description'];
- if(x($_REQUEST,'location')) $orig_event['location'] = $_REQUEST['location'];
- if(x($_REQUEST,'start')) $orig_event['start'] = $_REQUEST['start'];
- if(x($_REQUEST,'finish')) $orig_event['finish'] = $_REQUEST['finish'];
- if(x($_REQUEST,'type')) $orig_event['type'] = $_REQUEST['type'];
-
- $n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
- $a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : '');
- $t_orig = ((x($orig_event)) ? $orig_event['summary'] : '');
- $d_orig = ((x($orig_event)) ? $orig_event['description'] : '');
- $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']);
- $mid = ((x($orig_event)) ? $orig_event['mid'] : '');
-
- if(! x($orig_event))
- $sh_checked = '';
- else
- $sh_checked = ((($orig_event['allow_cid'] === '<' . $channel['channel_hash'] . '>' || (! $orig_event['allow_cid'])) && (! $orig_event['allow_gid']) && (! $orig_event['deny_cid']) && (! $orig_event['deny_gid'])) ? '' : ' checked="checked" ' );
-
- if($orig_event['event_xchan'])
- $sh_checked .= ' disabled="disabled" ';
-
- $sdt = ((x($orig_event)) ? $orig_event['start'] : 'now');
- $fdt = ((x($orig_event)) ? $orig_event['finish'] : 'now');
-
- $tz = date_default_timezone_get();
- if(x($orig_event))
- $tz = (($orig_event['adjust']) ? date_default_timezone_get() : 'UTC');
-
- $syear = datetime_convert('UTC', $tz, $sdt, 'Y');
- $smonth = datetime_convert('UTC', $tz, $sdt, 'm');
- $sday = datetime_convert('UTC', $tz, $sdt, 'd');
-
-
- $shour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'H') : 0);
- $sminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'i') : 0);
- $stext = datetime_convert('UTC',$tz,$sdt);
- $stext = substr($stext,0,14) . "00:00";
-
- $fyear = datetime_convert('UTC', $tz, $fdt, 'Y');
- $fmonth = datetime_convert('UTC', $tz, $fdt, 'm');
- $fday = datetime_convert('UTC', $tz, $fdt, 'd');
-
- $fhour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : 0);
- $fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : 0);
- $ftext = datetime_convert('UTC',$tz,$fdt);
- $ftext = substr($ftext,0,14) . "00:00";
- $type = ((x($orig_event)) ? $orig_event['type'] : 'event');
-
- $f = get_config('system','event_input_format');
- if(! $f)
- $f = 'ymd';
-
- $catsenabled = feature_enabled(local_channel(),'categories');
-
- $category = '';
-
- if($catsenabled && x($orig_event)){
- $itm = q("select * from item where resource_type = 'event' and resource_id = '%s' and uid = %d limit 1",
- dbesc($orig_event['event_hash']),
- intval(local_channel())
- );
- $itm = fetch_post_tags($itm);
- if($itm) {
- $cats = get_terms_oftype($itm[0]['term'], TERM_CATEGORY);
- foreach ($cats as $cat) {
- if(strlen($category))
- $category .= ', ';
- $category .= $cat['term'];
- }
- }
- }
-
- require_once('include/acl_selectors.php');
-
- $acl = new AccessList($channel);
- $perm_defaults = $acl->get();
-
-
- $tpl = get_markup_template('event_form.tpl');
-
- $o .= replace_macros($tpl,array(
- '$post' => $a->get_baseurl() . '/events',
- '$eid' => $eid,
- '$type' => $type,
- '$xchan' => $event_xchan,
- '$mid' => $mid,
- '$event_hash' => $event_id,
-
- '$title' => t('Event details'),
- '$desc' => t('Starting date and Title are required.'),
- '$catsenabled' => $catsenabled,
- '$placeholdercategory' => t('Categories (comma-separated list)'),
- '$category' => $category,
- '$s_text' => t('Event Starts:'),
- '$stext' => $stext,
- '$ftext' => $ftext,
- '$required' => '<span class="required" title="' . t('Required') . '">*</span>',
- '$ModalCANCEL' => t('Cancel'),
- '$ModalOK' => t('OK'),
- '$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"),'start_text',true,true,'','',true),
- '$n_text' => t('Finish date/time is not known or not relevant'),
- '$n_checked' => $n_checked,
- '$f_text' => t('Event Finishes:'),
- '$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"),'finish_text',true,true,'start_text'),
- '$adjust' => array('adjust', t('Adjust for viewer timezone'), $a_checked, t('Important for events that happen in a particular place. Not practical for global holidays.'),),
- '$a_text' => t('Adjust for viewer timezone'),
- '$d_text' => t('Description:'),
- '$d_orig' => $d_orig,
- '$l_text' => t('Location:'),
- '$l_orig' => $l_orig,
- '$t_text' => t('Title:'),
- '$t_orig' => $t_orig,
- '$sh_text' => t('Share this event'),
- '$sh_checked' => $sh_checked,
- '$preview' => t('Preview'),
- '$permissions' => t('Permissions'),
- '$acl' => (($orig_event['event_xchan']) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $perm_defaults),false)),
- '$submit' => t('Submit')
-
- ));
-
- return $o;
- }
}
diff --git a/mod/ffsapi.php b/mod/ffsapi.php
index f4033e63b..1f68a87ba 100644
--- a/mod/ffsapi.php
+++ b/mod/ffsapi.php
@@ -40,9 +40,9 @@ var data = {
"unmarkedIcon": baseurl+"/images/hz-bookmark-32.png",
// should be available for display purposes
- "description": '$description',
- "author": '$author',
- "homepageURL": '$homepage',
+ "description": "$description",
+ "author": "$author",
+ "homepageURL": "$homepage",
// optional
"version": "1.0"
@@ -56,7 +56,7 @@ function activate(node) {
}
</script>
-<button onclick="activate(this)" title="activate the demo provider" class="btn btn-primary">$activate</button>
+<button onclick="activate(this)" title="$activate" class="btn btn-primary">$activate</button>
EOT;
diff --git a/mod/import.php b/mod/import.php
index 72d8f92e9..02e71233a 100644
--- a/mod/import.php
+++ b/mod/import.php
@@ -9,11 +9,12 @@ require_once('include/identity.php');
require_once('include/import.php');
-function import_post(&$a) {
+function import_account(&$a, $account_id) {
- $account_id = get_account_id();
- if(! $account_id)
+ if(! $account_id){
+ logger("import_account: No account ID supplied");
return;
+ }
$max_identities = account_service_class_fetch($account_id,'total_identities');
$max_friends = account_service_class_fetch($account_id,'total_channels');
@@ -122,12 +123,12 @@ function import_post(&$a) {
if(array_key_exists('channel',$data)) {
if($completed < 1) {
- $channel = import_channel($data['channel']);
+ $channel = import_channel($data['channel'], $account_id);
}
else {
$r = q("select * from channel where channel_account_id = %d and channel_guid = '%s' limit 1",
- intval(get_account_id()),
+ intval($account_id),
dbesc($channel['channel_guid'])
);
if($r)
@@ -165,7 +166,7 @@ function import_post(&$a) {
if($data['photo']) {
require_once('include/photo/photo_driver.php');
- import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],get_account_id(),$channel['channel_id']);
+ import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],$account_id,$channel['channel_id']);
}
if(is_array($data['profile']))
@@ -334,7 +335,7 @@ function import_post(&$a) {
unset($abook['abook_id']);
unset($abook['abook_rating']);
unset($abook['abook_rating_text']);
- $abook['abook_account'] = get_account_id();
+ $abook['abook_account'] = $account_id;
$abook['abook_channel'] = $channel['channel_id'];
if(! array_key_exists('abook_blocked',$abook)) {
$abook['abook_blocked'] = (($abook['abook_flags'] & 0x0001 ) ? 1 : 0);
@@ -493,6 +494,15 @@ function import_post(&$a) {
}
+function import_post(&$a) {
+
+ $account_id = get_account_id();
+ if(! $account_id)
+ return;
+
+ import_account($a, $account_id);
+}
+
function import_content(&$a) {
if(! get_account_id()) {
diff --git a/mod/invite.php b/mod/invite.php
index 46fa7b413..bda808142 100644
--- a/mod/invite.php
+++ b/mod/invite.php
@@ -143,4 +143,4 @@ function invite_content(&$a) {
));
return $o;
-} \ No newline at end of file
+}
diff --git a/mod/item.php b/mod/item.php
index 591dc8407..f32ff8844 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -473,7 +473,9 @@ function item_post(&$a) {
require_once('include/text.php');
if($uid && $uid == $profile_uid && feature_enabled($uid,'markdown')) {
require_once('include/bb2diaspora.php');
- $body = escape_tags($body);
+ $body = escape_tags(trim($body));
+ $body = str_replace("\n",'<br />', $body);
+
$body = preg_replace_callback('/\[share(.*?)\]/ism','share_shield',$body);
$body = diaspora2bb($body,true);
$body = preg_replace_callback('/\[share(.*?)\]/ism','share_unshield',$body);
@@ -649,6 +651,29 @@ function item_post(&$a) {
}
}
+ if($orig_post) {
+ // preserve original tags
+ $t = q("select * from term where oid = %d and otype = %d and uid = %d and type in ( %d, %d, %d )",
+ intval($orig_post['id']),
+ intval(TERM_OBJ_POST),
+ intval($profile_uid),
+ intval(TERM_UNKNOWN),
+ intval(TERM_FILE),
+ intval(TERM_COMMUNITYTAG)
+ );
+ if($t) {
+ foreach($t as $t1) {
+ $post_tags[] = array(
+ 'uid' => $profile_uid,
+ 'type' => $t1['type'],
+ 'otype' => TERM_OBJ_POST,
+ 'term' => $t1['term'],
+ 'url' => $t1['url'],
+ );
+ }
+ }
+ }
+
$item_unseen = ((local_channel() != $profile_uid) ? 1 : 0);
$item_wall = (($post_type === 'wall' || $post_type === 'wall-comment') ? 1 : 0);
@@ -701,6 +726,10 @@ function item_post(&$a) {
$plink = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $mid;
}
+
+
+
+
$datarray['aid'] = $channel['channel_account_id'];
$datarray['uid'] = $profile_uid;
@@ -779,6 +808,22 @@ function item_post(&$a) {
if($orig_post)
$datarray['edit'] = true;
+
+
+ if(feature_enabled($profile_uid,'suppress_duplicates') && (! $orig_post)) {
+
+ $z = q("select created from item where uid = %d and body = '%s'",
+ intval($profile_uid),
+ dbesc($body)
+ );
+
+ if($z && $z[0]['created'] > datetime_convert('UTC','UTC', 'now - 2 minutes')) {
+ $datarray['cancel'] = 1;
+ notice( t('Duplicate post suppressed.') . EOL);
+ logger('Duplicate post. Faking plugin cancel.');
+ }
+ }
+
call_hooks('post_local',$datarray);
if(x($datarray,'cancel')) {
diff --git a/mod/network.php b/mod/network.php
index 53de975a4..9f0604296 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -248,7 +248,7 @@ function network_content(&$a, $update = 0, $load = false) {
$sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY));
}
if(x($hashtags)) {
- $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG));
+ $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
}
if(! $update) {
@@ -313,7 +313,7 @@ function network_content(&$a, $update = 0, $load = false) {
if(x($_GET,'search')) {
$search = escape_tags($_GET['search']);
if(strpos($search,'#') === 0) {
- $sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG);
+ $sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG,TERM_COMMUNITYTAG);
}
else {
$sql_extra .= sprintf(" AND item.body like '%s' ",
diff --git a/mod/page.php b/mod/page.php
index b635a60f2..ae572ca1e 100644
--- a/mod/page.php
+++ b/mod/page.php
@@ -131,6 +131,10 @@ function page_content(&$a) {
xchan_query($r);
$r = fetch_post_tags($r,true);
+
+ if($r[0]['mimetype'] === 'application/x-pdl')
+ $a->page['pdl_content'] = true;
+
$o .= prepare_page($r[0]);
return $o;
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index 7067a9f76..2884505f0 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -6,6 +6,7 @@
*/
require_once('include/photo/photo_driver.php');
+require_once('include/identity.php');
/* @brief Function for sync'ing permissions of profile-photos and their profile
*
@@ -195,6 +196,8 @@ function profile_photo_post(&$a) {
);
}
+ profiles_build_sync(local_channel());
+
// We'll set the updated profile-photo timestamp even if it isn't the default profile,
// so that browsers will do a cache update unconditionally
diff --git a/mod/profiles.php b/mod/profiles.php
index 19e5ffc50..282d741ac 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -1,5 +1,6 @@
<?php
+require_once('include/identity.php');
function profiles_init(&$a) {
@@ -37,6 +38,12 @@ function profiles_init(&$a) {
if($r)
info( t('Profile deleted.') . EOL);
+ // @fixme this is a much more complicated sync - add any changed abook entries and
+ // also add deleted flag to profile structure
+ // profiles_build_sync is just here as a placeholder - it doesn't work at all here
+
+ // profiles_build_sync(local_channel());
+
goaway($a->get_baseurl(true) . '/profiles');
return; // NOTREACHED
}
@@ -118,7 +125,10 @@ function profiles_init(&$a) {
dbesc($name)
);
info( t('New profile created.') . EOL);
- if(count($r3) == 1)
+
+ profiles_build_sync(local_channel());
+
+ if(($r3) && (count($r3) == 1))
goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']);
goaway($a->get_baseurl(true) . '/profiles');
@@ -193,7 +203,6 @@ function profiles_post(&$a) {
$namechanged = false;
- call_hooks('profile_post', $_POST);
// import from json export file.
// Only import fields that are allowed on this hub
@@ -220,6 +229,7 @@ function profiles_post(&$a) {
}
}
+ call_hooks('profile_post', $_POST);
if((argc() > 1) && (argv(1) !== "new") && intval(argv(1))) {
@@ -564,8 +574,6 @@ function profiles_post(&$a) {
}
-
-
function profiles_content(&$a) {
$o = '';
diff --git a/mod/search.php b/mod/search.php
index a0085fca9..555d46f6a 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -75,9 +75,10 @@ function search_content(&$a,$update = 0, $load = false) {
return $o;
if($tag) {
- $sql_extra = sprintf(" AND `item`.`id` IN (select `oid` from term where otype = %d and type = %d and term = '%s') ",
+ $sql_extra = sprintf(" AND `item`.`id` IN (select `oid` from term where otype = %d and type in ( %d , %d) and term = '%s') ",
intval(TERM_OBJ_POST),
intval(TERM_HASHTAG),
+ intval(TERM_COMMUNITYTAG),
dbesc(protect_sprintf($search))
);
}
diff --git a/mod/search_ac.php b/mod/search_ac.php
index e42945d43..19c1dc940 100644
--- a/mod/search_ac.php
+++ b/mod/search_ac.php
@@ -42,8 +42,9 @@ function search_ac_init(&$a){
}
}
- $r = q("select distinct term, tid, url from term where type = %d $tag_sql_extra group by term order by term asc",
- intval(TERM_HASHTAG)
+ $r = q("select distinct term, tid, url from term where type in ( %d, %d ) $tag_sql_extra group by term order by term asc",
+ intval(TERM_HASHTAG),
+ intval(TERM_COMMUNITYTAG)
);
if(count($r)) {
diff --git a/mod/settings.php b/mod/settings.php
index 9a18d8e48..339f83cfe 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -405,7 +405,6 @@ function settings_post(&$a) {
$allow_location = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0);
-
$blocktags = (((x($_POST,'blocktags')) && (intval($_POST['blocktags']) == 1)) ? 0: 1); // this setting is inverted!
$unkmail = (((x($_POST,'unkmail')) && (intval($_POST['unkmail']) == 1)) ? 1: 0);
$cntunkmail = ((x($_POST,'cntunkmail')) ? intval($_POST['cntunkmail']) : 0);
@@ -416,6 +415,8 @@ function settings_post(&$a) {
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
$adult = (($_POST['adult'] == 1) ? 1 : 0);
+ $cal_first_day = (((x($_POST,'first_day')) && (intval($_POST['first_day']) == 1)) ? 1: 0);
+
$channel = $a->get_channel();
$pageflags = $channel['channel_pageflags'];
$existing_adult = (($pageflags & PAGE_ADULT) ? 1 : 0);
@@ -503,6 +504,7 @@ function settings_post(&$a) {
set_pconfig(local_channel(),'system','evdays',$evdays);
set_pconfig(local_channel(),'system','photo_path',$photo_path);
set_pconfig(local_channel(),'system','attach_path',$attach_path);
+ set_pconfig(local_channel(),'system','cal_first_day',$cal_first_day);
$r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d $set_perms where channel_id = %d",
dbesc($username),
@@ -1110,6 +1112,7 @@ function settings_content(&$a) {
'$removeme' => t('Remove Channel'),
'$removechannel' => t('Remove this channel.'),
'$firefoxshare' => t('Firefox Share $Projectname provider'),
+ '$cal_first_day' => array('first_day', t('Start calendar week on monday'), ((get_pconfig(local_channel(),'system','cal_first_day')) ? 1 : ''), '', $yes_no),
));
call_hooks('settings_form',$o);
diff --git a/mod/siteinfo.php b/mod/siteinfo.php
index 2fffccc73..231427290 100644
--- a/mod/siteinfo.php
+++ b/mod/siteinfo.php
@@ -81,8 +81,8 @@ function siteinfo_init(&$a) {
'commit' => $commit,
'url' => z_root(),
'plugins' => $visible_plugins,
- 'register_policy' => $register_policy[$a->config['system']['register_policy']],
- 'directory_mode' => $directory_mode[$a->config['system']['directory_mode']],
+ 'register_policy' => $register_policy[get_config('system','register_policy')],
+ 'directory_mode' => $directory_mode[get_config('system','directory_mode')],
'language' => get_config('system','language'),
'rss_connections' => get_config('system','feed_contacts'),
'expiration' => $site_expire,
diff --git a/mod/subthread.php b/mod/subthread.php
index 162545a2f..74d742b6a 100755
--- a/mod/subthread.php
+++ b/mod/subthread.php
@@ -11,18 +11,24 @@ function subthread_content(&$a) {
return;
}
+ $item_id = ((argc() > 2) ? notags(trim(argv(2))) : 0);
+
if(argv(1) === 'sub')
$activity = ACTIVITY_FOLLOW;
elseif(argv(1) === 'unsub')
$activity = ACTIVITY_UNFOLLOW;
- $item_id = ((argc() > 2) ? notags(trim(argv(2))) : 0);
- $r = q("SELECT * FROM `item` WHERE `parent` = '%s' OR `parent_mid` = '%s' and parent = id LIMIT 1",
- dbesc($item_id),
+ $r = q("SELECT parent FROM item WHERE id = '%s'",
dbesc($item_id)
);
+ if($r) {
+ $r = q("select * from item where id = parent and id = %d limit 1",
+ dbesc($r[0]['parent'])
+ );
+ }
+
if((! $item_id) || (! $r)) {
logger('subthread: no item ' . $item_id);
return;
diff --git a/mod/tagger.php b/mod/tagger.php
index 9f9855ed8..27a8a15ea 100644
--- a/mod/tagger.php
+++ b/mod/tagger.php
@@ -123,7 +123,7 @@ function tagger_content(&$a) {
$arr['object'] = $obj;
$arr['parent_mid'] = $item['mid'];
- store_item_tag($item['uid'],$item['id'],TERM_OBJ_POST,TERM_HASHTAG,$term,$tagid);
+ store_item_tag($item['uid'],$item['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$term,$tagid);
$ret = post_activity_item($arr);
if($ret['success'])
diff --git a/tests/text_test.php b/tests/text_test.php
new file mode 100644
index 000000000..d1e210b68
--- /dev/null
+++ b/tests/text_test.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * this file contains tests for text.php
+ *
+ * @package test.util
+ */
+
+/** required, it is the file under test */
+require_once('include/text.php');
+
+/**
+ * TestCase for the texter
+ *
+ * @author ken restivo
+ * @package test.util
+ */
+class TextTest extends PHPUnit_Framework_TestCase {
+ public function testGoodEmail() {
+ $this->assertTrue(valid_email_regex('ken@spaz.org'));
+ }
+ public function testGoodEmail2() {
+ $this->assertTrue(valid_email_regex('ken@restivo.org'));
+ }
+ public function testGoodEmail3() {
+ $this->assertTrue(valid_email_regex('nobody@hubzilla.com'));
+ }
+ public function testBadEmail() {
+ $this->assertFalse(valid_email_regex('nobody!uses!these!any.more'));
+ }
+
+} \ No newline at end of file
diff --git a/util/hmessages.po b/util/hmessages.po
index 75f5a8bc0..00610c180 100644
--- a/util/hmessages.po
+++ b/util/hmessages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2015-10-29.1200\n"
+"Project-Id-Version: 2015-11-20.1222\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-30 00:03-0700\n"
+"POT-Creation-Date: 2015-11-20 00:03-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "Unable to create a unique channel address. Import failed."
msgstr ""
-#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:486
+#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487
msgid "Import completed."
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2529
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2546
msgid "Collection"
msgstr ""
@@ -58,14 +58,15 @@ msgstr ""
msgid "Schedule Outbox"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:360
-#: ../../include/apps.php:415 ../../include/conversation.php:1023
-#: ../../mod/photos.php:759 ../../mod/photos.php:1198
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1026
+#: ../../include/apps.php:360 ../../include/apps.php:415
+#: ../../include/widgets.php:1317 ../../mod/photos.php:759
+#: ../../mod/photos.php:1198
msgid "Unknown"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:226 ../../include/apps.php:135
-#: ../../include/conversation.php:1620 ../../include/nav.php:93
+#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1628
+#: ../../include/apps.php:135 ../../include/nav.php:93
#: ../../mod/fbrowser.php:114
msgid "Files"
msgstr ""
@@ -86,13 +87,14 @@ msgid "Create"
msgstr ""
#: ../../include/RedDAV/RedBrowser.php:231
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:784
-#: ../../mod/photos.php:1317 ../../mod/profile_photo.php:450
+#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329
+#: ../../mod/photos.php:784 ../../mod/photos.php:1317
+#: ../../mod/profile_photo.php:450
msgid "Upload"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:948
-#: ../../mod/settings.php:585 ../../mod/settings.php:611
+#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr ""
@@ -101,7 +103,8 @@ msgstr ""
msgid "Type"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:237 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1247
+#: ../../mod/sharedwithme.php:97
msgid "Size"
msgstr ""
@@ -115,18 +118,18 @@ msgstr ""
#: ../../mod/layouts.php:183 ../../mod/editblock.php:135
#: ../../mod/editpost.php:112 ../../mod/menu.php:108
#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257
-#: ../../mod/settings.php:645 ../../mod/connections.php:235
+#: ../../mod/settings.php:646 ../../mod/connections.php:235
#: ../../mod/connections.php:248 ../../mod/connections.php:267
#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176
msgid "Edit"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:241 ../../include/apps.php:260
-#: ../../include/ItemObject.php:120 ../../include/conversation.php:657
-#: ../../mod/connedit.php:546 ../../mod/photos.php:1129
-#: ../../mod/editblock.php:181 ../../mod/admin.php:783 ../../mod/admin.php:942
+#: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657
+#: ../../include/apps.php:260 ../../include/ItemObject.php:120
+#: ../../mod/connedit.php:551 ../../mod/photos.php:1129
+#: ../../mod/editblock.php:181 ../../mod/admin.php:809 ../../mod/admin.php:968
#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258
-#: ../../mod/settings.php:646 ../../mod/editlayout.php:179
+#: ../../mod/settings.php:647 ../../mod/editlayout.php:179
#: ../../mod/editwebpage.php:223 ../../mod/group.php:173
msgid "Delete"
msgstr ""
@@ -298,7 +301,7 @@ msgstr ""
msgid "Room not found."
msgstr ""
-#: ../../include/chat.php:133 ../../include/items.php:4377
+#: ../../include/chat.php:133 ../../include/items.php:4396
#: ../../include/photos.php:29 ../../include/attach.php:140
#: ../../include/attach.php:188 ../../include/attach.php:251
#: ../../include/attach.php:265 ../../include/attach.php:272
@@ -309,33 +312,33 @@ msgstr ""
#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13
#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72
#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35
-#: ../../mod/mitem.php:111 ../../mod/connedit.php:347 ../../mod/mood.php:112
+#: ../../mod/mitem.php:111 ../../mod/connedit.php:352 ../../mod/mood.php:112
#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:94
-#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/mail.php:118
-#: ../../mod/photos.php:70 ../../mod/editblock.php:65
-#: ../../mod/editpost.php:13 ../../mod/appman.php:66 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/menu.php:74 ../../mod/page.php:31
-#: ../../mod/page.php:86 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/notifications.php:66
-#: ../../mod/pdledit.php:21 ../../mod/events.php:256
-#: ../../mod/profile_photo.php:338 ../../mod/profile_photo.php:351
-#: ../../mod/item.php:205 ../../mod/item.php:213 ../../mod/item.php:1004
-#: ../../mod/message.php:16 ../../mod/webpages.php:69
-#: ../../mod/register.php:72 ../../mod/blocks.php:69 ../../mod/blocks.php:76
-#: ../../mod/service_limits.php:7 ../../mod/sources.php:66
-#: ../../mod/regmod.php:17 ../../mod/channel.php:100 ../../mod/channel.php:214
-#: ../../mod/channel.php:254 ../../mod/thing.php:271 ../../mod/thing.php:291
-#: ../../mod/thing.php:328 ../../mod/invite.php:13 ../../mod/invite.php:104
-#: ../../mod/viewsrc.php:14 ../../mod/settings.php:565 ../../mod/manage.php:6
-#: ../../mod/api.php:26 ../../mod/api.php:31 ../../mod/connections.php:29
+#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/photos.php:70
+#: ../../mod/editblock.php:65 ../../mod/editpost.php:13
+#: ../../mod/appman.php:66 ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/menu.php:74 ../../mod/page.php:31 ../../mod/page.php:86
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/notifications.php:66 ../../mod/pdledit.php:21
+#: ../../mod/events.php:256 ../../mod/profile_photo.php:338
+#: ../../mod/profile_photo.php:351 ../../mod/item.php:205
+#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/message.php:16
+#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7
+#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/channel.php:100
+#: ../../mod/channel.php:214 ../../mod/channel.php:254 ../../mod/thing.php:271
+#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13
+#: ../../mod/invite.php:104 ../../mod/mail.php:118 ../../mod/viewsrc.php:14
+#: ../../mod/settings.php:566 ../../mod/manage.php:6 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/connections.php:29
#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
#: ../../mod/group.php:9 ../../mod/viewconnections.php:22
-#: ../../mod/viewconnections.php:27 ../../mod/locs.php:82
+#: ../../mod/viewconnections.php:27 ../../mod/locs.php:83
#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7
#: ../../mod/suggest.php:26 ../../mod/profiles.php:188
#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361
@@ -359,7 +362,7 @@ msgstr ""
msgid "Required"
msgstr ""
-#: ../../include/datetime.php:262 ../../boot.php:2312
+#: ../../include/datetime.php:262 ../../boot.php:2289
msgid "never"
msgstr ""
@@ -547,7 +550,7 @@ msgid ""
"(640px) photo thumbnails"
msgstr ""
-#: ../../include/features.php:59 ../../include/widgets.php:545
+#: ../../include/features.php:59 ../../include/widgets.php:546
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr ""
@@ -581,128 +584,138 @@ msgstr ""
msgid "Allow posts to be published at a later date"
msgstr ""
-#: ../../include/features.php:68
-msgid "Network and Stream Filtering"
+#: ../../include/features.php:63
+msgid "Suppress Duplicate Posts/Comments"
+msgstr ""
+
+#: ../../include/features.php:63
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
msgstr ""
#: ../../include/features.php:69
+msgid "Network and Stream Filtering"
+msgstr ""
+
+#: ../../include/features.php:70
msgid "Search by Date"
msgstr ""
-#: ../../include/features.php:69
+#: ../../include/features.php:70
msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../include/features.php:70
+#: ../../include/features.php:71
msgid "Collections Filter"
msgstr ""
-#: ../../include/features.php:70
+#: ../../include/features.php:71
msgid "Enable widget to display Network posts only from selected collections"
msgstr ""
-#: ../../include/features.php:71 ../../include/widgets.php:273
+#: ../../include/features.php:72 ../../include/widgets.php:274
msgid "Saved Searches"
msgstr ""
-#: ../../include/features.php:71
+#: ../../include/features.php:72
msgid "Save search terms for re-use"
msgstr ""
-#: ../../include/features.php:72
+#: ../../include/features.php:73
msgid "Network Personal Tab"
msgstr ""
-#: ../../include/features.php:72
+#: ../../include/features.php:73
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../include/features.php:73
+#: ../../include/features.php:74
msgid "Network New Tab"
msgstr ""
-#: ../../include/features.php:73
+#: ../../include/features.php:74
msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../include/features.php:74
+#: ../../include/features.php:75
msgid "Affinity Tool"
msgstr ""
-#: ../../include/features.php:74
+#: ../../include/features.php:75
msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../include/features.php:75
+#: ../../include/features.php:76
msgid "Connection Filtering"
msgstr ""
-#: ../../include/features.php:75
+#: ../../include/features.php:76
msgid "Filter incoming posts from connections based on keywords/content"
msgstr ""
-#: ../../include/features.php:76
+#: ../../include/features.php:77
msgid "Suggest Channels"
msgstr ""
-#: ../../include/features.php:76
+#: ../../include/features.php:77
msgid "Show channel suggestions"
msgstr ""
-#: ../../include/features.php:81
+#: ../../include/features.php:82
msgid "Post/Comment Tools"
msgstr ""
-#: ../../include/features.php:82
+#: ../../include/features.php:83
msgid "Tagging"
msgstr ""
-#: ../../include/features.php:82
+#: ../../include/features.php:83
msgid "Ability to tag existing posts"
msgstr ""
-#: ../../include/features.php:83
+#: ../../include/features.php:84
msgid "Post Categories"
msgstr ""
-#: ../../include/features.php:83
+#: ../../include/features.php:84
msgid "Add categories to your posts"
msgstr ""
-#: ../../include/features.php:84 ../../include/contact_widgets.php:57
-#: ../../include/widgets.php:303
+#: ../../include/features.php:85 ../../include/contact_widgets.php:57
+#: ../../include/widgets.php:304
msgid "Saved Folders"
msgstr ""
-#: ../../include/features.php:84
+#: ../../include/features.php:85
msgid "Ability to file posts under folders"
msgstr ""
-#: ../../include/features.php:85
+#: ../../include/features.php:86
msgid "Dislike Posts"
msgstr ""
-#: ../../include/features.php:85
+#: ../../include/features.php:86
msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../include/features.php:86
+#: ../../include/features.php:87
msgid "Star Posts"
msgstr ""
-#: ../../include/features.php:86
+#: ../../include/features.php:87
msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../include/features.php:87
+#: ../../include/features.php:88
msgid "Tag Cloud"
msgstr ""
-#: ../../include/features.php:87
+#: ../../include/features.php:88
msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../include/comanche.php:34 ../../mod/admin.php:348
+#: ../../include/comanche.php:34 ../../mod/admin.php:351
msgid "Default"
msgstr ""
@@ -710,12 +723,12 @@ msgstr ""
msgid "Delete this item?"
msgstr ""
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:681
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:682
#: ../../mod/photos.php:1047 ../../mod/photos.php:1165
msgid "Comment"
msgstr ""
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:398
+#: ../../include/js_strings.php:7 ../../include/ItemObject.php:399
msgid "[+] show all"
msgstr ""
@@ -767,7 +780,7 @@ msgstr ""
msgid "Rate This Channel (this is public)"
msgstr ""
-#: ../../include/js_strings.php:20 ../../mod/connedit.php:684
+#: ../../include/js_strings.php:20 ../../mod/connedit.php:694
#: ../../mod/rate.php:157
msgid "Rating"
msgstr ""
@@ -776,23 +789,23 @@ msgstr ""
msgid "Describe (optional)"
msgstr ""
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:682
-#: ../../mod/fsuggest.php:108 ../../mod/mitem.php:231
-#: ../../mod/connedit.php:705 ../../mod/mood.php:135 ../../mod/pconfig.php:108
-#: ../../mod/filestorage.php:156 ../../mod/poke.php:171 ../../mod/chat.php:184
-#: ../../mod/chat.php:213 ../../mod/rate.php:168 ../../mod/mail.php:371
-#: ../../mod/photos.php:637 ../../mod/photos.php:1008
-#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:411
-#: ../../mod/admin.php:776 ../../mod/admin.php:940 ../../mod/admin.php:1072
-#: ../../mod/admin.php:1266 ../../mod/admin.php:1351 ../../mod/appman.php:99
-#: ../../mod/pdledit.php:58 ../../mod/events.php:534 ../../mod/events.php:710
+#: ../../include/js_strings.php:22 ../../include/ItemObject.php:683
+#: ../../include/widgets.php:676 ../../mod/fsuggest.php:108
+#: ../../mod/mitem.php:231 ../../mod/connedit.php:715 ../../mod/mood.php:135
+#: ../../mod/pconfig.php:108 ../../mod/filestorage.php:156
+#: ../../mod/poke.php:171 ../../mod/chat.php:184 ../../mod/chat.php:213
+#: ../../mod/rate.php:168 ../../mod/photos.php:637 ../../mod/photos.php:1008
+#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:435
+#: ../../mod/admin.php:802 ../../mod/admin.php:966 ../../mod/admin.php:1103
+#: ../../mod/admin.php:1297 ../../mod/admin.php:1382 ../../mod/appman.php:99
+#: ../../mod/pdledit.php:58 ../../mod/events.php:531 ../../mod/events.php:710
#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/import.php:517 ../../mod/thing.php:313 ../../mod/thing.php:359
-#: ../../mod/invite.php:142 ../../mod/settings.php:583
-#: ../../mod/settings.php:695 ../../mod/settings.php:723
-#: ../../mod/settings.php:746 ../../mod/settings.php:831
-#: ../../mod/settings.php:1020 ../../mod/xchan.php:11 ../../mod/group.php:81
-#: ../../mod/connect.php:93 ../../mod/locs.php:108 ../../mod/setup.php:331
+#: ../../mod/import.php:527 ../../mod/thing.php:313 ../../mod/thing.php:359
+#: ../../mod/invite.php:142 ../../mod/mail.php:371 ../../mod/settings.php:584
+#: ../../mod/settings.php:696 ../../mod/settings.php:724
+#: ../../mod/settings.php:747 ../../mod/settings.php:832
+#: ../../mod/settings.php:1021 ../../mod/xchan.php:11 ../../mod/group.php:81
+#: ../../mod/connect.php:93 ../../mod/locs.php:116 ../../mod/setup.php:331
#: ../../mod/setup.php:371 ../../mod/profiles.php:667
#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
@@ -879,19 +892,19 @@ msgstr ""
msgid "timeago.numbers"
msgstr ""
-#: ../../include/js_strings.php:44 ../../include/text.php:1153
+#: ../../include/js_strings.php:44 ../../include/text.php:1164
msgid "January"
msgstr ""
-#: ../../include/js_strings.php:45 ../../include/text.php:1153
+#: ../../include/js_strings.php:45 ../../include/text.php:1164
msgid "February"
msgstr ""
-#: ../../include/js_strings.php:46 ../../include/text.php:1153
+#: ../../include/js_strings.php:46 ../../include/text.php:1164
msgid "March"
msgstr ""
-#: ../../include/js_strings.php:47 ../../include/text.php:1153
+#: ../../include/js_strings.php:47 ../../include/text.php:1164
msgid "April"
msgstr ""
@@ -900,31 +913,31 @@ msgctxt "long"
msgid "May"
msgstr ""
-#: ../../include/js_strings.php:49 ../../include/text.php:1153
+#: ../../include/js_strings.php:49 ../../include/text.php:1164
msgid "June"
msgstr ""
-#: ../../include/js_strings.php:50 ../../include/text.php:1153
+#: ../../include/js_strings.php:50 ../../include/text.php:1164
msgid "July"
msgstr ""
-#: ../../include/js_strings.php:51 ../../include/text.php:1153
+#: ../../include/js_strings.php:51 ../../include/text.php:1164
msgid "August"
msgstr ""
-#: ../../include/js_strings.php:52 ../../include/text.php:1153
+#: ../../include/js_strings.php:52 ../../include/text.php:1164
msgid "September"
msgstr ""
-#: ../../include/js_strings.php:53 ../../include/text.php:1153
+#: ../../include/js_strings.php:53 ../../include/text.php:1164
msgid "October"
msgstr ""
-#: ../../include/js_strings.php:54 ../../include/text.php:1153
+#: ../../include/js_strings.php:54 ../../include/text.php:1164
msgid "November"
msgstr ""
-#: ../../include/js_strings.php:55 ../../include/text.php:1153
+#: ../../include/js_strings.php:55 ../../include/text.php:1164
msgid "December"
msgstr ""
@@ -977,31 +990,31 @@ msgstr ""
msgid "Dec"
msgstr ""
-#: ../../include/js_strings.php:68 ../../include/text.php:1149
+#: ../../include/js_strings.php:68 ../../include/text.php:1160
msgid "Sunday"
msgstr ""
-#: ../../include/js_strings.php:69 ../../include/text.php:1149
+#: ../../include/js_strings.php:69 ../../include/text.php:1160
msgid "Monday"
msgstr ""
-#: ../../include/js_strings.php:70 ../../include/text.php:1149
+#: ../../include/js_strings.php:70 ../../include/text.php:1160
msgid "Tuesday"
msgstr ""
-#: ../../include/js_strings.php:71 ../../include/text.php:1149
+#: ../../include/js_strings.php:71 ../../include/text.php:1160
msgid "Wednesday"
msgstr ""
-#: ../../include/js_strings.php:72 ../../include/text.php:1149
+#: ../../include/js_strings.php:72 ../../include/text.php:1160
msgid "Thursday"
msgstr ""
-#: ../../include/js_strings.php:73 ../../include/text.php:1149
+#: ../../include/js_strings.php:73 ../../include/text.php:1160
msgid "Friday"
msgstr ""
-#: ../../include/js_strings.php:74 ../../include/text.php:1149
+#: ../../include/js_strings.php:74 ../../include/text.php:1160
msgid "Saturday"
msgstr ""
@@ -1095,8 +1108,8 @@ msgid "RSS/Atom"
msgstr ""
#: ../../include/contact_selectors.php:79 ../../mod/id.php:15
-#: ../../mod/id.php:16 ../../mod/admin.php:779 ../../mod/admin.php:788
-#: ../../boot.php:1505
+#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814
+#: ../../boot.php:1488
msgid "Email"
msgstr ""
@@ -1147,9 +1160,9 @@ msgstr ""
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/Contact.php:101 ../../include/identity.php:965
-#: ../../include/conversation.php:949 ../../include/widgets.php:136
-#: ../../include/widgets.php:174 ../../mod/directory.php:316
+#: ../../include/Contact.php:101 ../../include/conversation.php:952
+#: ../../include/widgets.php:137 ../../include/widgets.php:175
+#: ../../include/identity.php:952 ../../mod/directory.php:318
#: ../../mod/match.php:64 ../../mod/suggest.php:52
msgid "Connect"
msgstr ""
@@ -1172,10 +1185,10 @@ msgstr ""
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/items.php:423 ../../mod/like.php:280 ../../mod/dreport.php:6
-#: ../../mod/dreport.php:45 ../../mod/subthread.php:49 ../../mod/group.php:68
-#: ../../mod/profperm.php:23 ../../mod/import_items.php:114
-#: ../../index.php:360
+#: ../../include/items.php:423 ../../mod/like.php:280
+#: ../../mod/subthread.php:58 ../../mod/dreport.php:6 ../../mod/dreport.php:45
+#: ../../mod/group.php:68 ../../mod/profperm.php:23
+#: ../../mod/import_items.php:114 ../../index.php:360
msgid "Permission denied"
msgstr ""
@@ -1216,66 +1229,699 @@ msgstr ""
msgid "Visible to specific connections."
msgstr ""
-#: ../../include/items.php:4298 ../../mod/display.php:36
+#: ../../include/items.php:4317 ../../mod/display.php:36
#: ../../mod/filestorage.php:27 ../../mod/admin.php:127
-#: ../../mod/admin.php:979 ../../mod/admin.php:1179 ../../mod/thing.php:86
+#: ../../mod/admin.php:1005 ../../mod/admin.php:1210 ../../mod/thing.php:86
#: ../../mod/viewsrc.php:20
msgid "Item not found."
msgstr ""
-#: ../../include/items.php:4807 ../../mod/group.php:38 ../../mod/group.php:137
+#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137
msgid "Collection not found."
msgstr ""
-#: ../../include/items.php:4823
+#: ../../include/items.php:4842
msgid "Collection is empty."
msgstr ""
-#: ../../include/items.php:4830
+#: ../../include/items.php:4849
#, php-format
msgid "Collection: %s"
msgstr ""
-#: ../../include/items.php:4840 ../../mod/connedit.php:673
+#: ../../include/items.php:4859 ../../mod/connedit.php:683
#, php-format
msgid "Connection: %s"
msgstr ""
-#: ../../include/items.php:4842
+#: ../../include/items.php:4861
msgid "Connection not found."
msgstr ""
-#: ../../include/api.php:1324
-msgid "Public Timeline"
+#: ../../include/conversation.php:120 ../../include/text.php:1880
+#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:83
+msgid "photo"
+msgstr ""
+
+#: ../../include/conversation.php:123 ../../include/event.php:896
+#: ../../include/text.php:1883 ../../mod/like.php:363 ../../mod/tagger.php:47
+#: ../../mod/events.php:245
+msgid "event"
+msgstr ""
+
+#: ../../include/conversation.php:126 ../../mod/like.php:113
+msgid "channel"
+msgstr ""
+
+#: ../../include/conversation.php:148 ../../include/text.php:1886
+#: ../../mod/like.php:361 ../../mod/subthread.php:83
+msgid "status"
+msgstr ""
+
+#: ../../include/conversation.php:150 ../../include/text.php:1888
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr ""
+
+#: ../../include/conversation.php:164 ../../mod/like.php:410
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr ""
+
+#: ../../include/conversation.php:167 ../../mod/like.php:412
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr ""
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:243 ../../include/text.php:953
+msgid "poked"
+msgstr ""
+
+#: ../../include/conversation.php:260 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr ""
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:1063
+msgctxt "title"
+msgid "Likes"
+msgstr ""
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:1063
+msgctxt "title"
+msgid "Dislikes"
+msgstr ""
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Agree"
+msgstr ""
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Disagree"
+msgstr ""
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Abstain"
+msgstr ""
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Attending"
+msgstr ""
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Not attending"
+msgstr ""
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Might attend"
+msgstr ""
+
+#: ../../include/conversation.php:656 ../../include/ItemObject.php:126
+msgid "Select"
+msgstr ""
+
+#: ../../include/conversation.php:664 ../../include/ItemObject.php:89
+msgid "Private Message"
+msgstr ""
+
+#: ../../include/conversation.php:671 ../../include/ItemObject.php:227
+msgid "Message signature validated"
+msgstr ""
+
+#: ../../include/conversation.php:672 ../../include/ItemObject.php:228
+msgid "Message signature incorrect"
+msgstr ""
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr ""
+
+#: ../../include/conversation.php:709
+msgid "Categories:"
+msgstr ""
+
+#: ../../include/conversation.php:710
+msgid "Filed under:"
+msgstr ""
+
+#: ../../include/conversation.php:718 ../../include/ItemObject.php:321
+#, php-format
+msgid "from %s"
+msgstr ""
+
+#: ../../include/conversation.php:721 ../../include/ItemObject.php:324
+#, php-format
+msgid "last edited: %s"
+msgstr ""
+
+#: ../../include/conversation.php:722 ../../include/ItemObject.php:325
+#, php-format
+msgid "Expires: %s"
+msgstr ""
+
+#: ../../include/conversation.php:737
+msgid "View in context"
+msgstr ""
+
+#: ../../include/conversation.php:739 ../../include/conversation.php:1226
+#: ../../include/ItemObject.php:375 ../../mod/photos.php:1029
+#: ../../mod/editblock.php:150 ../../mod/editpost.php:129
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190
+msgid "Please wait"
+msgstr ""
+
+#: ../../include/conversation.php:849
+msgid "remove"
+msgstr ""
+
+#: ../../include/conversation.php:853 ../../include/nav.php:241
+msgid "Loading..."
+msgstr ""
+
+#: ../../include/conversation.php:854
+msgid "Delete Selected Items"
+msgstr ""
+
+#: ../../include/conversation.php:945
+msgid "View Source"
+msgstr ""
+
+#: ../../include/conversation.php:946
+msgid "Follow Thread"
+msgstr ""
+
+#: ../../include/conversation.php:947
+msgid "Unfollow Thread"
+msgstr ""
+
+#: ../../include/conversation.php:948
+msgid "View Status"
+msgstr ""
+
+#: ../../include/conversation.php:949 ../../include/nav.php:86
+#: ../../mod/connedit.php:498
+msgid "View Profile"
+msgstr ""
+
+#: ../../include/conversation.php:950
+msgid "View Photos"
+msgstr ""
+
+#: ../../include/conversation.php:951
+msgid "Activity/Posts"
+msgstr ""
+
+#: ../../include/conversation.php:953
+msgid "Edit Connection"
+msgstr ""
+
+#: ../../include/conversation.php:954
+msgid "Send PM"
+msgstr ""
+
+#: ../../include/conversation.php:955 ../../include/apps.php:145
+msgid "Poke"
+msgstr ""
+
+#: ../../include/conversation.php:1069
+#, php-format
+msgid "%s likes this."
+msgstr ""
+
+#: ../../include/conversation.php:1069
+#, php-format
+msgid "%s doesn't like this."
+msgstr ""
+
+#: ../../include/conversation.php:1073
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1081
+msgid "and"
+msgstr ""
+
+#: ../../include/conversation.php:1084
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1085
+#, php-format
+msgid "%s like this."
msgstr ""
-#: ../../include/network.php:635
+#: ../../include/conversation.php:1085
+#, php-format
+msgid "%s don't like this."
+msgstr ""
+
+#: ../../include/conversation.php:1153
+msgid "Visible to <strong>everybody</strong>"
+msgstr ""
+
+#: ../../include/conversation.php:1154 ../../mod/mail.php:194
+#: ../../mod/mail.php:308
+msgid "Please enter a link URL:"
+msgstr ""
+
+#: ../../include/conversation.php:1155
+msgid "Please enter a video link/URL:"
+msgstr ""
+
+#: ../../include/conversation.php:1156
+msgid "Please enter an audio link/URL:"
+msgstr ""
+
+#: ../../include/conversation.php:1157
+msgid "Tag term:"
+msgstr ""
+
+#: ../../include/conversation.php:1158 ../../mod/filer.php:48
+msgid "Save to Folder:"
+msgstr ""
+
+#: ../../include/conversation.php:1159
+msgid "Where are you right now?"
+msgstr ""
+
+#: ../../include/conversation.php:1160 ../../mod/editpost.php:56
+#: ../../mod/mail.php:195 ../../mod/mail.php:309
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr ""
+
+#: ../../include/conversation.php:1168 ../../include/page_widgets.php:40
+#: ../../include/ItemObject.php:692 ../../mod/photos.php:1049
+#: ../../mod/editblock.php:171 ../../mod/editpost.php:149
+#: ../../mod/events.php:707 ../../mod/webpages.php:188
+#: ../../mod/editwebpage.php:212
+msgid "Preview"
+msgstr ""
+
+#: ../../include/conversation.php:1191 ../../mod/layouts.php:184
+#: ../../mod/photos.php:1028 ../../mod/webpages.php:182
+#: ../../mod/blocks.php:154
+msgid "Share"
+msgstr ""
+
+#: ../../include/conversation.php:1193
+msgid "Page link name"
+msgstr ""
+
+#: ../../include/conversation.php:1196
+msgid "Post as"
+msgstr ""
+
+#: ../../include/conversation.php:1198 ../../include/ItemObject.php:684
+#: ../../mod/editblock.php:136 ../../mod/editpost.php:113
+#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177
+msgid "Bold"
+msgstr ""
+
+#: ../../include/conversation.php:1199 ../../include/ItemObject.php:685
+#: ../../mod/editblock.php:137 ../../mod/editpost.php:114
+#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178
+msgid "Italic"
+msgstr ""
+
+#: ../../include/conversation.php:1200 ../../include/ItemObject.php:686
+#: ../../mod/editblock.php:138 ../../mod/editpost.php:115
+#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179
+msgid "Underline"
+msgstr ""
+
+#: ../../include/conversation.php:1201 ../../include/ItemObject.php:687
+#: ../../mod/editblock.php:139 ../../mod/editpost.php:116
+#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180
+msgid "Quote"
+msgstr ""
+
+#: ../../include/conversation.php:1202 ../../include/ItemObject.php:688
+#: ../../mod/editblock.php:140 ../../mod/editpost.php:117
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181
+msgid "Code"
+msgstr ""
+
+#: ../../include/conversation.php:1203 ../../mod/editblock.php:142
+#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140
+#: ../../mod/editwebpage.php:182
+msgid "Upload photo"
+msgstr ""
+
+#: ../../include/conversation.php:1204
+msgid "upload photo"
+msgstr ""
+
+#: ../../include/conversation.php:1205 ../../mod/editblock.php:143
+#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:369
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183
+msgid "Attach file"
+msgstr ""
+
+#: ../../include/conversation.php:1206
+msgid "attach file"
+msgstr ""
+
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:144
+#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:370
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184
+msgid "Insert web link"
+msgstr ""
+
+#: ../../include/conversation.php:1208
+msgid "web link"
+msgstr ""
+
+#: ../../include/conversation.php:1209
+msgid "Insert video link"
+msgstr ""
+
+#: ../../include/conversation.php:1210
+msgid "video link"
+msgstr ""
+
+#: ../../include/conversation.php:1211
+msgid "Insert audio link"
+msgstr ""
+
+#: ../../include/conversation.php:1212
+msgid "audio link"
+msgstr ""
+
+#: ../../include/conversation.php:1213 ../../mod/editblock.php:148
+#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:188
+msgid "Set your location"
+msgstr ""
+
+#: ../../include/conversation.php:1214
+msgid "set location"
+msgstr ""
+
+#: ../../include/conversation.php:1215 ../../mod/editpost.php:126
+msgid "Toggle voting"
+msgstr ""
+
+#: ../../include/conversation.php:1218 ../../mod/editblock.php:149
+#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:189
+msgid "Clear browser location"
+msgstr ""
+
+#: ../../include/conversation.php:1219
+msgid "clear location"
+msgstr ""
+
+#: ../../include/conversation.php:1221 ../../mod/editblock.php:162
+#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
+msgid "Title (optional)"
+msgstr ""
+
+#: ../../include/conversation.php:1225 ../../mod/editblock.php:165
+#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:207
+msgid "Categories (optional, comma-separated list)"
+msgstr ""
+
+#: ../../include/conversation.php:1227 ../../mod/editblock.php:151
+#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:191
+msgid "Permission settings"
+msgstr ""
+
+#: ../../include/conversation.php:1228
+msgid "permissions"
+msgstr ""
+
+#: ../../include/conversation.php:1236 ../../mod/editblock.php:159
+#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:200
+msgid "Public post"
+msgstr ""
+
+#: ../../include/conversation.php:1238 ../../mod/editblock.php:166
+#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164
+#: ../../mod/editwebpage.php:208
+msgid "Example: bob@example.com, mary@example.com"
+msgstr ""
+
+#: ../../include/conversation.php:1251 ../../mod/editblock.php:176
+#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:374
+#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217
+msgid "Set expiration date"
+msgstr ""
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr ""
+
+#: ../../include/conversation.php:1256 ../../include/ItemObject.php:695
+#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:376
+msgid "Encrypt text"
+msgstr ""
+
+#: ../../include/conversation.php:1258 ../../mod/editpost.php:159
+#: ../../mod/events.php:691
+msgid "OK"
+msgstr ""
+
+#: ../../include/conversation.php:1259 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
+#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/settings.php:585 ../../mod/settings.php:611
+msgid "Cancel"
+msgstr ""
+
+#: ../../include/conversation.php:1502
+msgid "Discover"
+msgstr ""
+
+#: ../../include/conversation.php:1505
+msgid "Imported public streams"
+msgstr ""
+
+#: ../../include/conversation.php:1510
+msgid "Commented Order"
+msgstr ""
+
+#: ../../include/conversation.php:1513
+msgid "Sort by Comment Date"
+msgstr ""
+
+#: ../../include/conversation.php:1517
+msgid "Posted Order"
+msgstr ""
+
+#: ../../include/conversation.php:1520
+msgid "Sort by Post Date"
+msgstr ""
+
+#: ../../include/conversation.php:1525 ../../include/widgets.php:95
+msgid "Personal"
+msgstr ""
+
+#: ../../include/conversation.php:1528
+msgid "Posts that mention or involve you"
+msgstr ""
+
+#: ../../include/conversation.php:1534 ../../mod/menu.php:112
+#: ../../mod/connections.php:72 ../../mod/connections.php:82
+msgid "New"
+msgstr ""
+
+#: ../../include/conversation.php:1537
+msgid "Activity Stream - by date"
+msgstr ""
+
+#: ../../include/conversation.php:1543
+msgid "Starred"
+msgstr ""
+
+#: ../../include/conversation.php:1546
+msgid "Favourite Posts"
+msgstr ""
+
+#: ../../include/conversation.php:1553
+msgid "Spam"
+msgstr ""
+
+#: ../../include/conversation.php:1556
+msgid "Posts flagged as SPAM"
+msgstr ""
+
+#: ../../include/conversation.php:1600 ../../mod/admin.php:973
+msgid "Channel"
+msgstr ""
+
+#: ../../include/conversation.php:1603
+msgid "Status Messages and Posts"
+msgstr ""
+
+#: ../../include/conversation.php:1612
+msgid "About"
+msgstr ""
+
+#: ../../include/conversation.php:1615
+msgid "Profile Details"
+msgstr ""
+
+#: ../../include/conversation.php:1621 ../../include/apps.php:139
+#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr ""
+
+#: ../../include/conversation.php:1624 ../../include/photos.php:483
+msgid "Photo Albums"
+msgstr ""
+
+#: ../../include/conversation.php:1631
+msgid "Files and Storage"
+msgstr ""
+
+#: ../../include/conversation.php:1641 ../../include/conversation.php:1644
+msgid "Chatrooms"
+msgstr ""
+
+#: ../../include/conversation.php:1654 ../../include/apps.php:129
+#: ../../include/nav.php:103
+msgid "Bookmarks"
+msgstr ""
+
+#: ../../include/conversation.php:1657
+msgid "Saved Bookmarks"
+msgstr ""
+
+#: ../../include/conversation.php:1664 ../../include/apps.php:136
+#: ../../include/nav.php:107 ../../mod/webpages.php:178
+msgid "Webpages"
+msgstr ""
+
+#: ../../include/conversation.php:1667
+msgid "Manage Webpages"
+msgstr ""
+
+#: ../../include/conversation.php:1696 ../../include/ItemObject.php:175
+#: ../../include/ItemObject.php:187 ../../mod/photos.php:1082
+#: ../../mod/photos.php:1094
+msgid "View all"
+msgstr ""
+
+#: ../../include/conversation.php:1720 ../../include/ItemObject.php:179
+#: ../../include/identity.php:1263 ../../include/taxonomy.php:412
+#: ../../mod/photos.php:1086
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1723 ../../include/ItemObject.php:184
+#: ../../mod/photos.php:1091
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1726
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1729
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1732
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1735
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1738
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/conversation.php:1741
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/network.php:613
msgid "view full size"
msgstr ""
-#: ../../include/network.php:1613 ../../include/enotify.php:57
+#: ../../include/network.php:1591 ../../include/enotify.php:57
msgid "$Projectname Notification"
msgstr ""
-#: ../../include/network.php:1614 ../../include/enotify.php:58
+#: ../../include/network.php:1592 ../../include/enotify.php:58
msgid "$projectname"
msgstr ""
-#: ../../include/network.php:1616 ../../include/enotify.php:60
+#: ../../include/network.php:1594 ../../include/enotify.php:60
msgid "Thank You,"
msgstr ""
-#: ../../include/network.php:1618 ../../include/enotify.php:62
+#: ../../include/network.php:1596 ../../include/enotify.php:62
#, php-format
msgid "%s Administrator"
msgstr ""
-#: ../../include/network.php:1660 ../../include/account.php:316
+#: ../../include/network.php:1638 ../../include/account.php:316
#: ../../include/account.php:343 ../../include/account.php:403
msgid "Administrator"
msgstr ""
-#: ../../include/network.php:1674
+#: ../../include/network.php:1652
msgid "No Subject"
msgstr ""
@@ -1284,42 +1930,33 @@ msgstr ""
msgid "%1$s's bookmarks"
msgstr ""
-#: ../../include/acl_selectors.php:239
+#: ../../include/acl_selectors.php:240
msgid "Visible to your default audience"
msgstr ""
-#: ../../include/acl_selectors.php:240
+#: ../../include/acl_selectors.php:241
msgid "Show"
msgstr ""
-#: ../../include/acl_selectors.php:241
+#: ../../include/acl_selectors.php:242
msgid "Don't show"
msgstr ""
-#: ../../include/acl_selectors.php:247 ../../mod/filestorage.php:147
+#: ../../include/acl_selectors.php:247
+msgid "Other networks and post services"
+msgstr ""
+
+#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147
#: ../../mod/chat.php:211 ../../mod/photos.php:631 ../../mod/photos.php:1001
#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356
msgid "Permissions"
msgstr ""
-#: ../../include/acl_selectors.php:248 ../../include/ItemObject.php:369
+#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:370
#: ../../mod/photos.php:1218
msgid "Close"
msgstr ""
-#: ../../include/import.php:23
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr ""
-
-#: ../../include/import.php:70
-msgid "Channel clone failed. Import failed."
-msgstr ""
-
-#: ../../include/import.php:80 ../../mod/import.php:138
-msgid "Cloned channel not found. Import failed."
-msgstr ""
-
#: ../../include/photos.php:112
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
@@ -1337,10 +1974,6 @@ msgstr ""
msgid "Photo storage failed."
msgstr ""
-#: ../../include/photos.php:483 ../../include/conversation.php:1616
-msgid "Photo Albums"
-msgstr ""
-
#: ../../include/photos.php:487
msgid "Upload New Photos"
msgstr ""
@@ -1363,14 +1996,6 @@ msgstr ""
msgid "View"
msgstr ""
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:691
-#: ../../include/conversation.php:1160 ../../mod/photos.php:1049
-#: ../../mod/editblock.php:171 ../../mod/editpost.php:149
-#: ../../mod/events.php:707 ../../mod/webpages.php:188
-#: ../../mod/editwebpage.php:212
-msgid "Preview"
-msgstr ""
-
#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
msgid "Actions"
msgstr ""
@@ -1393,7 +2018,7 @@ msgstr ""
msgid "Edited"
msgstr ""
-#: ../../include/photo/photo_driver.php:708 ../../mod/photos.php:94
+#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94
#: ../../mod/photos.php:699 ../../mod/profile_photo.php:146
#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376
msgid "Profile Photos"
@@ -1545,12 +2170,12 @@ msgstr ""
msgid "Sex Addict"
msgstr ""
-#: ../../include/profile_selectors.php:80 ../../include/identity.php:390
-#: ../../include/identity.php:391 ../../include/identity.php:398
-#: ../../include/widgets.php:429 ../../mod/connedit.php:568
-#: ../../mod/settings.php:337 ../../mod/settings.php:341
-#: ../../mod/settings.php:342 ../../mod/settings.php:345
-#: ../../mod/settings.php:356
+#: ../../include/profile_selectors.php:80 ../../include/widgets.php:430
+#: ../../include/identity.php:390 ../../include/identity.php:391
+#: ../../include/identity.php:398 ../../mod/connedit.php:573
+#: ../../mod/settings.php:338 ../../mod/settings.php:342
+#: ../../mod/settings.php:343 ../../mod/settings.php:346
+#: ../../mod/settings.php:357
msgid "Friends"
msgstr ""
@@ -1652,20 +2277,20 @@ msgstr ""
msgid "Embedding disabled"
msgstr ""
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:468
+#: ../../include/event.php:22 ../../include/bb2diaspora.php:471
msgid "l F d, Y \\@ g:i A"
msgstr ""
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:474
+#: ../../include/event.php:30 ../../include/bb2diaspora.php:477
msgid "Starts:"
msgstr ""
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:482
+#: ../../include/event.php:40 ../../include/bb2diaspora.php:485
msgid "Finishes:"
msgstr ""
-#: ../../include/event.php:50 ../../include/identity.php:1016
-#: ../../include/bb2diaspora.php:490 ../../mod/directory.php:302
+#: ../../include/event.php:50 ../../include/identity.php:1003
+#: ../../include/bb2diaspora.php:493 ../../mod/directory.php:304
#: ../../mod/events.php:701
msgid "Location:"
msgstr ""
@@ -1674,12 +2299,6 @@ msgstr ""
msgid "This event has been added to your calendar."
msgstr ""
-#: ../../include/event.php:896 ../../include/text.php:1866
-#: ../../include/conversation.php:123 ../../mod/like.php:363
-#: ../../mod/tagger.php:47 ../../mod/events.php:245
-msgid "event"
-msgstr ""
-
#: ../../include/event.php:953
msgid "Not specified"
msgstr ""
@@ -1704,16 +2323,11 @@ msgstr ""
msgid "Site Admin"
msgstr ""
-#: ../../include/apps.php:129 ../../include/conversation.php:1646
-#: ../../include/nav.php:103
-msgid "Bookmarks"
-msgstr ""
-
#: ../../include/apps.php:130
msgid "Address Book"
msgstr ""
-#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1503
+#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1486
msgid "Login"
msgstr ""
@@ -1726,32 +2340,22 @@ msgstr ""
msgid "Grid"
msgstr ""
-#: ../../include/apps.php:134 ../../include/widgets.php:553
-#: ../../include/nav.php:202 ../../mod/admin.php:1033 ../../mod/admin.php:1233
+#: ../../include/apps.php:134 ../../include/widgets.php:554
+#: ../../include/nav.php:202 ../../mod/admin.php:1064 ../../mod/admin.php:1264
msgid "Settings"
msgstr ""
-#: ../../include/apps.php:136 ../../include/conversation.php:1656
-#: ../../include/nav.php:107 ../../mod/webpages.php:178
-msgid "Webpages"
-msgstr ""
-
#: ../../include/apps.php:137 ../../include/nav.php:177
msgid "Channel Home"
msgstr ""
-#: ../../include/apps.php:138 ../../include/identity.php:1250
-#: ../../include/identity.php:1367 ../../mod/profperm.php:112
+#: ../../include/apps.php:138 ../../include/identity.php:1237
+#: ../../include/identity.php:1354 ../../mod/profperm.php:112
msgid "Profile"
msgstr ""
-#: ../../include/apps.php:139 ../../include/conversation.php:1613
-#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr ""
-
#: ../../include/apps.php:140 ../../include/nav.php:196
-#: ../../mod/events.php:526
+#: ../../mod/events.php:523
msgid "Events"
msgstr ""
@@ -1772,16 +2376,12 @@ msgstr ""
msgid "Mood"
msgstr ""
-#: ../../include/apps.php:145 ../../include/conversation.php:952
-msgid "Poke"
-msgstr ""
-
#: ../../include/apps.php:146 ../../include/nav.php:97
msgid "Chat"
msgstr ""
-#: ../../include/apps.php:147 ../../include/text.php:857
-#: ../../include/text.php:869 ../../include/nav.php:159
+#: ../../include/apps.php:147 ../../include/text.php:866
+#: ../../include/text.php:878 ../../include/nav.php:159
#: ../../mod/search.php:40
msgid "Search"
msgstr ""
@@ -1820,7 +2420,7 @@ msgid "Profile Photo"
msgstr ""
#: ../../include/apps.php:252 ../../mod/settings.php:84
-#: ../../mod/settings.php:609
+#: ../../mod/settings.php:610
msgid "Update"
msgstr ""
@@ -1832,78 +2432,21 @@ msgstr ""
msgid "Purchase"
msgstr ""
-#: ../../include/attach.php:246 ../../include/attach.php:332
-msgid "Item was not found."
-msgstr ""
-
-#: ../../include/attach.php:496
-msgid "No source file."
-msgstr ""
-
-#: ../../include/attach.php:514
-msgid "Cannot locate file to replace"
-msgstr ""
-
-#: ../../include/attach.php:532
-msgid "Cannot locate file to revise/update"
-msgstr ""
-
-#: ../../include/attach.php:667
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr ""
-
-#: ../../include/attach.php:681
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr ""
-
-#: ../../include/attach.php:837
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr ""
-
-#: ../../include/attach.php:850
-msgid "Stored file could not be verified. Upload failed."
-msgstr ""
-
-#: ../../include/attach.php:898 ../../include/attach.php:914
-msgid "Path not available."
-msgstr ""
-
-#: ../../include/attach.php:960 ../../include/attach.php:1112
-msgid "Empty pathname"
-msgstr ""
-
-#: ../../include/attach.php:986
-msgid "duplicate filename or path"
-msgstr ""
-
-#: ../../include/attach.php:1008
-msgid "Path not found."
-msgstr ""
-
-#: ../../include/attach.php:1066
-msgid "mkdir failed."
-msgstr ""
-
-#: ../../include/attach.php:1070
-msgid "database storage failed."
-msgstr ""
-
-#: ../../include/attach.php:1118
-msgid "Empty path"
+#: ../../include/api.php:1302
+msgid "Public Timeline"
msgstr ""
-#: ../../include/auth.php:131
-msgid "Logged out."
+#: ../../include/import.php:23
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../include/auth.php:272
-msgid "Failed authentication"
+#: ../../include/import.php:70
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../include/auth.php:286 ../../mod/openid.php:189
-msgid "Login failed."
+#: ../../include/import.php:80 ../../mod/import.php:139
+msgid "Cloned channel not found. Import failed."
msgstr ""
#: ../../include/enotify.php:96
@@ -1935,163 +2478,155 @@ msgstr ""
msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../include/enotify.php:158
+#: ../../include/enotify.php:160
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../include/enotify.php:166
+#: ../../include/enotify.php:168
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../include/enotify.php:175
+#: ../../include/enotify.php:177
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
-#: ../../include/enotify.php:186
+#: ../../include/enotify.php:188
#, php-format
msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../include/enotify.php:187
+#: ../../include/enotify.php:189
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../include/enotify.php:190 ../../include/enotify.php:205
-#: ../../include/enotify.php:231 ../../include/enotify.php:249
-#: ../../include/enotify.php:263
+#: ../../include/enotify.php:192 ../../include/enotify.php:207
+#: ../../include/enotify.php:233 ../../include/enotify.php:251
+#: ../../include/enotify.php:265
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../include/enotify.php:196
+#: ../../include/enotify.php:198
#, php-format
msgid "[Hubzilla:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../include/enotify.php:198
+#: ../../include/enotify.php:200
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr ""
-#: ../../include/enotify.php:200
+#: ../../include/enotify.php:202
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr ""
-#: ../../include/enotify.php:224
+#: ../../include/enotify.php:226
#, php-format
msgid "[Hubzilla:Notify] %s tagged you"
msgstr ""
-#: ../../include/enotify.php:225
+#: ../../include/enotify.php:227
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr ""
-#: ../../include/enotify.php:226
+#: ../../include/enotify.php:228
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr ""
-#: ../../include/enotify.php:238
+#: ../../include/enotify.php:240
#, php-format
msgid "[Hubzilla:Notify] %1$s poked you"
msgstr ""
-#: ../../include/enotify.php:239
+#: ../../include/enotify.php:241
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr ""
-#: ../../include/enotify.php:240
+#: ../../include/enotify.php:242
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../include/enotify.php:256
+#: ../../include/enotify.php:258
#, php-format
msgid "[Hubzilla:Notify] %s tagged your post"
msgstr ""
-#: ../../include/enotify.php:257
+#: ../../include/enotify.php:259
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr ""
-#: ../../include/enotify.php:258
+#: ../../include/enotify.php:260
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr ""
-#: ../../include/enotify.php:270
+#: ../../include/enotify.php:272
msgid "[Hubzilla:Notify] Introduction received"
msgstr ""
-#: ../../include/enotify.php:271
+#: ../../include/enotify.php:273
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr ""
-#: ../../include/enotify.php:272
+#: ../../include/enotify.php:274
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr ""
-#: ../../include/enotify.php:276 ../../include/enotify.php:295
+#: ../../include/enotify.php:278 ../../include/enotify.php:297
#, php-format
msgid "You may visit their profile at %s"
msgstr ""
-#: ../../include/enotify.php:278
+#: ../../include/enotify.php:280
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr ""
-#: ../../include/enotify.php:285
+#: ../../include/enotify.php:287
msgid "[Hubzilla:Notify] Friend suggestion received"
msgstr ""
-#: ../../include/enotify.php:286
+#: ../../include/enotify.php:288
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr ""
-#: ../../include/enotify.php:287
+#: ../../include/enotify.php:289
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
msgstr ""
-#: ../../include/enotify.php:293
+#: ../../include/enotify.php:295
msgid "Name:"
msgstr ""
-#: ../../include/enotify.php:294
+#: ../../include/enotify.php:296
msgid "Photo:"
msgstr ""
-#: ../../include/enotify.php:297
+#: ../../include/enotify.php:299
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../include/enotify.php:511
+#: ../../include/enotify.php:514
msgid "[Hubzilla:Notify]"
msgstr ""
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr ""
-
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:656
-msgid "Select"
-msgstr ""
-
#: ../../include/ItemObject.php:130
msgid "Save to Folder"
msgstr ""
@@ -2120,29 +2655,6 @@ msgstr ""
msgid "I abstain"
msgstr ""
-#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1688 ../../mod/photos.php:1082
-#: ../../mod/photos.php:1094
-msgid "View all"
-msgstr ""
-
-#: ../../include/ItemObject.php:179 ../../include/identity.php:1276
-#: ../../include/taxonomy.php:403 ../../include/conversation.php:1712
-#: ../../mod/photos.php:1086
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1715
-#: ../../mod/photos.php:1091
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] ""
-msgstr[1] ""
-
#: ../../include/ItemObject.php:212
msgid "Add Star"
msgstr ""
@@ -2159,14 +2671,6 @@ msgstr ""
msgid "starred"
msgstr ""
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr ""
-
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr ""
-
#: ../../include/ItemObject.php:236
msgid "Add Tag"
msgstr ""
@@ -2175,7 +2679,7 @@ msgstr ""
msgid "I like this (toggle)"
msgstr ""
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:317
+#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:326
msgid "like"
msgstr ""
@@ -2183,7 +2687,7 @@ msgstr ""
msgid "I don't like this (toggle)"
msgstr ""
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:318
+#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:327
msgid "dislike"
msgstr ""
@@ -2195,416 +2699,117 @@ msgstr ""
msgid "share"
msgstr ""
-#: ../../include/ItemObject.php:276
+#: ../../include/ItemObject.php:277
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/ItemObject.php:301 ../../include/ItemObject.php:302
+#: ../../include/ItemObject.php:302 ../../include/ItemObject.php:303
#, php-format
msgid "View %s's profile - %s"
msgstr ""
-#: ../../include/ItemObject.php:305
+#: ../../include/ItemObject.php:306
msgid "to"
msgstr ""
-#: ../../include/ItemObject.php:306
+#: ../../include/ItemObject.php:307
msgid "via"
msgstr ""
-#: ../../include/ItemObject.php:307
+#: ../../include/ItemObject.php:308
msgid "Wall-to-Wall"
msgstr ""
-#: ../../include/ItemObject.php:308
+#: ../../include/ItemObject.php:309
msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../include/ItemObject.php:311
+#: ../../include/ItemObject.php:312
msgid "Delivery Report"
msgstr ""
-#: ../../include/ItemObject.php:320 ../../include/conversation.php:718
-#, php-format
-msgid "from %s"
-msgstr ""
-
-#: ../../include/ItemObject.php:323 ../../include/conversation.php:721
-#, php-format
-msgid "last edited: %s"
-msgstr ""
-
-#: ../../include/ItemObject.php:324 ../../include/conversation.php:722
-#, php-format
-msgid "Expires: %s"
-msgstr ""
-
-#: ../../include/ItemObject.php:347
+#: ../../include/ItemObject.php:348
msgid "Save Bookmarks"
msgstr ""
-#: ../../include/ItemObject.php:348
+#: ../../include/ItemObject.php:349
msgid "Add to Calendar"
msgstr ""
-#: ../../include/ItemObject.php:357
+#: ../../include/ItemObject.php:358
msgid "Mark all seen"
msgstr ""
-#: ../../include/ItemObject.php:363 ../../mod/photos.php:1212
+#: ../../include/ItemObject.php:364 ../../mod/photos.php:1212
msgctxt "noun"
msgid "Likes"
msgstr ""
-#: ../../include/ItemObject.php:364 ../../mod/photos.php:1213
+#: ../../include/ItemObject.php:365 ../../mod/photos.php:1213
msgctxt "noun"
msgid "Dislikes"
msgstr ""
-#: ../../include/ItemObject.php:374 ../../include/conversation.php:739
-#: ../../include/conversation.php:1218 ../../mod/photos.php:1029
-#: ../../mod/editblock.php:150 ../../mod/editpost.php:129
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190
-msgid "Please wait"
-msgstr ""
-
-#: ../../include/ItemObject.php:679 ../../mod/photos.php:1045
+#: ../../include/ItemObject.php:680 ../../mod/photos.php:1045
#: ../../mod/photos.php:1163
msgid "This is you"
msgstr ""
-#: ../../include/ItemObject.php:683 ../../include/conversation.php:1190
-#: ../../mod/editblock.php:136 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177
-msgid "Bold"
-msgstr ""
-
-#: ../../include/ItemObject.php:684 ../../include/conversation.php:1191
-#: ../../mod/editblock.php:137 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178
-msgid "Italic"
-msgstr ""
-
-#: ../../include/ItemObject.php:685 ../../include/conversation.php:1192
-#: ../../mod/editblock.php:138 ../../mod/editpost.php:115
-#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179
-msgid "Underline"
-msgstr ""
-
-#: ../../include/ItemObject.php:686 ../../include/conversation.php:1193
-#: ../../mod/editblock.php:139 ../../mod/editpost.php:116
-#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180
-msgid "Quote"
-msgstr ""
-
-#: ../../include/ItemObject.php:687 ../../include/conversation.php:1194
-#: ../../mod/editblock.php:140 ../../mod/editpost.php:117
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181
-msgid "Code"
-msgstr ""
-
-#: ../../include/ItemObject.php:688
+#: ../../include/ItemObject.php:689
msgid "Image"
msgstr ""
-#: ../../include/ItemObject.php:689
+#: ../../include/ItemObject.php:690
msgid "Insert Link"
msgstr ""
-#: ../../include/ItemObject.php:690
+#: ../../include/ItemObject.php:691
msgid "Video"
msgstr ""
-#: ../../include/ItemObject.php:694 ../../include/conversation.php:1248
-#: ../../mod/mail.php:247 ../../mod/mail.php:376 ../../mod/editpost.php:157
-msgid "Encrypt text"
-msgstr ""
-
-#: ../../include/text.php:391
-msgid "prev"
-msgstr ""
-
-#: ../../include/text.php:393
-msgid "first"
-msgstr ""
-
-#: ../../include/text.php:422
-msgid "last"
-msgstr ""
-
-#: ../../include/text.php:425
-msgid "next"
-msgstr ""
-
-#: ../../include/text.php:435
-msgid "older"
-msgstr ""
-
-#: ../../include/text.php:437
-msgid "newer"
+#: ../../include/zot.php:685
+msgid "Invalid data packet"
msgstr ""
-#: ../../include/text.php:775
-msgid "No connections"
+#: ../../include/zot.php:701
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/text.php:787
+#: ../../include/zot.php:2265
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/text.php:800 ../../mod/viewconnections.php:101
-msgid "View Connections"
-msgstr ""
-
-#: ../../include/text.php:858 ../../include/text.php:870
-#: ../../include/widgets.php:191 ../../mod/filer.php:49
-#: ../../mod/admin.php:1411 ../../mod/admin.php:1431 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98
-msgid "Save"
-msgstr ""
-
-#: ../../include/text.php:942
-msgid "poke"
-msgstr ""
-
-#: ../../include/text.php:942 ../../include/conversation.php:243
-msgid "poked"
-msgstr ""
-
-#: ../../include/text.php:943
-msgid "ping"
-msgstr ""
-
-#: ../../include/text.php:943
-msgid "pinged"
-msgstr ""
-
-#: ../../include/text.php:944
-msgid "prod"
-msgstr ""
-
-#: ../../include/text.php:944
-msgid "prodded"
-msgstr ""
-
-#: ../../include/text.php:945
-msgid "slap"
-msgstr ""
-
-#: ../../include/text.php:945
-msgid "slapped"
-msgstr ""
-
-#: ../../include/text.php:946
-msgid "finger"
-msgstr ""
-
-#: ../../include/text.php:946
-msgid "fingered"
-msgstr ""
-
-#: ../../include/text.php:947
-msgid "rebuff"
-msgstr ""
-
-#: ../../include/text.php:947
-msgid "rebuffed"
-msgstr ""
-
-#: ../../include/text.php:957
-msgid "happy"
-msgstr ""
-
-#: ../../include/text.php:958
-msgid "sad"
-msgstr ""
-
-#: ../../include/text.php:959
-msgid "mellow"
-msgstr ""
-
-#: ../../include/text.php:960
-msgid "tired"
-msgstr ""
-
-#: ../../include/text.php:961
-msgid "perky"
-msgstr ""
-
-#: ../../include/text.php:962
-msgid "angry"
-msgstr ""
-
-#: ../../include/text.php:963
-msgid "stupified"
-msgstr ""
-
-#: ../../include/text.php:964
-msgid "puzzled"
-msgstr ""
-
-#: ../../include/text.php:965
-msgid "interested"
-msgstr ""
-
-#: ../../include/text.php:966
-msgid "bitter"
-msgstr ""
-
-#: ../../include/text.php:967
-msgid "cheerful"
-msgstr ""
-
-#: ../../include/text.php:968
-msgid "alive"
-msgstr ""
-
-#: ../../include/text.php:969
-msgid "annoyed"
-msgstr ""
-
-#: ../../include/text.php:970
-msgid "anxious"
-msgstr ""
-
-#: ../../include/text.php:971
-msgid "cranky"
-msgstr ""
-
-#: ../../include/text.php:972
-msgid "disturbed"
-msgstr ""
-
-#: ../../include/text.php:973
-msgid "frustrated"
-msgstr ""
-
-#: ../../include/text.php:974
-msgid "depressed"
-msgstr ""
-
-#: ../../include/text.php:975
-msgid "motivated"
-msgstr ""
-
-#: ../../include/text.php:976
-msgid "relaxed"
-msgstr ""
-
-#: ../../include/text.php:977
-msgid "surprised"
-msgstr ""
-
-#: ../../include/text.php:1153
-msgid "May"
-msgstr ""
-
-#: ../../include/text.php:1230 ../../include/text.php:1234
-msgid "Unknown Attachment"
-msgstr ""
-
-#: ../../include/text.php:1236
-msgid "Attachment"
-msgstr ""
-
-#: ../../include/text.php:1236
-msgid "Size Unknown"
-msgstr ""
-
-#: ../../include/text.php:1272
-msgid "remove category"
-msgstr ""
-
-#: ../../include/text.php:1349
-msgid "remove from file"
-msgstr ""
-
-#: ../../include/text.php:1461 ../../include/text.php:1472
-msgid "Click to open/close"
-msgstr ""
-
-#: ../../include/text.php:1640 ../../mod/events.php:497
-msgid "Link to Source"
-msgstr ""
-
-#: ../../include/text.php:1661 ../../include/text.php:1732
-msgid "default"
-msgstr ""
-
-#: ../../include/text.php:1669
-msgid "Page layout"
-msgstr ""
-
-#: ../../include/text.php:1669
-msgid "You can create your own with the layouts tool"
-msgstr ""
-
-#: ../../include/text.php:1710
-msgid "Page content type"
-msgstr ""
-
-#: ../../include/text.php:1744
-msgid "Select an alternate language"
-msgstr ""
-
-#: ../../include/text.php:1863 ../../include/conversation.php:120
-#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:172
-msgid "photo"
-msgstr ""
-
-#: ../../include/text.php:1869 ../../include/conversation.php:148
-#: ../../mod/like.php:361 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:172
-msgid "status"
-msgstr ""
-
-#: ../../include/text.php:1871 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr ""
-
-#: ../../include/text.php:1876
-msgid "activity"
-msgstr ""
-
-#: ../../include/text.php:2171
-msgid "Design Tools"
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/text.php:2174 ../../mod/blocks.php:147
-msgid "Blocks"
+#: ../../include/zot.php:3592
+msgid "invalid target signature"
msgstr ""
-#: ../../include/text.php:2175 ../../mod/menu.php:103
-msgid "Menus"
+#: ../../include/auth.php:132
+msgid "Logged out."
msgstr ""
-#: ../../include/text.php:2176 ../../mod/layouts.php:174
-msgid "Layouts"
+#: ../../include/auth.php:273
+msgid "Failed authentication"
msgstr ""
-#: ../../include/text.php:2177
-msgid "Pages"
+#: ../../include/auth.php:287 ../../mod/openid.php:189
+msgid "Login failed."
msgstr ""
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:793
-#: ../../include/bbcode.php:796 ../../include/bbcode.php:801
-#: ../../include/bbcode.php:804 ../../include/bbcode.php:807
-#: ../../include/bbcode.php:810 ../../include/bbcode.php:815
-#: ../../include/bbcode.php:818 ../../include/bbcode.php:823
-#: ../../include/bbcode.php:826 ../../include/bbcode.php:829
-#: ../../include/bbcode.php:832
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:794
+#: ../../include/bbcode.php:797 ../../include/bbcode.php:802
+#: ../../include/bbcode.php:805 ../../include/bbcode.php:808
+#: ../../include/bbcode.php:811 ../../include/bbcode.php:816
+#: ../../include/bbcode.php:819 ../../include/bbcode.php:824
+#: ../../include/bbcode.php:827 ../../include/bbcode.php:830
+#: ../../include/bbcode.php:833
msgid "Image/photo"
msgstr ""
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:843
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:844
msgid "Encrypted content"
msgstr ""
@@ -2649,11 +2854,11 @@ msgstr ""
msgid "Different viewers will see this text differently"
msgstr ""
-#: ../../include/bbcode.php:754
+#: ../../include/bbcode.php:755
msgid "$1 spoiler"
msgstr ""
-#: ../../include/bbcode.php:781
+#: ../../include/bbcode.php:782
msgid "$1 wrote:"
msgstr ""
@@ -2774,7 +2979,7 @@ msgid_plural "%d invitations available"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:415
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439
msgid "Advanced"
msgstr ""
@@ -2794,12 +2999,12 @@ msgstr ""
msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:266
+#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381
+#: ../../mod/directory.php:386 ../../mod/connections.php:266
msgid "Find"
msgstr ""
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385
#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr ""
@@ -2817,12 +3022,12 @@ msgid "Advanced example: name=fred and country=iceland"
msgstr ""
#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98
-#: ../../include/widgets.php:306
+#: ../../include/widgets.php:307
msgid "Everything"
msgstr ""
-#: ../../include/contact_widgets.php:95 ../../include/taxonomy.php:271
-#: ../../include/widgets.php:35
+#: ../../include/contact_widgets.php:95 ../../include/widgets.php:36
+#: ../../include/taxonomy.php:280
msgid "Categories"
msgstr ""
@@ -2848,7 +3053,7 @@ msgstr ""
msgid "Add new connections to this collection (privacy group)"
msgstr ""
-#: ../../include/group.php:251 ../../mod/admin.php:788
+#: ../../include/group.php:251 ../../mod/admin.php:814
msgid "All Channels"
msgstr ""
@@ -2872,1073 +3077,908 @@ msgstr ""
msgid "Channels not in any collection"
msgstr ""
-#: ../../include/group.php:300 ../../include/widgets.php:274
+#: ../../include/group.php:300 ../../include/widgets.php:275
msgid "add"
msgstr ""
-#: ../../include/zot.php:683
-msgid "Invalid data packet"
-msgstr ""
-
-#: ../../include/zot.php:699
-msgid "Unable to verify channel signature"
+#: ../../include/widgets.php:92 ../../include/nav.php:157
+#: ../../mod/apps.php:36
+msgid "Apps"
msgstr ""
-#: ../../include/zot.php:2235
-#, php-format
-msgid "Unable to verify site signature for %s"
+#: ../../include/widgets.php:93
+msgid "System"
msgstr ""
-#: ../../include/zot.php:3555
-msgid "invalid target signature"
+#: ../../include/widgets.php:96
+msgid "Create Personal App"
msgstr ""
-#: ../../include/message.php:18
-msgid "No recipient provided."
+#: ../../include/widgets.php:97
+msgid "Edit Personal App"
msgstr ""
-#: ../../include/message.php:23
-msgid "[no subject]"
+#: ../../include/widgets.php:139 ../../mod/suggest.php:54
+msgid "Ignore/Hide"
msgstr ""
-#: ../../include/message.php:43
-msgid "Unable to determine sender."
+#: ../../include/widgets.php:144 ../../mod/connections.php:125
+msgid "Suggestions"
msgstr ""
-#: ../../include/message.php:218
-msgid "Stored post could not be verified."
+#: ../../include/widgets.php:145
+msgid "See more..."
msgstr ""
-#: ../../include/identity.php:32
-msgid "Unable to obtain identity information from database"
+#: ../../include/widgets.php:166
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
msgstr ""
-#: ../../include/identity.php:66
-msgid "Empty name"
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
msgstr ""
-#: ../../include/identity.php:69
-msgid "Name too long"
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
msgstr ""
-#: ../../include/identity.php:181
-msgid "No account identifier"
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
msgstr ""
-#: ../../include/identity.php:193
-msgid "Nickname is required."
+#: ../../include/widgets.php:190
+msgid "Notes"
msgstr ""
-#: ../../include/identity.php:207
-msgid "Reserved nickname. Please choose another."
+#: ../../include/widgets.php:192 ../../include/text.php:867
+#: ../../include/text.php:879 ../../mod/filer.php:49 ../../mod/admin.php:1442
+#: ../../mod/admin.php:1462 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100
+msgid "Save"
msgstr ""
-#: ../../include/identity.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+#: ../../include/widgets.php:266
+msgid "Remove term"
msgstr ""
-#: ../../include/identity.php:288
-msgid "Unable to retrieve created identity"
+#: ../../include/widgets.php:349
+msgid "Archives"
msgstr ""
-#: ../../include/identity.php:346
-msgid "Default Profile"
+#: ../../include/widgets.php:428 ../../mod/connedit.php:571
+msgid "Me"
msgstr ""
-#: ../../include/identity.php:769
-msgid "Requested channel is not available."
+#: ../../include/widgets.php:429 ../../mod/connedit.php:572
+msgid "Family"
msgstr ""
-#: ../../include/identity.php:815 ../../mod/achievements.php:11
-#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29
-#: ../../mod/editblock.php:29 ../../mod/profile.php:16
-#: ../../mod/webpages.php:29 ../../mod/blocks.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/connect.php:13
-msgid "Requested profile is not available."
+#: ../../include/widgets.php:431 ../../mod/connedit.php:574
+msgid "Acquaintances"
msgstr ""
-#: ../../include/identity.php:978 ../../mod/profiles.php:774
-msgid "Change profile photo"
+#: ../../include/widgets.php:432 ../../mod/connedit.php:575
+#: ../../mod/connections.php:88 ../../mod/connections.php:103
+msgid "All"
msgstr ""
-#: ../../include/identity.php:984
-msgid "Profiles"
+#: ../../include/widgets.php:451
+msgid "Refresh"
msgstr ""
-#: ../../include/identity.php:984
-msgid "Manage/edit profiles"
+#: ../../include/widgets.php:485
+msgid "Account settings"
msgstr ""
-#: ../../include/identity.php:985 ../../mod/profiles.php:775
-msgid "Create New Profile"
+#: ../../include/widgets.php:491
+msgid "Channel settings"
msgstr ""
-#: ../../include/identity.php:988 ../../include/nav.php:90
-msgid "Edit Profile"
+#: ../../include/widgets.php:497
+msgid "Additional features"
msgstr ""
-#: ../../include/identity.php:1000 ../../mod/profiles.php:786
-msgid "Profile Image"
+#: ../../include/widgets.php:503
+msgid "Feature/Addon settings"
msgstr ""
-#: ../../include/identity.php:1003
-msgid "visible to everybody"
+#: ../../include/widgets.php:509
+msgid "Display settings"
msgstr ""
-#: ../../include/identity.php:1004 ../../mod/profiles.php:669
-#: ../../mod/profiles.php:790
-msgid "Edit visibility"
+#: ../../include/widgets.php:515
+msgid "Connected apps"
msgstr ""
-#: ../../include/identity.php:1020 ../../include/identity.php:1260
-msgid "Gender:"
+#: ../../include/widgets.php:521
+msgid "Export channel"
msgstr ""
-#: ../../include/identity.php:1021 ../../include/identity.php:1304
-msgid "Status:"
+#: ../../include/widgets.php:530 ../../mod/connedit.php:683
+msgid "Connection Default Permissions"
msgstr ""
-#: ../../include/identity.php:1022 ../../include/identity.php:1315
-msgid "Homepage:"
+#: ../../include/widgets.php:538
+msgid "Premium Channel Settings"
msgstr ""
-#: ../../include/identity.php:1023
-msgid "Online Now"
+#: ../../include/widgets.php:568
+msgid "Private Mail Menu"
msgstr ""
-#: ../../include/identity.php:1107 ../../include/identity.php:1185
-#: ../../mod/ping.php:318
-msgid "g A l F d"
+#: ../../include/widgets.php:570
+msgid "Combined View"
msgstr ""
-#: ../../include/identity.php:1108 ../../include/identity.php:1186
-msgid "F d"
+#: ../../include/widgets.php:575 ../../include/nav.php:191
+msgid "Inbox"
msgstr ""
-#: ../../include/identity.php:1153 ../../include/identity.php:1225
-#: ../../mod/ping.php:341
-msgid "[today]"
+#: ../../include/widgets.php:580 ../../include/nav.php:192
+msgid "Outbox"
msgstr ""
-#: ../../include/identity.php:1164
-msgid "Birthday Reminders"
+#: ../../include/widgets.php:585 ../../include/nav.php:193
+msgid "New Message"
msgstr ""
-#: ../../include/identity.php:1165
-msgid "Birthdays this week:"
+#: ../../include/widgets.php:604 ../../include/widgets.php:616
+msgid "Conversations"
msgstr ""
-#: ../../include/identity.php:1218
-msgid "[No description]"
+#: ../../include/widgets.php:608
+msgid "Received Messages"
msgstr ""
-#: ../../include/identity.php:1236
-msgid "Event Reminders"
+#: ../../include/widgets.php:612
+msgid "Sent Messages"
msgstr ""
-#: ../../include/identity.php:1237
-msgid "Events this week:"
+#: ../../include/widgets.php:626
+msgid "No messages."
msgstr ""
-#: ../../include/identity.php:1258 ../../mod/settings.php:1026
-msgid "Full Name:"
+#: ../../include/widgets.php:644
+msgid "Delete conversation"
msgstr ""
-#: ../../include/identity.php:1265
-msgid "Like this channel"
+#: ../../include/widgets.php:670
+msgid "Events Menu"
msgstr ""
-#: ../../include/identity.php:1289
-msgid "j F, Y"
+#: ../../include/widgets.php:671
+msgid "Day View"
msgstr ""
-#: ../../include/identity.php:1290
-msgid "j F"
+#: ../../include/widgets.php:672
+msgid "Week View"
msgstr ""
-#: ../../include/identity.php:1297
-msgid "Birthday:"
+#: ../../include/widgets.php:673
+msgid "Month View"
msgstr ""
-#: ../../include/identity.php:1301 ../../mod/directory.php:297
-msgid "Age:"
+#: ../../include/widgets.php:674 ../../mod/events.php:527
+msgid "Export"
msgstr ""
-#: ../../include/identity.php:1310
-#, php-format
-msgid "for %1$d %2$s"
+#: ../../include/widgets.php:675 ../../mod/events.php:530
+msgid "Import"
msgstr ""
-#: ../../include/identity.php:1313 ../../mod/profiles.php:691
-msgid "Sexual Preference:"
+#: ../../include/widgets.php:749
+msgid "Chat Rooms"
msgstr ""
-#: ../../include/identity.php:1317 ../../mod/directory.php:313
-#: ../../mod/profiles.php:693
-msgid "Hometown:"
+#: ../../include/widgets.php:769
+msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../include/identity.php:1319
-msgid "Tags:"
+#: ../../include/widgets.php:789
+msgid "Suggested Chatrooms"
msgstr ""
-#: ../../include/identity.php:1321 ../../mod/profiles.php:694
-msgid "Political Views:"
+#: ../../include/widgets.php:916 ../../include/widgets.php:974
+msgid "photo/image"
msgstr ""
-#: ../../include/identity.php:1323
-msgid "Religion:"
+#: ../../include/widgets.php:1069 ../../include/widgets.php:1071
+msgid "Rate Me"
msgstr ""
-#: ../../include/identity.php:1325 ../../mod/directory.php:315
-msgid "About:"
+#: ../../include/widgets.php:1075
+msgid "View Ratings"
msgstr ""
-#: ../../include/identity.php:1327
-msgid "Hobbies/Interests:"
+#: ../../include/widgets.php:1086
+msgid "Public Hubs"
msgstr ""
-#: ../../include/identity.php:1329 ../../mod/profiles.php:697
-msgid "Likes:"
+#: ../../include/widgets.php:1134
+msgid "Forums"
msgstr ""
-#: ../../include/identity.php:1331 ../../mod/profiles.php:698
-msgid "Dislikes:"
+#: ../../include/widgets.php:1161
+msgid "Tasks"
msgstr ""
-#: ../../include/identity.php:1333
-msgid "Contact information and Social Networks:"
+#: ../../include/widgets.php:1170
+msgid "Documentation"
msgstr ""
-#: ../../include/identity.php:1335
-msgid "My other channels:"
+#: ../../include/widgets.php:1172
+msgid "Project/Site Information"
msgstr ""
-#: ../../include/identity.php:1337
-msgid "Musical interests:"
+#: ../../include/widgets.php:1173
+msgid "For Members"
msgstr ""
-#: ../../include/identity.php:1339
-msgid "Books, literature:"
+#: ../../include/widgets.php:1174
+msgid "For Administrators"
msgstr ""
-#: ../../include/identity.php:1341
-msgid "Television:"
+#: ../../include/widgets.php:1175
+msgid "For Developers"
msgstr ""
-#: ../../include/identity.php:1343
-msgid "Film/dance/culture/entertainment:"
+#: ../../include/widgets.php:1200 ../../mod/admin.php:434
+msgid "Site"
msgstr ""
-#: ../../include/identity.php:1345
-msgid "Love/Romance:"
+#: ../../include/widgets.php:1201
+msgid "Accounts"
msgstr ""
-#: ../../include/identity.php:1347
-msgid "Work/employment:"
+#: ../../include/widgets.php:1202 ../../mod/admin.php:965
+msgid "Channels"
msgstr ""
-#: ../../include/identity.php:1349
-msgid "School/education:"
+#: ../../include/widgets.php:1203 ../../mod/admin.php:1062
+#: ../../mod/admin.php:1102
+msgid "Plugins"
msgstr ""
-#: ../../include/identity.php:1369
-msgid "Like this thing"
+#: ../../include/widgets.php:1204 ../../mod/admin.php:1262
+#: ../../mod/admin.php:1296
+msgid "Themes"
msgstr ""
-#: ../../include/bb2diaspora.php:382
-msgid "Attachments:"
+#: ../../include/widgets.php:1205
+msgid "Inspect queue"
msgstr ""
-#: ../../include/bb2diaspora.php:470
-msgid "$Projectname event notification:"
+#: ../../include/widgets.php:1206
+msgid "Profile Config"
msgstr ""
-#: ../../include/taxonomy.php:229 ../../include/taxonomy.php:250
-msgid "Tags"
+#: ../../include/widgets.php:1207
+msgid "DB updates"
msgstr ""
-#: ../../include/taxonomy.php:294
-msgid "Keywords"
+#: ../../include/widgets.php:1225 ../../include/widgets.php:1231
+#: ../../mod/admin.php:1381
+msgid "Logs"
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "have"
+#: ../../include/widgets.php:1229 ../../include/nav.php:210
+msgid "Admin"
msgstr ""
-#: ../../include/taxonomy.php:315
-msgid "has"
+#: ../../include/widgets.php:1230
+msgid "Plugin Features"
msgstr ""
-#: ../../include/taxonomy.php:316
-msgid "want"
+#: ../../include/widgets.php:1232
+msgid "User registrations waiting for confirmation"
msgstr ""
-#: ../../include/taxonomy.php:316
-msgid "wants"
+#: ../../include/widgets.php:1311 ../../mod/photos.php:753
+#: ../../mod/photos.php:1286
+msgid "View Photo"
msgstr ""
-#: ../../include/taxonomy.php:317
-msgid "likes"
+#: ../../include/widgets.php:1327 ../../mod/photos.php:782
+msgid "Edit Album"
msgstr ""
-#: ../../include/taxonomy.php:318
-msgid "dislikes"
+#: ../../include/message.php:18
+msgid "No recipient provided."
msgstr ""
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
+#: ../../include/message.php:23
+msgid "[no subject]"
msgstr ""
-#: ../../include/conversation.php:164 ../../mod/like.php:410
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
+#: ../../include/message.php:43
+msgid "Unable to determine sender."
msgstr ""
-#: ../../include/conversation.php:167 ../../mod/like.php:412
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
+#: ../../include/message.php:218
+msgid "Stored post could not be verified."
msgstr ""
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
+#: ../../include/identity.php:32
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
+#: ../../include/identity.php:66
+msgid "Empty name"
msgstr ""
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
+#: ../../include/identity.php:69
+msgid "Name too long"
msgstr ""
-#: ../../include/conversation.php:574 ../../mod/photos.php:1063
-msgctxt "title"
-msgid "Likes"
+#: ../../include/identity.php:181
+msgid "No account identifier"
msgstr ""
-#: ../../include/conversation.php:574 ../../mod/photos.php:1063
-msgctxt "title"
-msgid "Dislikes"
+#: ../../include/identity.php:193
+msgid "Nickname is required."
msgstr ""
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Agree"
+#: ../../include/identity.php:207
+msgid "Reserved nickname. Please choose another."
msgstr ""
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Disagree"
+#: ../../include/identity.php:212
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Abstain"
+#: ../../include/identity.php:288
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Attending"
+#: ../../include/identity.php:346
+msgid "Default Profile"
msgstr ""
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Not attending"
+#: ../../include/identity.php:769
+msgid "Requested channel is not available."
msgstr ""
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Might attend"
+#: ../../include/identity.php:815 ../../mod/achievements.php:11
+#: ../../mod/filestorage.php:54 ../../mod/hcard.php:8 ../../mod/layouts.php:29
+#: ../../mod/editblock.php:29 ../../mod/profile.php:16
+#: ../../mod/webpages.php:29 ../../mod/blocks.php:29
+#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
+#: ../../mod/connect.php:13
+msgid "Requested profile is not available."
msgstr ""
-#: ../../include/conversation.php:692
-#, php-format
-msgid "View %s's profile @ %s"
+#: ../../include/identity.php:965 ../../mod/profiles.php:774
+msgid "Change profile photo"
msgstr ""
-#: ../../include/conversation.php:709
-msgid "Categories:"
+#: ../../include/identity.php:971
+msgid "Profiles"
msgstr ""
-#: ../../include/conversation.php:710
-msgid "Filed under:"
+#: ../../include/identity.php:971
+msgid "Manage/edit profiles"
msgstr ""
-#: ../../include/conversation.php:737
-msgid "View in context"
+#: ../../include/identity.php:972 ../../mod/profiles.php:775
+msgid "Create New Profile"
msgstr ""
-#: ../../include/conversation.php:850
-msgid "remove"
+#: ../../include/identity.php:975 ../../include/nav.php:90
+msgid "Edit Profile"
msgstr ""
-#: ../../include/conversation.php:854 ../../include/nav.php:241
-msgid "Loading..."
+#: ../../include/identity.php:987 ../../mod/profiles.php:786
+msgid "Profile Image"
msgstr ""
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
+#: ../../include/identity.php:990
+msgid "visible to everybody"
msgstr ""
-#: ../../include/conversation.php:943
-msgid "View Source"
+#: ../../include/identity.php:991 ../../mod/profiles.php:669
+#: ../../mod/profiles.php:790
+msgid "Edit visibility"
msgstr ""
-#: ../../include/conversation.php:944
-msgid "Follow Thread"
+#: ../../include/identity.php:1007 ../../include/identity.php:1247
+msgid "Gender:"
msgstr ""
-#: ../../include/conversation.php:945
-msgid "View Status"
+#: ../../include/identity.php:1008 ../../include/identity.php:1291
+msgid "Status:"
msgstr ""
-#: ../../include/conversation.php:946 ../../include/nav.php:86
-#: ../../mod/connedit.php:493
-msgid "View Profile"
+#: ../../include/identity.php:1009 ../../include/identity.php:1302
+msgid "Homepage:"
msgstr ""
-#: ../../include/conversation.php:947
-msgid "View Photos"
+#: ../../include/identity.php:1010
+msgid "Online Now"
msgstr ""
-#: ../../include/conversation.php:948
-msgid "Activity/Posts"
+#: ../../include/identity.php:1094 ../../include/identity.php:1172
+#: ../../mod/ping.php:318
+msgid "g A l F d"
msgstr ""
-#: ../../include/conversation.php:950
-msgid "Edit Connection"
+#: ../../include/identity.php:1095 ../../include/identity.php:1173
+msgid "F d"
msgstr ""
-#: ../../include/conversation.php:951
-msgid "Send PM"
+#: ../../include/identity.php:1140 ../../include/identity.php:1212
+#: ../../mod/ping.php:341
+msgid "[today]"
msgstr ""
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "%s likes this."
+#: ../../include/identity.php:1151
+msgid "Birthday Reminders"
msgstr ""
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "%s doesn't like this."
+#: ../../include/identity.php:1152
+msgid "Birthdays this week:"
msgstr ""
-#: ../../include/conversation.php:1070
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1072
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1078
-msgid "and"
+#: ../../include/identity.php:1205
+msgid "[No description]"
msgstr ""
-#: ../../include/conversation.php:1081
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1082
-#, php-format
-msgid "%s like this."
+#: ../../include/identity.php:1223
+msgid "Event Reminders"
msgstr ""
-#: ../../include/conversation.php:1082
-#, php-format
-msgid "%s don't like this."
+#: ../../include/identity.php:1224
+msgid "Events this week:"
msgstr ""
-#: ../../include/conversation.php:1145
-msgid "Visible to <strong>everybody</strong>"
+#: ../../include/identity.php:1245 ../../mod/settings.php:1027
+msgid "Full Name:"
msgstr ""
-#: ../../include/conversation.php:1146 ../../mod/mail.php:194
-#: ../../mod/mail.php:308
-msgid "Please enter a link URL:"
+#: ../../include/identity.php:1252
+msgid "Like this channel"
msgstr ""
-#: ../../include/conversation.php:1147
-msgid "Please enter a video link/URL:"
+#: ../../include/identity.php:1276
+msgid "j F, Y"
msgstr ""
-#: ../../include/conversation.php:1148
-msgid "Please enter an audio link/URL:"
+#: ../../include/identity.php:1277
+msgid "j F"
msgstr ""
-#: ../../include/conversation.php:1149
-msgid "Tag term:"
+#: ../../include/identity.php:1284
+msgid "Birthday:"
msgstr ""
-#: ../../include/conversation.php:1150 ../../mod/filer.php:48
-msgid "Save to Folder:"
+#: ../../include/identity.php:1288 ../../mod/directory.php:299
+msgid "Age:"
msgstr ""
-#: ../../include/conversation.php:1151
-msgid "Where are you right now?"
+#: ../../include/identity.php:1297
+#, php-format
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/conversation.php:1152 ../../mod/mail.php:195
-#: ../../mod/mail.php:309 ../../mod/editpost.php:54
-msgid "Expires YYYY-MM-DD HH:MM"
+#: ../../include/identity.php:1300 ../../mod/profiles.php:691
+msgid "Sexual Preference:"
msgstr ""
-#: ../../include/conversation.php:1183 ../../mod/layouts.php:184
-#: ../../mod/photos.php:1028 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154
-msgid "Share"
+#: ../../include/identity.php:1304 ../../mod/directory.php:315
+#: ../../mod/profiles.php:693
+msgid "Hometown:"
msgstr ""
-#: ../../include/conversation.php:1185
-msgid "Page link name"
+#: ../../include/identity.php:1306
+msgid "Tags:"
msgstr ""
-#: ../../include/conversation.php:1188
-msgid "Post as"
+#: ../../include/identity.php:1308 ../../mod/profiles.php:694
+msgid "Political Views:"
msgstr ""
-#: ../../include/conversation.php:1195 ../../mod/editblock.php:142
-#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140
-#: ../../mod/editwebpage.php:182
-msgid "Upload photo"
+#: ../../include/identity.php:1310
+msgid "Religion:"
msgstr ""
-#: ../../include/conversation.php:1196
-msgid "upload photo"
+#: ../../include/identity.php:1312 ../../mod/directory.php:317
+msgid "About:"
msgstr ""
-#: ../../include/conversation.php:1197 ../../mod/mail.php:240
-#: ../../mod/mail.php:369 ../../mod/editblock.php:143
-#: ../../mod/editpost.php:119 ../../mod/editlayout.php:141
-#: ../../mod/editwebpage.php:183
-msgid "Attach file"
+#: ../../include/identity.php:1314
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/conversation.php:1198
-msgid "attach file"
+#: ../../include/identity.php:1316 ../../mod/profiles.php:697
+msgid "Likes:"
msgstr ""
-#: ../../include/conversation.php:1199 ../../mod/mail.php:241
-#: ../../mod/mail.php:370 ../../mod/editblock.php:144
-#: ../../mod/editpost.php:120 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:184
-msgid "Insert web link"
+#: ../../include/identity.php:1318 ../../mod/profiles.php:698
+msgid "Dislikes:"
msgstr ""
-#: ../../include/conversation.php:1200
-msgid "web link"
+#: ../../include/identity.php:1320
+msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/conversation.php:1201
-msgid "Insert video link"
+#: ../../include/identity.php:1322
+msgid "My other channels:"
msgstr ""
-#: ../../include/conversation.php:1202
-msgid "video link"
+#: ../../include/identity.php:1324
+msgid "Musical interests:"
msgstr ""
-#: ../../include/conversation.php:1203
-msgid "Insert audio link"
+#: ../../include/identity.php:1326
+msgid "Books, literature:"
msgstr ""
-#: ../../include/conversation.php:1204
-msgid "audio link"
+#: ../../include/identity.php:1328
+msgid "Television:"
msgstr ""
-#: ../../include/conversation.php:1205 ../../mod/editblock.php:148
-#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146
-#: ../../mod/editwebpage.php:188
-msgid "Set your location"
+#: ../../include/identity.php:1330
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/conversation.php:1206
-msgid "set location"
+#: ../../include/identity.php:1332
+msgid "Love/Romance:"
msgstr ""
-#: ../../include/conversation.php:1207 ../../mod/editpost.php:126
-msgid "Toggle voting"
+#: ../../include/identity.php:1334
+msgid "Work/employment:"
msgstr ""
-#: ../../include/conversation.php:1210 ../../mod/editblock.php:149
-#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:189
-msgid "Clear browser location"
+#: ../../include/identity.php:1336
+msgid "School/education:"
msgstr ""
-#: ../../include/conversation.php:1211
-msgid "clear location"
+#: ../../include/identity.php:1356
+msgid "Like this thing"
msgstr ""
-#: ../../include/conversation.php:1213 ../../mod/editblock.php:162
-#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
-msgid "Title (optional)"
+#: ../../include/taxonomy.php:238 ../../include/taxonomy.php:259
+msgid "Tags"
msgstr ""
-#: ../../include/conversation.php:1217 ../../mod/editblock.php:165
-#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163
-#: ../../mod/editwebpage.php:207
-msgid "Categories (optional, comma-separated list)"
+#: ../../include/taxonomy.php:303
+msgid "Keywords"
msgstr ""
-#: ../../include/conversation.php:1219 ../../mod/editblock.php:151
-#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149
-#: ../../mod/editwebpage.php:191
-msgid "Permission settings"
+#: ../../include/taxonomy.php:324
+msgid "have"
msgstr ""
-#: ../../include/conversation.php:1220
-msgid "permissions"
+#: ../../include/taxonomy.php:324
+msgid "has"
msgstr ""
-#: ../../include/conversation.php:1228 ../../mod/editblock.php:159
-#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156
-#: ../../mod/editwebpage.php:200
-msgid "Public post"
+#: ../../include/taxonomy.php:325
+msgid "want"
msgstr ""
-#: ../../include/conversation.php:1230 ../../mod/editblock.php:166
-#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164
-#: ../../mod/editwebpage.php:208
-msgid "Example: bob@example.com, mary@example.com"
+#: ../../include/taxonomy.php:325
+msgid "wants"
msgstr ""
-#: ../../include/conversation.php:1243 ../../mod/mail.php:245
-#: ../../mod/mail.php:374 ../../mod/editblock.php:176
-#: ../../mod/editpost.php:155 ../../mod/editlayout.php:173
-#: ../../mod/editwebpage.php:217
-msgid "Set expiration date"
+#: ../../include/taxonomy.php:326
+msgid "likes"
msgstr ""
-#: ../../include/conversation.php:1246
-msgid "Set publish date"
+#: ../../include/taxonomy.php:327
+msgid "dislikes"
msgstr ""
-#: ../../include/conversation.php:1250 ../../mod/editpost.php:159
-#: ../../mod/events.php:691
-msgid "OK"
+#: ../../include/attach.php:246 ../../include/attach.php:332
+msgid "Item was not found."
msgstr ""
-#: ../../include/conversation.php:1251 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
-#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-#: ../../mod/settings.php:584 ../../mod/settings.php:610
-msgid "Cancel"
+#: ../../include/attach.php:496
+msgid "No source file."
msgstr ""
-#: ../../include/conversation.php:1494
-msgid "Discover"
+#: ../../include/attach.php:514
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/conversation.php:1497
-msgid "Imported public streams"
+#: ../../include/attach.php:532
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/conversation.php:1502
-msgid "Commented Order"
+#: ../../include/attach.php:667
+#, php-format
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/conversation.php:1505
-msgid "Sort by Comment Date"
+#: ../../include/attach.php:681
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/conversation.php:1509
-msgid "Posted Order"
+#: ../../include/attach.php:837
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/conversation.php:1512
-msgid "Sort by Post Date"
+#: ../../include/attach.php:850
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/conversation.php:1517 ../../include/widgets.php:94
-msgid "Personal"
+#: ../../include/attach.php:898 ../../include/attach.php:914
+msgid "Path not available."
msgstr ""
-#: ../../include/conversation.php:1520
-msgid "Posts that mention or involve you"
+#: ../../include/attach.php:960 ../../include/attach.php:1112
+msgid "Empty pathname"
msgstr ""
-#: ../../include/conversation.php:1526 ../../mod/menu.php:112
-#: ../../mod/connections.php:72 ../../mod/connections.php:82
-msgid "New"
+#: ../../include/attach.php:986
+msgid "duplicate filename or path"
msgstr ""
-#: ../../include/conversation.php:1529
-msgid "Activity Stream - by date"
+#: ../../include/attach.php:1008
+msgid "Path not found."
msgstr ""
-#: ../../include/conversation.php:1535
-msgid "Starred"
+#: ../../include/attach.php:1066
+msgid "mkdir failed."
msgstr ""
-#: ../../include/conversation.php:1538
-msgid "Favourite Posts"
+#: ../../include/attach.php:1070
+msgid "database storage failed."
msgstr ""
-#: ../../include/conversation.php:1545
-msgid "Spam"
+#: ../../include/attach.php:1118
+msgid "Empty path"
msgstr ""
-#: ../../include/conversation.php:1548
-msgid "Posts flagged as SPAM"
+#: ../../include/bb2diaspora.php:382
+msgid "Attachments:"
msgstr ""
-#: ../../include/conversation.php:1592 ../../mod/admin.php:947
-msgid "Channel"
+#: ../../include/bb2diaspora.php:473
+msgid "$Projectname event notification:"
msgstr ""
-#: ../../include/conversation.php:1595
-msgid "Status Messages and Posts"
+#: ../../include/text.php:393
+msgid "prev"
msgstr ""
-#: ../../include/conversation.php:1604
-msgid "About"
+#: ../../include/text.php:395
+msgid "first"
msgstr ""
-#: ../../include/conversation.php:1607
-msgid "Profile Details"
+#: ../../include/text.php:424
+msgid "last"
msgstr ""
-#: ../../include/conversation.php:1623
-msgid "Files and Storage"
+#: ../../include/text.php:427
+msgid "next"
msgstr ""
-#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
-msgid "Chatrooms"
+#: ../../include/text.php:437
+msgid "older"
msgstr ""
-#: ../../include/conversation.php:1649
-msgid "Saved Bookmarks"
+#: ../../include/text.php:439
+msgid "newer"
msgstr ""
-#: ../../include/conversation.php:1659
-msgid "Manage Webpages"
+#: ../../include/text.php:784
+msgid "No connections"
msgstr ""
-#: ../../include/conversation.php:1718
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1721
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1724
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1727
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1730
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/conversation.php:1733
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
+#: ../../include/text.php:796
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/widgets.php:91 ../../include/nav.php:157
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr ""
-
-#: ../../include/widgets.php:92
-msgid "System"
-msgstr ""
-
-#: ../../include/widgets.php:95
-msgid "Create Personal App"
-msgstr ""
-
-#: ../../include/widgets.php:96
-msgid "Edit Personal App"
-msgstr ""
-
-#: ../../include/widgets.php:138 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr ""
-
-#: ../../include/widgets.php:143 ../../mod/connections.php:125
-msgid "Suggestions"
-msgstr ""
-
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr ""
-
-#: ../../include/widgets.php:165
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr ""
-
-#: ../../include/widgets.php:171
-msgid "Add New Connection"
-msgstr ""
-
-#: ../../include/widgets.php:172
-msgid "Enter the channel address"
-msgstr ""
-
-#: ../../include/widgets.php:173
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr ""
-
-#: ../../include/widgets.php:189
-msgid "Notes"
-msgstr ""
-
-#: ../../include/widgets.php:265
-msgid "Remove term"
-msgstr ""
-
-#: ../../include/widgets.php:348
-msgid "Archives"
-msgstr ""
-
-#: ../../include/widgets.php:427 ../../mod/connedit.php:566
-msgid "Me"
+#: ../../include/text.php:809 ../../mod/viewconnections.php:101
+msgid "View Connections"
msgstr ""
-#: ../../include/widgets.php:428 ../../mod/connedit.php:567
-msgid "Family"
+#: ../../include/text.php:953
+msgid "poke"
msgstr ""
-#: ../../include/widgets.php:430 ../../mod/connedit.php:569
-msgid "Acquaintances"
+#: ../../include/text.php:954
+msgid "ping"
msgstr ""
-#: ../../include/widgets.php:431 ../../mod/connedit.php:570
-#: ../../mod/connections.php:88 ../../mod/connections.php:103
-msgid "All"
+#: ../../include/text.php:954
+msgid "pinged"
msgstr ""
-#: ../../include/widgets.php:450
-msgid "Refresh"
+#: ../../include/text.php:955
+msgid "prod"
msgstr ""
-#: ../../include/widgets.php:484
-msgid "Account settings"
+#: ../../include/text.php:955
+msgid "prodded"
msgstr ""
-#: ../../include/widgets.php:490
-msgid "Channel settings"
+#: ../../include/text.php:956
+msgid "slap"
msgstr ""
-#: ../../include/widgets.php:496
-msgid "Additional features"
+#: ../../include/text.php:956
+msgid "slapped"
msgstr ""
-#: ../../include/widgets.php:502
-msgid "Feature/Addon settings"
+#: ../../include/text.php:957
+msgid "finger"
msgstr ""
-#: ../../include/widgets.php:508
-msgid "Display settings"
+#: ../../include/text.php:957
+msgid "fingered"
msgstr ""
-#: ../../include/widgets.php:514
-msgid "Connected apps"
+#: ../../include/text.php:958
+msgid "rebuff"
msgstr ""
-#: ../../include/widgets.php:520
-msgid "Export channel"
+#: ../../include/text.php:958
+msgid "rebuffed"
msgstr ""
-#: ../../include/widgets.php:529 ../../mod/connedit.php:673
-msgid "Connection Default Permissions"
+#: ../../include/text.php:968
+msgid "happy"
msgstr ""
-#: ../../include/widgets.php:537
-msgid "Premium Channel Settings"
+#: ../../include/text.php:969
+msgid "sad"
msgstr ""
-#: ../../include/widgets.php:567
-msgid "Private Mail Menu"
+#: ../../include/text.php:970
+msgid "mellow"
msgstr ""
-#: ../../include/widgets.php:569
-msgid "Combined View"
+#: ../../include/text.php:971
+msgid "tired"
msgstr ""
-#: ../../include/widgets.php:574 ../../include/nav.php:191
-msgid "Inbox"
+#: ../../include/text.php:972
+msgid "perky"
msgstr ""
-#: ../../include/widgets.php:579 ../../include/nav.php:192
-msgid "Outbox"
+#: ../../include/text.php:973
+msgid "angry"
msgstr ""
-#: ../../include/widgets.php:584 ../../include/nav.php:193
-msgid "New Message"
+#: ../../include/text.php:974
+msgid "stupified"
msgstr ""
-#: ../../include/widgets.php:603 ../../include/widgets.php:615
-msgid "Conversations"
+#: ../../include/text.php:975
+msgid "puzzled"
msgstr ""
-#: ../../include/widgets.php:607
-msgid "Received Messages"
+#: ../../include/text.php:976
+msgid "interested"
msgstr ""
-#: ../../include/widgets.php:611
-msgid "Sent Messages"
+#: ../../include/text.php:977
+msgid "bitter"
msgstr ""
-#: ../../include/widgets.php:625
-msgid "No messages."
+#: ../../include/text.php:978
+msgid "cheerful"
msgstr ""
-#: ../../include/widgets.php:643
-msgid "Delete conversation"
+#: ../../include/text.php:979
+msgid "alive"
msgstr ""
-#: ../../include/widgets.php:645
-msgid "D, d M Y - g:i A"
+#: ../../include/text.php:980
+msgid "annoyed"
msgstr ""
-#: ../../include/widgets.php:734
-msgid "Chat Rooms"
+#: ../../include/text.php:981
+msgid "anxious"
msgstr ""
-#: ../../include/widgets.php:754
-msgid "Bookmarked Chatrooms"
+#: ../../include/text.php:982
+msgid "cranky"
msgstr ""
-#: ../../include/widgets.php:774
-msgid "Suggested Chatrooms"
+#: ../../include/text.php:983
+msgid "disturbed"
msgstr ""
-#: ../../include/widgets.php:901 ../../include/widgets.php:959
-msgid "photo/image"
+#: ../../include/text.php:984
+msgid "frustrated"
msgstr ""
-#: ../../include/widgets.php:1054 ../../include/widgets.php:1056
-msgid "Rate Me"
+#: ../../include/text.php:985
+msgid "depressed"
msgstr ""
-#: ../../include/widgets.php:1060
-msgid "View Ratings"
+#: ../../include/text.php:986
+msgid "motivated"
msgstr ""
-#: ../../include/widgets.php:1071
-msgid "Public Hubs"
+#: ../../include/text.php:987
+msgid "relaxed"
msgstr ""
-#: ../../include/widgets.php:1119
-msgid "Forums"
+#: ../../include/text.php:988
+msgid "surprised"
msgstr ""
-#: ../../include/widgets.php:1146
-msgid "Tasks"
+#: ../../include/text.php:1164
+msgid "May"
msgstr ""
-#: ../../include/widgets.php:1155
-msgid "Documentation"
+#: ../../include/text.php:1241 ../../include/text.php:1245
+msgid "Unknown Attachment"
msgstr ""
-#: ../../include/widgets.php:1157
-msgid "Project/Site Information"
+#: ../../include/text.php:1247
+msgid "unknown"
msgstr ""
-#: ../../include/widgets.php:1158
-msgid "For Members"
+#: ../../include/text.php:1283
+msgid "remove category"
msgstr ""
-#: ../../include/widgets.php:1159
-msgid "For Administrators"
+#: ../../include/text.php:1360
+msgid "remove from file"
msgstr ""
-#: ../../include/widgets.php:1160
-msgid "For Developers"
+#: ../../include/text.php:1472 ../../include/text.php:1483
+msgid "Click to open/close"
msgstr ""
-#: ../../include/widgets.php:1185 ../../mod/admin.php:410
-msgid "Site"
+#: ../../include/text.php:1656 ../../mod/events.php:495
+msgid "Link to Source"
msgstr ""
-#: ../../include/widgets.php:1186
-msgid "Accounts"
+#: ../../include/text.php:1677 ../../include/text.php:1749
+msgid "default"
msgstr ""
-#: ../../include/widgets.php:1187 ../../mod/admin.php:939
-msgid "Channels"
+#: ../../include/text.php:1685
+msgid "Page layout"
msgstr ""
-#: ../../include/widgets.php:1188 ../../mod/admin.php:1031
-#: ../../mod/admin.php:1071
-msgid "Plugins"
+#: ../../include/text.php:1685
+msgid "You can create your own with the layouts tool"
msgstr ""
-#: ../../include/widgets.php:1189 ../../mod/admin.php:1231
-#: ../../mod/admin.php:1265
-msgid "Themes"
+#: ../../include/text.php:1727
+msgid "Page content type"
msgstr ""
-#: ../../include/widgets.php:1190
-msgid "Inspect queue"
+#: ../../include/text.php:1761
+msgid "Select an alternate language"
msgstr ""
-#: ../../include/widgets.php:1191
-msgid "Profile Config"
+#: ../../include/text.php:1893
+msgid "activity"
msgstr ""
-#: ../../include/widgets.php:1192
-msgid "DB updates"
+#: ../../include/text.php:2188
+msgid "Design Tools"
msgstr ""
-#: ../../include/widgets.php:1210 ../../include/widgets.php:1216
-#: ../../mod/admin.php:1350
-msgid "Logs"
+#: ../../include/text.php:2191 ../../mod/blocks.php:147
+msgid "Blocks"
msgstr ""
-#: ../../include/widgets.php:1214 ../../include/nav.php:210
-msgid "Admin"
+#: ../../include/text.php:2192 ../../mod/menu.php:103
+msgid "Menus"
msgstr ""
-#: ../../include/widgets.php:1215
-msgid "Plugin Features"
+#: ../../include/text.php:2193 ../../mod/layouts.php:174
+msgid "Layouts"
msgstr ""
-#: ../../include/widgets.php:1217
-msgid "User registrations waiting for confirmation"
+#: ../../include/text.php:2194
+msgid "Pages"
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1502
+#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485
msgid "Logout"
msgstr ""
@@ -4011,7 +4051,7 @@ msgstr ""
msgid "Home Page"
msgstr ""
-#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1479
+#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462
msgid "Register"
msgstr ""
@@ -4115,44 +4155,44 @@ msgstr ""
msgid "Please wait..."
msgstr ""
-#: ../../include/dir_fns.php:126
+#: ../../include/dir_fns.php:139
msgid "Directory Options"
msgstr ""
-#: ../../include/dir_fns.php:128
+#: ../../include/dir_fns.php:141
msgid "Safe Mode"
msgstr ""
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60
+#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
+#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60
#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228
-#: ../../mod/mitem.php:229 ../../mod/connedit.php:630
-#: ../../mod/connedit.php:674 ../../mod/filestorage.php:151
+#: ../../mod/mitem.php:229 ../../mod/connedit.php:635
+#: ../../mod/connedit.php:684 ../../mod/filestorage.php:151
#: ../../mod/filestorage.php:159 ../../mod/photos.php:626
-#: ../../mod/admin.php:386 ../../mod/menu.php:96 ../../mod/menu.php:153
-#: ../../mod/settings.php:574 ../../mod/api.php:106
+#: ../../mod/admin.php:410 ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../mod/settings.php:575 ../../mod/api.php:106
#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1507
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490
msgid "No"
msgstr ""
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60
+#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
+#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60
#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228
#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151
#: ../../mod/filestorage.php:159 ../../mod/photos.php:626
-#: ../../mod/admin.php:388 ../../mod/menu.php:96 ../../mod/menu.php:153
-#: ../../mod/settings.php:574 ../../mod/api.php:105
+#: ../../mod/admin.php:412 ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../mod/settings.php:575 ../../mod/api.php:105
#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1507
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490
msgid "Yes"
msgstr ""
-#: ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:142
msgid "Public Forums Only"
msgstr ""
-#: ../../include/dir_fns.php:130
+#: ../../include/dir_fns.php:143
msgid "This Website Only"
msgstr ""
@@ -4183,86 +4223,86 @@ msgstr ""
msgid "Public access denied."
msgstr ""
-#: ../../mod/directory.php:234
+#: ../../mod/directory.php:236
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/directory.php:245
+#: ../../mod/directory.php:247
msgid "Gender: "
msgstr ""
-#: ../../mod/directory.php:247
+#: ../../mod/directory.php:249
msgid "Status: "
msgstr ""
-#: ../../mod/directory.php:249
+#: ../../mod/directory.php:251
msgid "Homepage: "
msgstr ""
-#: ../../mod/directory.php:308 ../../mod/events.php:699
+#: ../../mod/directory.php:310 ../../mod/events.php:699
msgid "Description:"
msgstr ""
-#: ../../mod/directory.php:317
+#: ../../mod/directory.php:319
msgid "Public Forum:"
msgstr ""
-#: ../../mod/directory.php:320
+#: ../../mod/directory.php:322
msgid "Keywords: "
msgstr ""
-#: ../../mod/directory.php:323
+#: ../../mod/directory.php:325
msgid "Don't suggest"
msgstr ""
-#: ../../mod/directory.php:325
+#: ../../mod/directory.php:327
msgid "Common connections:"
msgstr ""
-#: ../../mod/directory.php:374
+#: ../../mod/directory.php:376
msgid "Global Directory"
msgstr ""
-#: ../../mod/directory.php:374
+#: ../../mod/directory.php:376
msgid "Local Directory"
msgstr ""
-#: ../../mod/directory.php:380
+#: ../../mod/directory.php:382
msgid "Finding:"
msgstr ""
-#: ../../mod/directory.php:385
+#: ../../mod/directory.php:387
msgid "next page"
msgstr ""
-#: ../../mod/directory.php:385
+#: ../../mod/directory.php:387
msgid "previous page"
msgstr ""
-#: ../../mod/directory.php:386
+#: ../../mod/directory.php:388
msgid "Sort options"
msgstr ""
-#: ../../mod/directory.php:387
+#: ../../mod/directory.php:389
msgid "Alphabetic"
msgstr ""
-#: ../../mod/directory.php:388
+#: ../../mod/directory.php:390
msgid "Reverse Alphabetic"
msgstr ""
-#: ../../mod/directory.php:389
+#: ../../mod/directory.php:391
msgid "Newest to Oldest"
msgstr ""
-#: ../../mod/directory.php:390
+#: ../../mod/directory.php:392
msgid "Oldest to Newest"
msgstr ""
-#: ../../mod/directory.php:407
+#: ../../mod/directory.php:409
msgid "No entries (some entries may be hidden)."
msgstr ""
@@ -4583,7 +4623,7 @@ msgid ""
"removed from the network"
msgstr ""
-#: ../../mod/removeme.php:61 ../../mod/settings.php:1109
+#: ../../mod/removeme.php:61 ../../mod/settings.php:1110
msgid "Remove Channel"
msgstr ""
@@ -4615,7 +4655,7 @@ msgstr ""
msgid "Menu Item Permissions"
msgstr ""
-#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1053
+#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1054
msgid "(click to open/close)"
msgstr ""
@@ -4723,256 +4763,256 @@ msgstr ""
msgid "Could not locate selected profile."
msgstr ""
-#: ../../mod/connedit.php:218
+#: ../../mod/connedit.php:223
msgid "Connection updated."
msgstr ""
-#: ../../mod/connedit.php:220
+#: ../../mod/connedit.php:225
msgid "Failed to update connection record."
msgstr ""
-#: ../../mod/connedit.php:267
+#: ../../mod/connedit.php:272
msgid "is now connected to"
msgstr ""
-#: ../../mod/connedit.php:390
+#: ../../mod/connedit.php:395
msgid "Could not access address book record."
msgstr ""
-#: ../../mod/connedit.php:404
+#: ../../mod/connedit.php:409
msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../mod/connedit.php:413 ../../mod/connedit.php:422
-#: ../../mod/connedit.php:431 ../../mod/connedit.php:440
-#: ../../mod/connedit.php:453
+#: ../../mod/connedit.php:418 ../../mod/connedit.php:427
+#: ../../mod/connedit.php:436 ../../mod/connedit.php:445
+#: ../../mod/connedit.php:458
msgid "Unable to set address book parameters."
msgstr ""
-#: ../../mod/connedit.php:477
+#: ../../mod/connedit.php:482
msgid "Connection has been removed."
msgstr ""
-#: ../../mod/connedit.php:496
+#: ../../mod/connedit.php:501
#, php-format
msgid "View %s's profile"
msgstr ""
-#: ../../mod/connedit.php:500
+#: ../../mod/connedit.php:505
msgid "Refresh Permissions"
msgstr ""
-#: ../../mod/connedit.php:503
+#: ../../mod/connedit.php:508
msgid "Fetch updated permissions"
msgstr ""
-#: ../../mod/connedit.php:507
+#: ../../mod/connedit.php:512
msgid "Recent Activity"
msgstr ""
-#: ../../mod/connedit.php:510
+#: ../../mod/connedit.php:515
msgid "View recent posts and comments"
msgstr ""
-#: ../../mod/connedit.php:514 ../../mod/admin.php:785
+#: ../../mod/connedit.php:519 ../../mod/admin.php:811
msgid "Unblock"
msgstr ""
-#: ../../mod/connedit.php:514 ../../mod/admin.php:784
+#: ../../mod/connedit.php:519 ../../mod/admin.php:810
msgid "Block"
msgstr ""
-#: ../../mod/connedit.php:517
+#: ../../mod/connedit.php:522
msgid "Block (or Unblock) all communications with this connection"
msgstr ""
-#: ../../mod/connedit.php:518
+#: ../../mod/connedit.php:523
msgid "This connection is blocked!"
msgstr ""
-#: ../../mod/connedit.php:522
+#: ../../mod/connedit.php:527
msgid "Unignore"
msgstr ""
-#: ../../mod/connedit.php:522 ../../mod/notifications.php:51
+#: ../../mod/connedit.php:527 ../../mod/notifications.php:51
msgid "Ignore"
msgstr ""
-#: ../../mod/connedit.php:525
+#: ../../mod/connedit.php:530
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr ""
-#: ../../mod/connedit.php:526
+#: ../../mod/connedit.php:531
msgid "This connection is ignored!"
msgstr ""
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:535
msgid "Unarchive"
msgstr ""
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:535
msgid "Archive"
msgstr ""
-#: ../../mod/connedit.php:533
+#: ../../mod/connedit.php:538
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr ""
-#: ../../mod/connedit.php:534
+#: ../../mod/connedit.php:539
msgid "This connection is archived!"
msgstr ""
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:543
msgid "Unhide"
msgstr ""
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:543
msgid "Hide"
msgstr ""
-#: ../../mod/connedit.php:541
+#: ../../mod/connedit.php:546
msgid "Hide or Unhide this connection from your other connections"
msgstr ""
-#: ../../mod/connedit.php:542
+#: ../../mod/connedit.php:547
msgid "This connection is hidden!"
msgstr ""
-#: ../../mod/connedit.php:549
+#: ../../mod/connedit.php:554
msgid "Delete this connection"
msgstr ""
-#: ../../mod/connedit.php:630
+#: ../../mod/connedit.php:635
msgid "Approve this connection"
msgstr ""
-#: ../../mod/connedit.php:630
+#: ../../mod/connedit.php:635
msgid "Accept connection to allow communication"
msgstr ""
-#: ../../mod/connedit.php:635
+#: ../../mod/connedit.php:640
msgid "Set Affinity"
msgstr ""
-#: ../../mod/connedit.php:638
+#: ../../mod/connedit.php:643
msgid "Set Profile"
msgstr ""
-#: ../../mod/connedit.php:641
+#: ../../mod/connedit.php:646
msgid "Set Affinity & Profile"
msgstr ""
-#: ../../mod/connedit.php:669
+#: ../../mod/connedit.php:679
msgid "none"
msgstr ""
-#: ../../mod/connedit.php:674
+#: ../../mod/connedit.php:684
msgid "Apply these permissions automatically"
msgstr ""
-#: ../../mod/connedit.php:676
+#: ../../mod/connedit.php:686
msgid "This connection's primary address is"
msgstr ""
-#: ../../mod/connedit.php:677
+#: ../../mod/connedit.php:687
msgid "Available locations:"
msgstr ""
-#: ../../mod/connedit.php:681
+#: ../../mod/connedit.php:691
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr ""
-#: ../../mod/connedit.php:683
+#: ../../mod/connedit.php:693
msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../mod/connedit.php:685
+#: ../../mod/connedit.php:695
msgid "Slide to adjust your rating"
msgstr ""
-#: ../../mod/connedit.php:686 ../../mod/connedit.php:691
+#: ../../mod/connedit.php:696 ../../mod/connedit.php:701
msgid "Optionally explain your rating"
msgstr ""
-#: ../../mod/connedit.php:688
+#: ../../mod/connedit.php:698
msgid "Custom Filter"
msgstr ""
-#: ../../mod/connedit.php:689
+#: ../../mod/connedit.php:699
msgid "Only import posts with this text"
msgstr ""
-#: ../../mod/connedit.php:689 ../../mod/connedit.php:690
+#: ../../mod/connedit.php:699 ../../mod/connedit.php:700
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr ""
-#: ../../mod/connedit.php:690
+#: ../../mod/connedit.php:700
msgid "Do not import posts with this text"
msgstr ""
-#: ../../mod/connedit.php:692
+#: ../../mod/connedit.php:702
msgid "This information is public!"
msgstr ""
-#: ../../mod/connedit.php:697
+#: ../../mod/connedit.php:707
msgid "Connection Pending Approval"
msgstr ""
-#: ../../mod/connedit.php:698
+#: ../../mod/connedit.php:708
msgid "Connection Request"
msgstr ""
-#: ../../mod/connedit.php:699
+#: ../../mod/connedit.php:709
#, php-format
msgid ""
"(%s) would like to connect with you. Please approve this connection to allow "
"communication."
msgstr ""
-#: ../../mod/connedit.php:700 ../../mod/admin.php:781
+#: ../../mod/connedit.php:710 ../../mod/admin.php:807
msgid "Approve"
msgstr ""
-#: ../../mod/connedit.php:701
+#: ../../mod/connedit.php:711
msgid "Approve Later"
msgstr ""
-#: ../../mod/connedit.php:704
+#: ../../mod/connedit.php:714
msgid "inherited"
msgstr ""
-#: ../../mod/connedit.php:706
+#: ../../mod/connedit.php:716
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr ""
-#: ../../mod/connedit.php:708
+#: ../../mod/connedit.php:718
msgid "Their Settings"
msgstr ""
-#: ../../mod/connedit.php:709
+#: ../../mod/connedit.php:719
msgid "My Settings"
msgstr ""
-#: ../../mod/connedit.php:711
+#: ../../mod/connedit.php:721
msgid "Individual Permissions"
msgstr ""
-#: ../../mod/connedit.php:712
+#: ../../mod/connedit.php:722
msgid ""
"Some permissions may be inherited from your channel's <a href=\"settings"
"\"><strong>privacy settings</strong></a>, which have higher priority than "
"individual settings. You can <strong>not</strong> change those settings here."
msgstr ""
-#: ../../mod/connedit.php:713
+#: ../../mod/connedit.php:723
msgid ""
"Some permissions may be inherited from your channel's <a href=\"settings"
"\"><strong>privacy settings</strong></a>, which have higher priority than "
@@ -4980,7 +5020,7 @@ msgid ""
"any impact unless the inherited setting changes."
msgstr ""
-#: ../../mod/connedit.php:714
+#: ../../mod/connedit.php:724
msgid "Last update:"
msgstr ""
@@ -5169,12 +5209,12 @@ msgstr ""
msgid "%1$s's Chatrooms"
msgstr ""
-#: ../../mod/search.php:211
+#: ../../mod/search.php:212
#, php-format
msgid "Items tagged with: %s"
msgstr ""
-#: ../../mod/search.php:213
+#: ../../mod/search.php:214
#, php-format
msgid "Search results for: %s"
msgstr ""
@@ -5196,93 +5236,6 @@ msgstr ""
msgid "Optionally explain your rating (this information is public)"
msgstr ""
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr ""
-
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr ""
-
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr ""
-
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr ""
-
-#: ../../mod/mail.php:132
-msgid "Messages"
-msgstr ""
-
-#: ../../mod/mail.php:167
-msgid "Message recalled."
-msgstr ""
-
-#: ../../mod/mail.php:180
-msgid "Conversation removed."
-msgstr ""
-
-#: ../../mod/mail.php:223
-msgid "Requested channel is not in this network"
-msgstr ""
-
-#: ../../mod/mail.php:231
-msgid "Send Private Message"
-msgstr ""
-
-#: ../../mod/mail.php:232 ../../mod/mail.php:361
-msgid "To:"
-msgstr ""
-
-#: ../../mod/mail.php:235 ../../mod/mail.php:363
-msgid "Subject:"
-msgstr ""
-
-#: ../../mod/mail.php:238 ../../mod/invite.php:131
-msgid "Your message:"
-msgstr ""
-
-#: ../../mod/mail.php:242
-msgid "Send"
-msgstr ""
-
-#: ../../mod/mail.php:333
-msgid "Delete message"
-msgstr ""
-
-#: ../../mod/mail.php:334
-msgid "Delivery report"
-msgstr ""
-
-#: ../../mod/mail.php:335
-msgid "Recall message"
-msgstr ""
-
-#: ../../mod/mail.php:337
-msgid "Message has been recalled."
-msgstr ""
-
-#: ../../mod/mail.php:354
-msgid "Delete Conversation"
-msgstr ""
-
-#: ../../mod/mail.php:356
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr ""
-
-#: ../../mod/mail.php:360
-msgid "Send Reply"
-msgstr ""
-
-#: ../../mod/mail.php:365
-#, php-format
-msgid "Your message for %s (%s):"
-msgstr ""
-
#: ../../mod/photos.php:79
msgid "Page owner information could not be retrieved."
msgstr ""
@@ -5358,14 +5311,6 @@ msgstr ""
msgid "Show Oldest First"
msgstr ""
-#: ../../mod/photos.php:753 ../../mod/photos.php:1286
-msgid "View Photo"
-msgstr ""
-
-#: ../../mod/photos.php:782
-msgid "Edit Album"
-msgstr ""
-
#: ../../mod/photos.php:827
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
@@ -5382,7 +5327,7 @@ msgstr ""
msgid "Private Photo"
msgstr ""
-#: ../../mod/photos.php:905 ../../mod/events.php:528
+#: ../../mod/photos.php:905 ../../mod/events.php:525 ../../mod/events.php:532
msgid "Previous"
msgstr ""
@@ -5390,7 +5335,8 @@ msgstr ""
msgid "View Full Size"
msgstr ""
-#: ../../mod/photos.php:914 ../../mod/events.php:529 ../../mod/setup.php:285
+#: ../../mod/photos.php:914 ../../mod/events.php:526 ../../mod/events.php:533
+#: ../../mod/setup.php:285
msgid "Next"
msgstr ""
@@ -5450,63 +5396,6 @@ msgstr ""
msgid "Recent Photos"
msgstr ""
-#: ../../mod/dreport.php:23
-msgid "Invalid message"
-msgstr ""
-
-#: ../../mod/dreport.php:55
-msgid "no results"
-msgstr ""
-
-#: ../../mod/dreport.php:60
-#, php-format
-msgid "Delivery report for %1$s"
-msgstr ""
-
-#: ../../mod/dreport.php:74
-msgid "channel sync processed"
-msgstr ""
-
-#: ../../mod/dreport.php:78
-msgid "queued"
-msgstr ""
-
-#: ../../mod/dreport.php:82
-msgid "posted"
-msgstr ""
-
-#: ../../mod/dreport.php:86
-msgid "accepted for delivery"
-msgstr ""
-
-#: ../../mod/dreport.php:90
-msgid "updated"
-msgstr ""
-
-#: ../../mod/dreport.php:93
-msgid "update ignored"
-msgstr ""
-
-#: ../../mod/dreport.php:96
-msgid "permission denied"
-msgstr ""
-
-#: ../../mod/dreport.php:100
-msgid "recipient not found"
-msgstr ""
-
-#: ../../mod/dreport.php:103
-msgid "mail recalled"
-msgstr ""
-
-#: ../../mod/dreport.php:106
-msgid "duplicate mail received"
-msgstr ""
-
-#: ../../mod/dreport.php:109
-msgid "mail delivered"
-msgstr ""
-
#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
#: ../../mod/editwebpage.php:77
@@ -5544,7 +5433,7 @@ msgstr ""
msgid "Item is not editable"
msgstr ""
-#: ../../mod/editpost.php:55
+#: ../../mod/editpost.php:57
msgid "Delete item?"
msgstr ""
@@ -5596,10 +5485,10 @@ msgstr ""
msgid "Message queues"
msgstr ""
-#: ../../mod/admin.php:198 ../../mod/admin.php:409 ../../mod/admin.php:506
-#: ../../mod/admin.php:774 ../../mod/admin.php:938 ../../mod/admin.php:1030
-#: ../../mod/admin.php:1070 ../../mod/admin.php:1230 ../../mod/admin.php:1264
-#: ../../mod/admin.php:1349
+#: ../../mod/admin.php:198 ../../mod/admin.php:433 ../../mod/admin.php:532
+#: ../../mod/admin.php:800 ../../mod/admin.php:964 ../../mod/admin.php:1061
+#: ../../mod/admin.php:1101 ../../mod/admin.php:1261 ../../mod/admin.php:1295
+#: ../../mod/admin.php:1380
msgid "Administration"
msgstr ""
@@ -5611,7 +5500,7 @@ msgstr ""
msgid "Registered accounts"
msgstr ""
-#: ../../mod/admin.php:203 ../../mod/admin.php:510
+#: ../../mod/admin.php:203 ../../mod/admin.php:536
msgid "Pending registrations"
msgstr ""
@@ -5619,7 +5508,7 @@ msgstr ""
msgid "Registered channels"
msgstr ""
-#: ../../mod/admin.php:205 ../../mod/admin.php:511
+#: ../../mod/admin.php:205 ../../mod/admin.php:537
msgid "Active plugins"
msgstr ""
@@ -5627,674 +5516,682 @@ msgstr ""
msgid "Version"
msgstr ""
-#: ../../mod/admin.php:321
+#: ../../mod/admin.php:324
msgid "Site settings updated."
msgstr ""
-#: ../../mod/admin.php:358 ../../mod/settings.php:790
+#: ../../mod/admin.php:361 ../../mod/settings.php:791
msgid "mobile"
msgstr ""
-#: ../../mod/admin.php:360
+#: ../../mod/admin.php:363
msgid "experimental"
msgstr ""
-#: ../../mod/admin.php:362
+#: ../../mod/admin.php:365
msgid "unsupported"
msgstr ""
-#: ../../mod/admin.php:387
+#: ../../mod/admin.php:411
msgid "Yes - with approval"
msgstr ""
-#: ../../mod/admin.php:393
+#: ../../mod/admin.php:417
msgid "My site is not a public server"
msgstr ""
-#: ../../mod/admin.php:394
+#: ../../mod/admin.php:418
msgid "My site has paid access only"
msgstr ""
-#: ../../mod/admin.php:395
+#: ../../mod/admin.php:419
msgid "My site has free access only"
msgstr ""
-#: ../../mod/admin.php:396
+#: ../../mod/admin.php:420
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../mod/admin.php:412 ../../mod/register.php:207
+#: ../../mod/admin.php:436 ../../mod/register.php:207
msgid "Registration"
msgstr ""
-#: ../../mod/admin.php:413
+#: ../../mod/admin.php:437
msgid "File upload"
msgstr ""
-#: ../../mod/admin.php:414
+#: ../../mod/admin.php:438
msgid "Policies"
msgstr ""
-#: ../../mod/admin.php:419
+#: ../../mod/admin.php:443
msgid "Site name"
msgstr ""
-#: ../../mod/admin.php:420
+#: ../../mod/admin.php:444
msgid "Banner/Logo"
msgstr ""
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:445
msgid "Administrator Information"
msgstr ""
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:445
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr ""
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:446
msgid "System language"
msgstr ""
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:447
msgid "System theme"
msgstr ""
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:447
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:448
msgid "Mobile system theme"
msgstr ""
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:448
msgid "Theme for mobile devices"
msgstr ""
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:450
msgid "Allow Feeds as Connections"
msgstr ""
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:450
msgid "(Heavy system resource usage)"
msgstr ""
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:451
msgid "Maximum image size"
msgstr ""
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:451
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:452
msgid "Does this site allow new member registration?"
msgstr ""
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:453
msgid "Which best describes the types of account offered by this hub?"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:454
msgid "Register text"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:454
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:455
msgid "Site homepage to show visitors (default: login box)"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:455
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr ""
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:456
msgid "Preserve site homepage URL"
msgstr ""
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:456
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr ""
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:457
msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:457
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:458
msgid "Allowed friend domains"
msgstr ""
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:458
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:459
msgid "Allowed email domains"
msgstr ""
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:459
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:436
+#: ../../mod/admin.php:460
msgid "Not allowed email domains"
msgstr ""
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:460
msgid ""
"Comma separated list of domains which are not allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:461
msgid "Block public"
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:461
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:462
msgid "Verify Email Addresses"
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:462
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:463
msgid "Force publish"
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:463
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:464
msgid "Disable discovery tab"
msgstr ""
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:464
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:465
msgid "login on Homepage"
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:465
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr ""
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:467
+msgid "Directory Server URL"
+msgstr ""
+
+#: ../../mod/admin.php:467
+msgid "Default directory server"
+msgstr ""
+
+#: ../../mod/admin.php:469
msgid "Proxy user"
msgstr ""
-#: ../../mod/admin.php:444
+#: ../../mod/admin.php:470
msgid "Proxy URL"
msgstr ""
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:471
msgid "Network timeout"
msgstr ""
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:471
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:472
msgid "Delivery interval"
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:472
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr ""
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:473
msgid "Deliveries per process"
msgstr ""
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:473
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust "
"if necessary to tune system performance. Recommend: 1-5."
msgstr ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:474
msgid "Poll interval"
msgstr ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:474
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:475
msgid "Maximum Load Average"
msgstr ""
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:475
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:476
msgid "Expiration period in days for imported (matrix/network) content"
msgstr ""
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:476
msgid "0 for no expiration of imported content"
msgstr ""
-#: ../../mod/admin.php:498
+#: ../../mod/admin.php:524
msgid "No server found"
msgstr ""
-#: ../../mod/admin.php:505 ../../mod/admin.php:788
+#: ../../mod/admin.php:531 ../../mod/admin.php:814
msgid "ID"
msgstr ""
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "for channel"
msgstr ""
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "on server"
msgstr ""
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "Status"
msgstr ""
-#: ../../mod/admin.php:507
+#: ../../mod/admin.php:533
msgid "Server"
msgstr ""
-#: ../../mod/admin.php:524
+#: ../../mod/admin.php:550
msgid "Update has been marked successful"
msgstr ""
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:560
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../mod/admin.php:537
+#: ../../mod/admin.php:563
#, php-format
msgid "Update %s was successfully applied."
msgstr ""
-#: ../../mod/admin.php:541
+#: ../../mod/admin.php:567
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../mod/admin.php:544
+#: ../../mod/admin.php:570
#, php-format
msgid "Update function %s could not be found."
msgstr ""
-#: ../../mod/admin.php:560
+#: ../../mod/admin.php:586
msgid "No failed updates."
msgstr ""
-#: ../../mod/admin.php:564
+#: ../../mod/admin.php:590
msgid "Failed Updates"
msgstr ""
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:592
msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../mod/admin.php:567
+#: ../../mod/admin.php:593
msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../mod/admin.php:599
+#: ../../mod/admin.php:625
msgid "Queue Statistics"
msgstr ""
-#: ../../mod/admin.php:600
+#: ../../mod/admin.php:626
msgid "Total Entries"
msgstr ""
-#: ../../mod/admin.php:601
+#: ../../mod/admin.php:627
msgid "Priority"
msgstr ""
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:628
msgid "Destination URL"
msgstr ""
-#: ../../mod/admin.php:603
+#: ../../mod/admin.php:629
msgid "Mark hub permanently offline"
msgstr ""
-#: ../../mod/admin.php:604
+#: ../../mod/admin.php:630
msgid "Empty queue for this hub"
msgstr ""
-#: ../../mod/admin.php:605
+#: ../../mod/admin.php:631
msgid "Last known contact"
msgstr ""
-#: ../../mod/admin.php:641
+#: ../../mod/admin.php:667
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:649
+#: ../../mod/admin.php:675
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:685
+#: ../../mod/admin.php:711
msgid "Account not found"
msgstr ""
-#: ../../mod/admin.php:697
+#: ../../mod/admin.php:723
#, php-format
msgid "Account '%s' deleted"
msgstr ""
-#: ../../mod/admin.php:705
+#: ../../mod/admin.php:731
#, php-format
msgid "Account '%s' blocked"
msgstr ""
-#: ../../mod/admin.php:713
+#: ../../mod/admin.php:739
#, php-format
msgid "Account '%s' unblocked"
msgstr ""
-#: ../../mod/admin.php:775 ../../mod/admin.php:787
+#: ../../mod/admin.php:801 ../../mod/admin.php:813
msgid "Users"
msgstr ""
-#: ../../mod/admin.php:777 ../../mod/admin.php:941
+#: ../../mod/admin.php:803 ../../mod/admin.php:967
msgid "select all"
msgstr ""
-#: ../../mod/admin.php:778
+#: ../../mod/admin.php:804
msgid "User registrations waiting for confirm"
msgstr ""
-#: ../../mod/admin.php:779
+#: ../../mod/admin.php:805
msgid "Request date"
msgstr ""
-#: ../../mod/admin.php:780
+#: ../../mod/admin.php:806
msgid "No registrations."
msgstr ""
-#: ../../mod/admin.php:782
+#: ../../mod/admin.php:808
msgid "Deny"
msgstr ""
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Register date"
msgstr ""
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Last login"
msgstr ""
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Expires"
msgstr ""
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Service Class"
msgstr ""
-#: ../../mod/admin.php:790
+#: ../../mod/admin.php:816
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
"on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:791
+#: ../../mod/admin.php:817
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:827
+#: ../../mod/admin.php:853
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:836
+#: ../../mod/admin.php:862
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:843
+#: ../../mod/admin.php:869
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:863
+#: ../../mod/admin.php:889
msgid "Channel not found"
msgstr ""
-#: ../../mod/admin.php:874
+#: ../../mod/admin.php:900
#, php-format
msgid "Channel '%s' deleted"
msgstr ""
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:912
#, php-format
msgid "Channel '%s' censored"
msgstr ""
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:912
#, php-format
msgid "Channel '%s' uncensored"
msgstr ""
-#: ../../mod/admin.php:897
+#: ../../mod/admin.php:923
#, php-format
msgid "Channel '%s' code allowed"
msgstr ""
-#: ../../mod/admin.php:897
+#: ../../mod/admin.php:923
#, php-format
msgid "Channel '%s' code disallowed"
msgstr ""
-#: ../../mod/admin.php:943
+#: ../../mod/admin.php:969
msgid "Censor"
msgstr ""
-#: ../../mod/admin.php:944
+#: ../../mod/admin.php:970
msgid "Uncensor"
msgstr ""
-#: ../../mod/admin.php:945
+#: ../../mod/admin.php:971
msgid "Allow Code"
msgstr ""
-#: ../../mod/admin.php:946
+#: ../../mod/admin.php:972
msgid "Disallow Code"
msgstr ""
-#: ../../mod/admin.php:948
+#: ../../mod/admin.php:974
msgid "UID"
msgstr ""
-#: ../../mod/admin.php:948 ../../mod/profiles.php:447
+#: ../../mod/admin.php:974 ../../mod/profiles.php:447
msgid "Address"
msgstr ""
-#: ../../mod/admin.php:950
+#: ../../mod/admin.php:976
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:951
+#: ../../mod/admin.php:977
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:991
+#: ../../mod/admin.php:1017
#, php-format
msgid "Plugin %s disabled."
msgstr ""
-#: ../../mod/admin.php:995
+#: ../../mod/admin.php:1021
#, php-format
msgid "Plugin %s enabled."
msgstr ""
-#: ../../mod/admin.php:1005 ../../mod/admin.php:1203
+#: ../../mod/admin.php:1031 ../../mod/admin.php:1234
msgid "Disable"
msgstr ""
-#: ../../mod/admin.php:1008 ../../mod/admin.php:1205
+#: ../../mod/admin.php:1034 ../../mod/admin.php:1236
msgid "Enable"
msgstr ""
-#: ../../mod/admin.php:1032 ../../mod/admin.php:1232
+#: ../../mod/admin.php:1063 ../../mod/admin.php:1263
msgid "Toggle"
msgstr ""
-#: ../../mod/admin.php:1040 ../../mod/admin.php:1242
+#: ../../mod/admin.php:1071 ../../mod/admin.php:1273
msgid "Author: "
msgstr ""
-#: ../../mod/admin.php:1041 ../../mod/admin.php:1243
+#: ../../mod/admin.php:1072 ../../mod/admin.php:1274
msgid "Maintainer: "
msgstr ""
-#: ../../mod/admin.php:1168
+#: ../../mod/admin.php:1199
msgid "No themes found."
msgstr ""
-#: ../../mod/admin.php:1224
+#: ../../mod/admin.php:1255
msgid "Screenshot"
msgstr ""
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1301
msgid "[Experimental]"
msgstr ""
-#: ../../mod/admin.php:1271
+#: ../../mod/admin.php:1302
msgid "[Unsupported]"
msgstr ""
-#: ../../mod/admin.php:1295
+#: ../../mod/admin.php:1326
msgid "Log settings updated."
msgstr ""
-#: ../../mod/admin.php:1352
+#: ../../mod/admin.php:1383
msgid "Clear"
msgstr ""
-#: ../../mod/admin.php:1358
+#: ../../mod/admin.php:1389
msgid "Debugging"
msgstr ""
-#: ../../mod/admin.php:1359
+#: ../../mod/admin.php:1390
msgid "Log file"
msgstr ""
-#: ../../mod/admin.php:1359
+#: ../../mod/admin.php:1390
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr ""
-#: ../../mod/admin.php:1360
+#: ../../mod/admin.php:1391
msgid "Log level"
msgstr ""
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1437
msgid "New Profile Field"
msgstr ""
-#: ../../mod/admin.php:1407 ../../mod/admin.php:1427
+#: ../../mod/admin.php:1438 ../../mod/admin.php:1458
msgid "Field nickname"
msgstr ""
-#: ../../mod/admin.php:1407 ../../mod/admin.php:1427
+#: ../../mod/admin.php:1438 ../../mod/admin.php:1458
msgid "System name of field"
msgstr ""
-#: ../../mod/admin.php:1408 ../../mod/admin.php:1428
+#: ../../mod/admin.php:1439 ../../mod/admin.php:1459
msgid "Input type"
msgstr ""
-#: ../../mod/admin.php:1409 ../../mod/admin.php:1429
+#: ../../mod/admin.php:1440 ../../mod/admin.php:1460
msgid "Field Name"
msgstr ""
-#: ../../mod/admin.php:1409 ../../mod/admin.php:1429
+#: ../../mod/admin.php:1440 ../../mod/admin.php:1460
msgid "Label on profile pages"
msgstr ""
-#: ../../mod/admin.php:1410 ../../mod/admin.php:1430
+#: ../../mod/admin.php:1441 ../../mod/admin.php:1461
msgid "Help text"
msgstr ""
-#: ../../mod/admin.php:1410 ../../mod/admin.php:1430
+#: ../../mod/admin.php:1441 ../../mod/admin.php:1461
msgid "Additional info (optional)"
msgstr ""
-#: ../../mod/admin.php:1420
+#: ../../mod/admin.php:1451
msgid "Field definition not found"
msgstr ""
-#: ../../mod/admin.php:1426
+#: ../../mod/admin.php:1457
msgid "Edit Profile Field"
msgstr ""
@@ -6326,7 +6223,7 @@ msgstr ""
msgid "Location (URL) of app"
msgstr ""
-#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:97
msgid "Description"
msgstr ""
@@ -6536,11 +6433,16 @@ msgstr ""
msgid "Layout Help"
msgstr ""
-#: ../../mod/subthread.php:102
+#: ../../mod/subthread.php:114
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr ""
+#: ../../mod/subthread.php:116
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr ""
+
#: ../../mod/lostpass.php:15
msgid "No valid account found."
msgstr ""
@@ -6565,7 +6467,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../mod/lostpass.php:86 ../../boot.php:1511
+#: ../../mod/lostpass.php:86 ../../boot.php:1494
msgid "Password Reset"
msgstr ""
@@ -6651,32 +6553,28 @@ msgstr ""
msgid "Event not found."
msgstr ""
-#: ../../mod/events.php:448
+#: ../../mod/events.php:446
msgid "l, F j"
msgstr ""
-#: ../../mod/events.php:470
+#: ../../mod/events.php:468
msgid "Edit event"
msgstr ""
-#: ../../mod/events.php:472
+#: ../../mod/events.php:470
msgid "Delete event"
msgstr ""
-#: ../../mod/events.php:506
+#: ../../mod/events.php:504
msgid "calendar"
msgstr ""
-#: ../../mod/events.php:527
-msgid "Create New Event"
+#: ../../mod/events.php:524
+msgid "New Event"
msgstr ""
-#: ../../mod/events.php:530
-msgid "Export"
-msgstr ""
-
-#: ../../mod/events.php:533
-msgid "Import"
+#: ../../mod/events.php:534
+msgid "Today"
msgstr ""
#: ../../mod/events.php:564
@@ -6825,7 +6723,7 @@ msgstr ""
msgid "Upload Profile Photo"
msgstr ""
-#: ../../mod/profile_photo.php:454 ../../mod/settings.php:972
+#: ../../mod/profile_photo.php:454 ../../mod/settings.php:973
msgid "or"
msgstr ""
@@ -6897,20 +6795,24 @@ msgstr ""
msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../mod/item.php:908
+#: ../../mod/item.php:822
+msgid "Duplicate post suppressed."
+msgstr ""
+
+#: ../../mod/item.php:953
msgid "System error. Post not saved."
msgstr ""
-#: ../../mod/item.php:1175
+#: ../../mod/item.php:1220
msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../mod/item.php:1182
+#: ../../mod/item.php:1227
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../mod/item.php:1189
+#: ../../mod/item.php:1234
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
@@ -7029,7 +6931,7 @@ msgid ""
"removed from the network"
msgstr ""
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:697
+#: ../../mod/removeaccount.php:61 ../../mod/settings.php:698
msgid "Remove Account"
msgstr ""
@@ -7041,11 +6943,11 @@ msgstr ""
msgid "Item not available."
msgstr ""
-#: ../../mod/pubsites.php:16
+#: ../../mod/pubsites.php:18
msgid "Public Sites"
msgstr ""
-#: ../../mod/pubsites.php:19
+#: ../../mod/pubsites.php:21
msgid ""
"The listed sites allow public registration for the $Projectname network. All "
"sites in the network are interlinked so membership on any of them conveys "
@@ -7054,39 +6956,39 @@ msgid ""
"provide additional details."
msgstr ""
-#: ../../mod/pubsites.php:25
+#: ../../mod/pubsites.php:27
msgid "Rate this hub"
msgstr ""
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Site URL"
msgstr ""
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Access Type"
msgstr ""
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Registration Policy"
msgstr ""
-#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454
+#: ../../mod/pubsites.php:28 ../../mod/profiles.php:454
msgid "Location"
msgstr ""
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Project"
msgstr ""
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "View hub ratings"
msgstr ""
-#: ../../mod/pubsites.php:30
+#: ../../mod/pubsites.php:32
msgid "Rate"
msgstr ""
-#: ../../mod/pubsites.php:31
+#: ../../mod/pubsites.php:33
msgid "View ratings"
msgstr ""
@@ -7198,126 +7100,68 @@ msgstr ""
msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
-#: ../../mod/siteinfo.php:111
-#, php-format
-msgid "Version %s"
-msgstr ""
-
-#: ../../mod/siteinfo.php:132
-msgid "Installed plugins/addons/apps:"
-msgstr ""
-
-#: ../../mod/siteinfo.php:145
-msgid "No installed plugins/addons/apps"
-msgstr ""
-
-#: ../../mod/siteinfo.php:158
-msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr ""
-
-#: ../../mod/siteinfo.php:160
-msgid "Tag: "
-msgstr ""
-
-#: ../../mod/siteinfo.php:162
-msgid "Last background fetch: "
-msgstr ""
-
-#: ../../mod/siteinfo.php:164
-msgid "Current load average: "
-msgstr ""
-
-#: ../../mod/siteinfo.php:167
-msgid "Running at web location"
-msgstr ""
-
-#: ../../mod/siteinfo.php:168
-msgid ""
-"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
-"about $Projectname."
-msgstr ""
-
-#: ../../mod/siteinfo.php:169
-msgid "Bug reports and issues: please visit"
-msgstr ""
-
-#: ../../mod/siteinfo.php:171
-msgid "$projectname issues"
-msgstr ""
-
-#: ../../mod/siteinfo.php:172
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"
-msgstr ""
-
-#: ../../mod/siteinfo.php:174
-msgid "Site Administrators"
-msgstr ""
-
-#: ../../mod/import.php:27
+#: ../../mod/import.php:28
#, php-format
msgid "Your service plan only allows %d channels."
msgstr ""
-#: ../../mod/import.php:65 ../../mod/import_items.php:38
+#: ../../mod/import.php:66 ../../mod/import_items.php:38
msgid "Nothing to import."
msgstr ""
-#: ../../mod/import.php:89 ../../mod/import_items.php:62
+#: ../../mod/import.php:90 ../../mod/import_items.php:62
msgid "Unable to download data from old server"
msgstr ""
-#: ../../mod/import.php:95 ../../mod/import_items.php:68
+#: ../../mod/import.php:96 ../../mod/import_items.php:68
msgid "Imported file is empty."
msgstr ""
-#: ../../mod/import.php:115 ../../mod/import_items.php:82
+#: ../../mod/import.php:116 ../../mod/import_items.php:82
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr ""
-#: ../../mod/import.php:148
+#: ../../mod/import.php:149
msgid "No channel. Import failed."
msgstr ""
-#: ../../mod/import.php:499
+#: ../../mod/import.php:509
msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../mod/import.php:504
+#: ../../mod/import.php:514
msgid "Import Channel"
msgstr ""
-#: ../../mod/import.php:505
+#: ../../mod/import.php:515
msgid ""
"Use this form to import an existing channel from a different server/hub. You "
"may retrieve the channel identity from the old server/hub via the network or "
"provide an export file."
msgstr ""
-#: ../../mod/import.php:506 ../../mod/import_items.php:121
+#: ../../mod/import.php:516 ../../mod/import_items.php:121
msgid "File to Upload"
msgstr ""
-#: ../../mod/import.php:507
+#: ../../mod/import.php:517
msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../mod/import.php:508
+#: ../../mod/import.php:518
msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../mod/import.php:509
+#: ../../mod/import.php:519
msgid "Your old login email address"
msgstr ""
-#: ../../mod/import.php:510
+#: ../../mod/import.php:520
msgid "Your old login password"
msgstr ""
-#: ../../mod/import.php:511
+#: ../../mod/import.php:521
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 "
@@ -7325,21 +7169,78 @@ msgid ""
"location for files, photos, and media."
msgstr ""
-#: ../../mod/import.php:512
+#: ../../mod/import.php:522
msgid "Make this hub my primary location"
msgstr ""
-#: ../../mod/import.php:513
+#: ../../mod/import.php:523
msgid ""
"Import existing posts if possible (experimental - limited by available memory"
msgstr ""
-#: ../../mod/import.php:514
+#: ../../mod/import.php:524
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
msgstr ""
+#: ../../mod/dreport.php:23
+msgid "Invalid message"
+msgstr ""
+
+#: ../../mod/dreport.php:55
+msgid "no results"
+msgstr ""
+
+#: ../../mod/dreport.php:60
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr ""
+
+#: ../../mod/dreport.php:74
+msgid "channel sync processed"
+msgstr ""
+
+#: ../../mod/dreport.php:78
+msgid "queued"
+msgstr ""
+
+#: ../../mod/dreport.php:82
+msgid "posted"
+msgstr ""
+
+#: ../../mod/dreport.php:86
+msgid "accepted for delivery"
+msgstr ""
+
+#: ../../mod/dreport.php:90
+msgid "updated"
+msgstr ""
+
+#: ../../mod/dreport.php:93
+msgid "update ignored"
+msgstr ""
+
+#: ../../mod/dreport.php:96
+msgid "permission denied"
+msgstr ""
+
+#: ../../mod/dreport.php:100
+msgid "recipient not found"
+msgstr ""
+
+#: ../../mod/dreport.php:103
+msgid "mail recalled"
+msgstr ""
+
+#: ../../mod/dreport.php:106
+msgid "duplicate mail received"
+msgstr ""
+
+#: ../../mod/dreport.php:109
+msgid "mail delivered"
+msgstr ""
+
#: ../../mod/thing.php:111
msgid "Thing updated"
msgstr ""
@@ -7438,6 +7339,10 @@ msgstr ""
msgid "Enter email addresses, one per line:"
msgstr ""
+#: ../../mod/invite.php:131 ../../mod/mail.php:238
+msgid "Your message:"
+msgstr ""
+
#: ../../mod/invite.php:132
msgid "Please join my community on $Projectname."
msgstr ""
@@ -7462,6 +7367,89 @@ msgstr ""
msgid "3. Click [Connect]"
msgstr ""
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr ""
+
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr ""
+
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr ""
+
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr ""
+
+#: ../../mod/mail.php:132
+msgid "Messages"
+msgstr ""
+
+#: ../../mod/mail.php:167
+msgid "Message recalled."
+msgstr ""
+
+#: ../../mod/mail.php:180
+msgid "Conversation removed."
+msgstr ""
+
+#: ../../mod/mail.php:223
+msgid "Requested channel is not in this network"
+msgstr ""
+
+#: ../../mod/mail.php:231
+msgid "Send Private Message"
+msgstr ""
+
+#: ../../mod/mail.php:232 ../../mod/mail.php:361
+msgid "To:"
+msgstr ""
+
+#: ../../mod/mail.php:235 ../../mod/mail.php:363
+msgid "Subject:"
+msgstr ""
+
+#: ../../mod/mail.php:242
+msgid "Send"
+msgstr ""
+
+#: ../../mod/mail.php:333
+msgid "Delete message"
+msgstr ""
+
+#: ../../mod/mail.php:334
+msgid "Delivery report"
+msgstr ""
+
+#: ../../mod/mail.php:335
+msgid "Recall message"
+msgstr ""
+
+#: ../../mod/mail.php:337
+msgid "Message has been recalled."
+msgstr ""
+
+#: ../../mod/mail.php:354
+msgid "Delete Conversation"
+msgstr ""
+
+#: ../../mod/mail.php:356
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr ""
+
+#: ../../mod/mail.php:360
+msgid "Send Reply"
+msgstr ""
+
+#: ../../mod/mail.php:365
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr ""
+
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_home.php:21 ../../mod/update_network.php:23
#: ../../mod/update_search.php:46 ../../mod/update_public.php:21
@@ -7480,555 +7468,563 @@ msgstr ""
msgid "Key and Secret are required"
msgstr ""
-#: ../../mod/settings.php:231
+#: ../../mod/settings.php:232
msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../mod/settings.php:235
+#: ../../mod/settings.php:236
msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../mod/settings.php:249
+#: ../../mod/settings.php:250
msgid "Password changed."
msgstr ""
-#: ../../mod/settings.php:251
+#: ../../mod/settings.php:252
msgid "Password update failed. Please try again."
msgstr ""
-#: ../../mod/settings.php:265
+#: ../../mod/settings.php:266
msgid "Not valid email."
msgstr ""
-#: ../../mod/settings.php:268
+#: ../../mod/settings.php:269
msgid "Protected email address. Cannot change to that email."
msgstr ""
-#: ../../mod/settings.php:277
+#: ../../mod/settings.php:278
msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../mod/settings.php:518
+#: ../../mod/settings.php:519
msgid "Settings updated."
msgstr ""
-#: ../../mod/settings.php:582 ../../mod/settings.php:608
-#: ../../mod/settings.php:644
+#: ../../mod/settings.php:583 ../../mod/settings.php:609
+#: ../../mod/settings.php:645
msgid "Add application"
msgstr ""
-#: ../../mod/settings.php:585
+#: ../../mod/settings.php:586
msgid "Name of application"
msgstr ""
-#: ../../mod/settings.php:586 ../../mod/settings.php:612
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
msgid "Consumer Key"
msgstr ""
-#: ../../mod/settings.php:586 ../../mod/settings.php:587
+#: ../../mod/settings.php:587 ../../mod/settings.php:588
msgid "Automatically generated - change if desired. Max length 20"
msgstr ""
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
+#: ../../mod/settings.php:588 ../../mod/settings.php:614
msgid "Consumer Secret"
msgstr ""
-#: ../../mod/settings.php:588 ../../mod/settings.php:614
+#: ../../mod/settings.php:589 ../../mod/settings.php:615
msgid "Redirect"
msgstr ""
-#: ../../mod/settings.php:588
+#: ../../mod/settings.php:589
msgid ""
"Redirect URI - leave blank unless your application specifically requires this"
msgstr ""
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
msgid "Icon url"
msgstr ""
-#: ../../mod/settings.php:589
+#: ../../mod/settings.php:590
msgid "Optional"
msgstr ""
-#: ../../mod/settings.php:600
+#: ../../mod/settings.php:601
msgid "You can't edit this application."
msgstr ""
-#: ../../mod/settings.php:643
+#: ../../mod/settings.php:644
msgid "Connected Apps"
msgstr ""
-#: ../../mod/settings.php:647
+#: ../../mod/settings.php:648
msgid "Client key starts with"
msgstr ""
-#: ../../mod/settings.php:648
+#: ../../mod/settings.php:649
msgid "No name"
msgstr ""
-#: ../../mod/settings.php:649
+#: ../../mod/settings.php:650
msgid "Remove authorization"
msgstr ""
-#: ../../mod/settings.php:662
+#: ../../mod/settings.php:663
msgid "No feature settings configured"
msgstr ""
-#: ../../mod/settings.php:669
+#: ../../mod/settings.php:670
msgid "Feature/Addon Settings"
msgstr ""
-#: ../../mod/settings.php:692
+#: ../../mod/settings.php:693
msgid "Account Settings"
msgstr ""
-#: ../../mod/settings.php:693
+#: ../../mod/settings.php:694
msgid "Enter New Password:"
msgstr ""
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:695
msgid "Confirm New Password:"
msgstr ""
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:695
msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../mod/settings.php:696 ../../mod/settings.php:1027
+#: ../../mod/settings.php:697 ../../mod/settings.php:1028
msgid "Email Address:"
msgstr ""
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:699
msgid "Remove this account including all its channels"
msgstr ""
-#: ../../mod/settings.php:714
+#: ../../mod/settings.php:715
msgid "Off"
msgstr ""
-#: ../../mod/settings.php:714
+#: ../../mod/settings.php:715
msgid "On"
msgstr ""
-#: ../../mod/settings.php:721
+#: ../../mod/settings.php:722
msgid "Additional Features"
msgstr ""
-#: ../../mod/settings.php:745
+#: ../../mod/settings.php:746
msgid "Connector Settings"
msgstr ""
-#: ../../mod/settings.php:784
+#: ../../mod/settings.php:785
msgid "No special theme for mobile devices"
msgstr ""
-#: ../../mod/settings.php:787
+#: ../../mod/settings.php:788
#, php-format
msgid "%s - (Experimental)"
msgstr ""
-#: ../../mod/settings.php:826
+#: ../../mod/settings.php:827
msgid "Display Settings"
msgstr ""
-#: ../../mod/settings.php:827
+#: ../../mod/settings.php:828
msgid "Theme Settings"
msgstr ""
-#: ../../mod/settings.php:828
+#: ../../mod/settings.php:829
msgid "Custom Theme Settings"
msgstr ""
-#: ../../mod/settings.php:829
+#: ../../mod/settings.php:830
msgid "Content Settings"
msgstr ""
-#: ../../mod/settings.php:835
+#: ../../mod/settings.php:836
msgid "Display Theme:"
msgstr ""
-#: ../../mod/settings.php:836
+#: ../../mod/settings.php:837
msgid "Mobile Theme:"
msgstr ""
-#: ../../mod/settings.php:837
+#: ../../mod/settings.php:838
msgid "Enable user zoom on mobile devices"
msgstr ""
-#: ../../mod/settings.php:838
+#: ../../mod/settings.php:839
msgid "Update browser every xx seconds"
msgstr ""
-#: ../../mod/settings.php:838
+#: ../../mod/settings.php:839
msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../mod/settings.php:839
+#: ../../mod/settings.php:840
msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../mod/settings.php:839
+#: ../../mod/settings.php:840
msgid "Maximum of 100 items"
msgstr ""
-#: ../../mod/settings.php:840
+#: ../../mod/settings.php:841
msgid "Show emoticons (smilies) as images"
msgstr ""
-#: ../../mod/settings.php:841
+#: ../../mod/settings.php:842
msgid "Link post titles to source"
msgstr ""
-#: ../../mod/settings.php:842
+#: ../../mod/settings.php:843
msgid "System Page Layout Editor - (advanced)"
msgstr ""
-#: ../../mod/settings.php:845
+#: ../../mod/settings.php:846
msgid "Use blog/list mode on channel page"
msgstr ""
-#: ../../mod/settings.php:845 ../../mod/settings.php:846
+#: ../../mod/settings.php:846 ../../mod/settings.php:847
msgid "(comments displayed separately)"
msgstr ""
-#: ../../mod/settings.php:846
+#: ../../mod/settings.php:847
msgid "Use blog/list mode on matrix page"
msgstr ""
-#: ../../mod/settings.php:847
+#: ../../mod/settings.php:848
msgid "Channel page max height of content (in pixels)"
msgstr ""
-#: ../../mod/settings.php:847 ../../mod/settings.php:848
+#: ../../mod/settings.php:848 ../../mod/settings.php:849
msgid "click to expand content exceeding this height"
msgstr ""
-#: ../../mod/settings.php:848
+#: ../../mod/settings.php:849
msgid "Matrix page max height of content (in pixels)"
msgstr ""
-#: ../../mod/settings.php:882
+#: ../../mod/settings.php:883
msgid "Nobody except yourself"
msgstr ""
-#: ../../mod/settings.php:883
+#: ../../mod/settings.php:884
msgid "Only those you specifically allow"
msgstr ""
-#: ../../mod/settings.php:884
+#: ../../mod/settings.php:885
msgid "Approved connections"
msgstr ""
-#: ../../mod/settings.php:885
+#: ../../mod/settings.php:886
msgid "Any connections"
msgstr ""
-#: ../../mod/settings.php:886
+#: ../../mod/settings.php:887
msgid "Anybody on this website"
msgstr ""
-#: ../../mod/settings.php:887
+#: ../../mod/settings.php:888
msgid "Anybody in this network"
msgstr ""
-#: ../../mod/settings.php:888
+#: ../../mod/settings.php:889
msgid "Anybody authenticated"
msgstr ""
-#: ../../mod/settings.php:889
+#: ../../mod/settings.php:890
msgid "Anybody on the internet"
msgstr ""
-#: ../../mod/settings.php:963
+#: ../../mod/settings.php:964
msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../mod/settings.php:968
+#: ../../mod/settings.php:969
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:978
msgid "Your channel address is"
msgstr ""
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1019
msgid "Channel Settings"
msgstr ""
-#: ../../mod/settings.php:1025
+#: ../../mod/settings.php:1026
msgid "Basic Settings"
msgstr ""
-#: ../../mod/settings.php:1028
+#: ../../mod/settings.php:1029
msgid "Your Timezone:"
msgstr ""
-#: ../../mod/settings.php:1029
+#: ../../mod/settings.php:1030
msgid "Default Post Location:"
msgstr ""
-#: ../../mod/settings.php:1029
+#: ../../mod/settings.php:1030
msgid "Geographical location to display on your posts"
msgstr ""
-#: ../../mod/settings.php:1030
+#: ../../mod/settings.php:1031
msgid "Use Browser Location:"
msgstr ""
-#: ../../mod/settings.php:1032
+#: ../../mod/settings.php:1033
msgid "Adult Content"
msgstr ""
-#: ../../mod/settings.php:1032
+#: ../../mod/settings.php:1033
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr ""
-#: ../../mod/settings.php:1034
+#: ../../mod/settings.php:1035
msgid "Security and Privacy Settings"
msgstr ""
-#: ../../mod/settings.php:1036
+#: ../../mod/settings.php:1037
msgid "Your permissions are already configured. Click to view/adjust"
msgstr ""
-#: ../../mod/settings.php:1038
+#: ../../mod/settings.php:1039
msgid "Hide my online presence"
msgstr ""
-#: ../../mod/settings.php:1038
+#: ../../mod/settings.php:1039
msgid "Prevents displaying in your profile that you are online"
msgstr ""
-#: ../../mod/settings.php:1040
+#: ../../mod/settings.php:1041
msgid "Simple Privacy Settings:"
msgstr ""
-#: ../../mod/settings.php:1041
+#: ../../mod/settings.php:1042
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr ""
-#: ../../mod/settings.php:1042
+#: ../../mod/settings.php:1043
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr ""
-#: ../../mod/settings.php:1043
+#: ../../mod/settings.php:1044
msgid "Private - <em>default private, never open or public</em>"
msgstr ""
-#: ../../mod/settings.php:1044
+#: ../../mod/settings.php:1045
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr ""
-#: ../../mod/settings.php:1046
+#: ../../mod/settings.php:1047
msgid "Allow others to tag your posts"
msgstr ""
-#: ../../mod/settings.php:1046
+#: ../../mod/settings.php:1047
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr ""
-#: ../../mod/settings.php:1048
+#: ../../mod/settings.php:1049
msgid "Advanced Privacy Settings"
msgstr ""
-#: ../../mod/settings.php:1050
+#: ../../mod/settings.php:1051
msgid "Expire other channel content after this many days"
msgstr ""
-#: ../../mod/settings.php:1050
+#: ../../mod/settings.php:1051
msgid "0 or blank prevents expiration"
msgstr ""
-#: ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052
msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052
msgid "May reduce spam activity"
msgstr ""
-#: ../../mod/settings.php:1052
+#: ../../mod/settings.php:1053
msgid "Default Post Permissions"
msgstr ""
-#: ../../mod/settings.php:1057
+#: ../../mod/settings.php:1058
msgid "Channel permissions category:"
msgstr ""
-#: ../../mod/settings.php:1063
+#: ../../mod/settings.php:1064
msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../mod/settings.php:1063
+#: ../../mod/settings.php:1064
msgid "Useful to reduce spamming"
msgstr ""
-#: ../../mod/settings.php:1066
+#: ../../mod/settings.php:1067
msgid "Notification Settings"
msgstr ""
-#: ../../mod/settings.php:1067
+#: ../../mod/settings.php:1068
msgid "By default post a status message when:"
msgstr ""
-#: ../../mod/settings.php:1068
+#: ../../mod/settings.php:1069
msgid "accepting a friend request"
msgstr ""
-#: ../../mod/settings.php:1069
+#: ../../mod/settings.php:1070
msgid "joining a forum/community"
msgstr ""
-#: ../../mod/settings.php:1070
+#: ../../mod/settings.php:1071
msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../mod/settings.php:1071
+#: ../../mod/settings.php:1072
msgid "Send a notification email when:"
msgstr ""
-#: ../../mod/settings.php:1072
+#: ../../mod/settings.php:1073
msgid "You receive a connection request"
msgstr ""
-#: ../../mod/settings.php:1073
+#: ../../mod/settings.php:1074
msgid "Your connections are confirmed"
msgstr ""
-#: ../../mod/settings.php:1074
+#: ../../mod/settings.php:1075
msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../mod/settings.php:1075
+#: ../../mod/settings.php:1076
msgid "Someone writes a followup comment"
msgstr ""
-#: ../../mod/settings.php:1076
+#: ../../mod/settings.php:1077
msgid "You receive a private message"
msgstr ""
-#: ../../mod/settings.php:1077
+#: ../../mod/settings.php:1078
msgid "You receive a friend suggestion"
msgstr ""
-#: ../../mod/settings.php:1078
+#: ../../mod/settings.php:1079
msgid "You are tagged in a post"
msgstr ""
-#: ../../mod/settings.php:1079
+#: ../../mod/settings.php:1080
msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../mod/settings.php:1082
+#: ../../mod/settings.php:1083
msgid "Show visual notifications including:"
msgstr ""
-#: ../../mod/settings.php:1084
+#: ../../mod/settings.php:1085
msgid "Unseen matrix activity"
msgstr ""
-#: ../../mod/settings.php:1085
+#: ../../mod/settings.php:1086
msgid "Unseen channel activity"
msgstr ""
-#: ../../mod/settings.php:1086
+#: ../../mod/settings.php:1087
msgid "Unseen private messages"
msgstr ""
-#: ../../mod/settings.php:1086 ../../mod/settings.php:1091
-#: ../../mod/settings.php:1092 ../../mod/settings.php:1093
+#: ../../mod/settings.php:1087 ../../mod/settings.php:1092
+#: ../../mod/settings.php:1093 ../../mod/settings.php:1094
msgid "Recommended"
msgstr ""
-#: ../../mod/settings.php:1087
+#: ../../mod/settings.php:1088
msgid "Upcoming events"
msgstr ""
-#: ../../mod/settings.php:1088
+#: ../../mod/settings.php:1089
msgid "Events today"
msgstr ""
-#: ../../mod/settings.php:1089
+#: ../../mod/settings.php:1090
msgid "Upcoming birthdays"
msgstr ""
-#: ../../mod/settings.php:1089
+#: ../../mod/settings.php:1090
msgid "Not available in all themes"
msgstr ""
-#: ../../mod/settings.php:1090
+#: ../../mod/settings.php:1091
msgid "System (personal) notifications"
msgstr ""
-#: ../../mod/settings.php:1091
+#: ../../mod/settings.php:1092
msgid "System info messages"
msgstr ""
-#: ../../mod/settings.php:1092
+#: ../../mod/settings.php:1093
msgid "System critical alerts"
msgstr ""
-#: ../../mod/settings.php:1093
+#: ../../mod/settings.php:1094
msgid "New connections"
msgstr ""
-#: ../../mod/settings.php:1094
+#: ../../mod/settings.php:1095
msgid "System Registrations"
msgstr ""
-#: ../../mod/settings.php:1095
+#: ../../mod/settings.php:1096
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr ""
-#: ../../mod/settings.php:1097
+#: ../../mod/settings.php:1098
msgid "Notify me of events this many days in advance"
msgstr ""
-#: ../../mod/settings.php:1097
+#: ../../mod/settings.php:1098
msgid "Must be greater than 0"
msgstr ""
-#: ../../mod/settings.php:1099
+#: ../../mod/settings.php:1100
msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../mod/settings.php:1100
+#: ../../mod/settings.php:1101
msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../mod/settings.php:1103
+#: ../../mod/settings.php:1104
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr ""
-#: ../../mod/settings.php:1104
+#: ../../mod/settings.php:1105
msgid "Miscellaneous Settings"
msgstr ""
-#: ../../mod/settings.php:1105
+#: ../../mod/settings.php:1106
msgid "Default photo upload folder"
msgstr ""
-#: ../../mod/settings.php:1106
+#: ../../mod/settings.php:1106 ../../mod/settings.php:1107
+msgid "%Y - current year, %m - current month"
+msgstr ""
+
+#: ../../mod/settings.php:1107
msgid "Default file upload folder"
msgstr ""
-#: ../../mod/settings.php:1108
+#: ../../mod/settings.php:1109
msgid "Personal menu to display in your channel pages"
msgstr ""
-#: ../../mod/settings.php:1110
+#: ../../mod/settings.php:1111
msgid "Remove this channel."
msgstr ""
+#: ../../mod/settings.php:1112
+msgid "Firefox Share $Projectname provider"
+msgstr ""
+
#: ../../mod/xchan.php:6
msgid "Xchan Lookup"
msgstr ""
@@ -8291,46 +8287,76 @@ msgstr ""
msgid "Visit %s's profile [%s]"
msgstr ""
-#: ../../mod/locs.php:21 ../../mod/locs.php:49
+#: ../../mod/locs.php:21 ../../mod/locs.php:50
msgid "Location not found."
msgstr ""
-#: ../../mod/locs.php:57
+#: ../../mod/locs.php:58
msgid "Location lookup failed."
msgstr ""
-#: ../../mod/locs.php:61
+#: ../../mod/locs.php:62
msgid ""
"Please select another location to become primary before removing the primary "
"location."
msgstr ""
-#: ../../mod/locs.php:93
+#: ../../mod/locs.php:91
+msgid "Syncing locations"
+msgstr ""
+
+#: ../../mod/locs.php:101
msgid "No locations found."
msgstr ""
-#: ../../mod/locs.php:104
+#: ../../mod/locs.php:112
msgid "Manage Channel Locations"
msgstr ""
-#: ../../mod/locs.php:105
+#: ../../mod/locs.php:113
msgid "Location (address)"
msgstr ""
-#: ../../mod/locs.php:106
+#: ../../mod/locs.php:114
msgid "Primary Location"
msgstr ""
-#: ../../mod/locs.php:107
+#: ../../mod/locs.php:115
msgid "Drop location"
msgstr ""
+#: ../../mod/locs.php:117
+msgid "Sync now"
+msgstr ""
+
+#: ../../mod/locs.php:118
+msgid "Please wait several minutes between consecutive operations."
+msgstr ""
+
+#: ../../mod/locs.php:119
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing "
+"your channel."
+msgstr ""
+
+#: ../../mod/locs.php:120
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr ""
+
#: ../../mod/post.php:234
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please "
"logout and retry."
msgstr ""
+#: ../../mod/ffsapi.php:8
+msgid "Share content from Firefox to $Projectname"
+msgstr ""
+
+#: ../../mod/ffsapi.php:11
+msgid "Activate the Firefox $Projectname provider"
+msgstr ""
+
#: ../../mod/setup.php:191
msgid "$Projectname Server - Setup"
msgstr ""
@@ -8753,6 +8779,64 @@ msgstr ""
msgid "Remove this file"
msgstr ""
+#: ../../mod/siteinfo.php:111
+#, php-format
+msgid "Version %s"
+msgstr ""
+
+#: ../../mod/siteinfo.php:132
+msgid "Installed plugins/addons/apps:"
+msgstr ""
+
+#: ../../mod/siteinfo.php:145
+msgid "No installed plugins/addons/apps"
+msgstr ""
+
+#: ../../mod/siteinfo.php:158
+msgid ""
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr ""
+
+#: ../../mod/siteinfo.php:160
+msgid "Tag: "
+msgstr ""
+
+#: ../../mod/siteinfo.php:162
+msgid "Last background fetch: "
+msgstr ""
+
+#: ../../mod/siteinfo.php:164
+msgid "Current load average: "
+msgstr ""
+
+#: ../../mod/siteinfo.php:167
+msgid "Running at web location"
+msgstr ""
+
+#: ../../mod/siteinfo.php:168
+msgid ""
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr ""
+
+#: ../../mod/siteinfo.php:169
+msgid "Bug reports and issues: please visit"
+msgstr ""
+
+#: ../../mod/siteinfo.php:171
+msgid "$projectname issues"
+msgstr ""
+
+#: ../../mod/siteinfo.php:172
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"
+msgstr ""
+
+#: ../../mod/siteinfo.php:174
+msgid "Site Administrators"
+msgstr ""
+
#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
@@ -9024,19 +9108,19 @@ msgstr ""
msgid "Visible To"
msgstr ""
-#: ../../mod/rbmark.php:88
+#: ../../mod/rbmark.php:90
msgid "Select a bookmark folder"
msgstr ""
-#: ../../mod/rbmark.php:93
+#: ../../mod/rbmark.php:95
msgid "Save Bookmark"
msgstr ""
-#: ../../mod/rbmark.php:94
+#: ../../mod/rbmark.php:96
msgid "URL of bookmark"
msgstr ""
-#: ../../mod/rbmark.php:99
+#: ../../mod/rbmark.php:101
msgid "Or enter new bookmark folder name"
msgstr ""
@@ -9192,51 +9276,51 @@ msgstr ""
msgid "Set size of followup author photos"
msgstr ""
-#: ../../boot.php:1308
+#: ../../boot.php:1291
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1311
+#: ../../boot.php:1294
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1478
+#: ../../boot.php:1461
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr ""
-#: ../../boot.php:1506
+#: ../../boot.php:1489
msgid "Password"
msgstr ""
-#: ../../boot.php:1507
+#: ../../boot.php:1490
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1510
+#: ../../boot.php:1493
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2136
+#: ../../boot.php:2113
msgid "toggle mobile"
msgstr ""
-#: ../../boot.php:2271
+#: ../../boot.php:2248
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2274
+#: ../../boot.php:2251
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2311
+#: ../../boot.php:2288
msgid "Cron/Scheduled tasks not running."
msgstr ""
-#: ../../boot.php:2315
+#: ../../boot.php:2292
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr ""
diff --git a/util/messages.po b/util/messages.po
index 9693476e9..f3c9782f3 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2015-10-30.1201\n"
+"Project-Id-Version: 2015-11-06.1208\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-30 00:04-0700\n"
+"POT-Creation-Date: 2015-11-06 00:04-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,7 +22,7 @@ msgstr ""
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/photo/photo_driver.php:694 ../../mod/profile_photo.php:143
+#: ../../include/photo/photo_driver.php:703 ../../mod/profile_photo.php:143
#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
#: ../../mod/photos.php:92 ../../mod/photos.php:637
msgid "Profile Photos"
@@ -2798,15 +2798,15 @@ msgstr ""
msgid "Connection not found."
msgstr ""
-#: ../../include/zot.php:684
+#: ../../include/zot.php:685
msgid "Invalid data packet"
msgstr ""
-#: ../../include/zot.php:700
+#: ../../include/zot.php:701
msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/zot.php:2208
+#: ../../include/zot.php:2209
#, php-format
msgid "Unable to verify site signature for %s"
msgstr ""
diff --git a/util/schemaspy b/util/schemaspy
new file mode 100755
index 000000000..fdae74965
--- /dev/null
+++ b/util/schemaspy
@@ -0,0 +1,9 @@
+#!/usr/bin/env php
+<?php
+
+
+@include("../.htconfig.php");
+
+# -port is useless, ignored
+exec("java -jar schemaSpy_5.0.0.jar -t mysql -host $db_host -port $db_port -db $db_data -u $db_user -p $db_pass -dp mysql-connector-java-5.1.17.jar -meta zot.xml -o .");
+
diff --git a/version.inc b/version.inc
index b1085e3d5..211f6c438 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2015-11-05.1207
+2015-11-23.1225
diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css
index abffe2f78..19796679a 100644
--- a/view/css/bootstrap-red.css
+++ b/view/css/bootstrap-red.css
@@ -29,7 +29,7 @@ nav ul li {
max-height: 50px;
}
-nav img {
+nav .navbar-header img {
height: 49px;
width: 49px;
margin-top: 1px;
@@ -61,18 +61,9 @@ aside .nav-pills > li > a {
padding: 6px 10px;
}
-.dropdown-menu img {
- float: left;
- width: 32px;
- height: 32px;
- margin-right: 5px;
-}
-
.dropdown-menu li a {
overflow: hidden;
text-overflow: ellipsis;
- line-height: 1em;
- padding: 5px 10px;
}
.nav-tabs.nav-justified > li {
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 6f1d4b899..08b51d2fa 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -178,7 +178,6 @@ a.wall-item-name-link {
/* comment_item */
.comment-edit-text-empty, .comment-edit-text-full {
- float: left;
width: 100%;
}
diff --git a/view/css/mod_events.css b/view/css/mod_events.css
index a8e6415c7..86776f400 100644
--- a/view/css/mod_events.css
+++ b/view/css/mod_events.css
@@ -1,55 +1,5 @@
-
-#event-desc-textarea, #event-location-textarea {
- width: 400px;
+/* fix borders */
+#events-calendar {
+ margin-left: -1px;
+ margin-bottom: -1px;
}
-
-#event-summary-text, #event-start-text, #event-finish-text {
- width: 200px;
- float: left;
-}
-
-#event-summary, #start_text {
- width: 95%;
- float: left;
-}
-
-#finish_text {
- width: 100%;
- float: left;
-}
-
-
-#event-category-wrap {
- margin-top: 15px;
-}
-
-.event-cats {
- margin-top: 15px;
-}
-
-.bootstrap-tagsinput {
- width: 100%;
-}
-
-
-.required {
- float: left;
- cursor: default;
-}
-
-#event-datetime-break {
- clear: both;
-}
-
-#event-nofinish-break {
- margin-bottom: 10px;
-}
-
-#event-desc-text, #event-location-text, .event-form-location-end {
- margin-top: 15px;
-}
-
-#event-edit-preview-btn {
- margin-right: 15px;
-}
-
diff --git a/view/es/hmessages.po b/view/es/hmessages.po
index 4074ffa5a..eea1d43de 100644
--- a/view/es/hmessages.po
+++ b/view/es/hmessages.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-30 00:03-0700\n"
-"PO-Revision-Date: 2015-10-31 19:26+0000\n"
+"POT-Creation-Date: 2015-11-20 00:03-0800\n"
+"PO-Revision-Date: 2015-11-20 12:03+0000\n"
"Last-Translator: Manuel Jiménez Friaza <mjfriaza@openmailbox.org>\n"
"Language-Team: Spanish (http://www.transifex.com/Friendica/red-matrix/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -31,7 +31,7 @@ msgstr "No se ha encontrado el nombre de usuario en el fichero importado."
msgid "Unable to create a unique channel address. Import failed."
msgstr "No se ha podido crear una dirección de canal única. Ha fallado la importación."
-#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:486
+#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487
msgid "Import completed."
msgstr "Importación completada."
@@ -40,7 +40,7 @@ msgstr "Importación completada."
msgid "parent"
msgstr "padre"
-#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2529
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2546
msgid "Collection"
msgstr "Colección"
@@ -64,14 +64,15 @@ msgstr "Programar bandeja de entrada"
msgid "Schedule Outbox"
msgstr "Programar bandeja de salida"
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:360
-#: ../../include/apps.php:415 ../../include/conversation.php:1023
-#: ../../mod/photos.php:759 ../../mod/photos.php:1198
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1026
+#: ../../include/apps.php:360 ../../include/apps.php:415
+#: ../../include/widgets.php:1317 ../../mod/photos.php:759
+#: ../../mod/photos.php:1198
msgid "Unknown"
msgstr "Desconocido"
-#: ../../include/RedDAV/RedBrowser.php:226 ../../include/apps.php:135
-#: ../../include/conversation.php:1620 ../../include/nav.php:93
+#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1628
+#: ../../include/apps.php:135 ../../include/nav.php:93
#: ../../mod/fbrowser.php:114
msgid "Files"
msgstr "Ficheros"
@@ -92,13 +93,14 @@ msgid "Create"
msgstr "Crear"
#: ../../include/RedDAV/RedBrowser.php:231
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:784
-#: ../../mod/photos.php:1317 ../../mod/profile_photo.php:450
+#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329
+#: ../../mod/photos.php:784 ../../mod/photos.php:1317
+#: ../../mod/profile_photo.php:450
msgid "Upload"
msgstr "Subir"
-#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:948
-#: ../../mod/settings.php:585 ../../mod/settings.php:611
+#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr "Nombre"
@@ -107,7 +109,8 @@ msgstr "Nombre"
msgid "Type"
msgstr "Tipo"
-#: ../../include/RedDAV/RedBrowser.php:237 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1247
+#: ../../mod/sharedwithme.php:97
msgid "Size"
msgstr "Tamaño"
@@ -121,18 +124,18 @@ msgstr "Última modificación"
#: ../../mod/layouts.php:183 ../../mod/editblock.php:135
#: ../../mod/editpost.php:112 ../../mod/menu.php:108
#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257
-#: ../../mod/settings.php:645 ../../mod/connections.php:235
+#: ../../mod/settings.php:646 ../../mod/connections.php:235
#: ../../mod/connections.php:248 ../../mod/connections.php:267
#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176
msgid "Edit"
msgstr "Editar"
-#: ../../include/RedDAV/RedBrowser.php:241 ../../include/apps.php:260
-#: ../../include/ItemObject.php:120 ../../include/conversation.php:657
-#: ../../mod/connedit.php:546 ../../mod/photos.php:1129
-#: ../../mod/editblock.php:181 ../../mod/admin.php:783 ../../mod/admin.php:942
+#: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657
+#: ../../include/apps.php:260 ../../include/ItemObject.php:120
+#: ../../mod/connedit.php:551 ../../mod/photos.php:1129
+#: ../../mod/editblock.php:181 ../../mod/admin.php:809 ../../mod/admin.php:968
#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258
-#: ../../mod/settings.php:646 ../../mod/editlayout.php:179
+#: ../../mod/settings.php:647 ../../mod/editlayout.php:179
#: ../../mod/editwebpage.php:223 ../../mod/group.php:173
msgid "Delete"
msgstr "Eliminar"
@@ -305,7 +308,7 @@ msgstr "Especificador de sala no válido."
msgid "Room not found."
msgstr "Sala no encontrada."
-#: ../../include/chat.php:133 ../../include/items.php:4377
+#: ../../include/chat.php:133 ../../include/items.php:4396
#: ../../include/photos.php:29 ../../include/attach.php:140
#: ../../include/attach.php:188 ../../include/attach.php:251
#: ../../include/attach.php:265 ../../include/attach.php:272
@@ -316,33 +319,33 @@ msgstr "Sala no encontrada."
#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13
#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72
#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35
-#: ../../mod/mitem.php:111 ../../mod/connedit.php:347 ../../mod/mood.php:112
+#: ../../mod/mitem.php:111 ../../mod/connedit.php:352 ../../mod/mood.php:112
#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:94
-#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/mail.php:118
-#: ../../mod/photos.php:70 ../../mod/editblock.php:65
-#: ../../mod/editpost.php:13 ../../mod/appman.php:66 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/menu.php:74 ../../mod/page.php:31
-#: ../../mod/page.php:86 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/notifications.php:66
-#: ../../mod/pdledit.php:21 ../../mod/events.php:256
-#: ../../mod/profile_photo.php:338 ../../mod/profile_photo.php:351
-#: ../../mod/item.php:205 ../../mod/item.php:213 ../../mod/item.php:1004
-#: ../../mod/message.php:16 ../../mod/webpages.php:69
-#: ../../mod/register.php:72 ../../mod/blocks.php:69 ../../mod/blocks.php:76
-#: ../../mod/service_limits.php:7 ../../mod/sources.php:66
-#: ../../mod/regmod.php:17 ../../mod/channel.php:100 ../../mod/channel.php:214
-#: ../../mod/channel.php:254 ../../mod/thing.php:271 ../../mod/thing.php:291
-#: ../../mod/thing.php:328 ../../mod/invite.php:13 ../../mod/invite.php:104
-#: ../../mod/viewsrc.php:14 ../../mod/settings.php:565 ../../mod/manage.php:6
-#: ../../mod/api.php:26 ../../mod/api.php:31 ../../mod/connections.php:29
+#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/photos.php:70
+#: ../../mod/editblock.php:65 ../../mod/editpost.php:13
+#: ../../mod/appman.php:66 ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/menu.php:74 ../../mod/page.php:31 ../../mod/page.php:86
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/notifications.php:66 ../../mod/pdledit.php:21
+#: ../../mod/events.php:256 ../../mod/profile_photo.php:338
+#: ../../mod/profile_photo.php:351 ../../mod/item.php:205
+#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/message.php:16
+#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7
+#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/channel.php:100
+#: ../../mod/channel.php:214 ../../mod/channel.php:254 ../../mod/thing.php:271
+#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13
+#: ../../mod/invite.php:104 ../../mod/mail.php:118 ../../mod/viewsrc.php:14
+#: ../../mod/settings.php:566 ../../mod/manage.php:6 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/connections.php:29
#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
#: ../../mod/group.php:9 ../../mod/viewconnections.php:22
-#: ../../mod/viewconnections.php:27 ../../mod/locs.php:82
+#: ../../mod/viewconnections.php:27 ../../mod/locs.php:83
#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7
#: ../../mod/suggest.php:26 ../../mod/profiles.php:188
#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361
@@ -366,7 +369,7 @@ msgstr "AAAA-MM-DD o MM-DD"
msgid "Required"
msgstr "Obligatorio"
-#: ../../include/datetime.php:262 ../../boot.php:2312
+#: ../../include/datetime.php:262 ../../boot.php:2289
msgid "never"
msgstr "nunca"
@@ -554,7 +557,7 @@ msgid ""
"(640px) photo thumbnails"
msgstr "Incluir miniaturas de fotos grandes (1024px) en publicaciones. Si no está habilitado, usar miniaturas pequeñas (6400px)"
-#: ../../include/features.php:59 ../../include/widgets.php:545
+#: ../../include/features.php:59 ../../include/widgets.php:546
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr "Orígenes de los contenidos del canal"
@@ -588,128 +591,138 @@ msgstr "Publicación aplazada"
msgid "Allow posts to be published at a later date"
msgstr "Permitir mensajes que se publicarán en una fecha posterior"
-#: ../../include/features.php:68
+#: ../../include/features.php:63
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Prevenir entradas o comentarios duplicados"
+
+#: ../../include/features.php:63
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Prevenir que entradas con contenido idéntico se publiquen con menos de dos minutos de intervalo."
+
+#: ../../include/features.php:69
msgid "Network and Stream Filtering"
msgstr "Filtrado del contenido"
-#: ../../include/features.php:69
+#: ../../include/features.php:70
msgid "Search by Date"
msgstr "Buscar por fecha"
-#: ../../include/features.php:69
+#: ../../include/features.php:70
msgid "Ability to select posts by date ranges"
msgstr "Capacidad de seleccionar entradas por rango de fechas"
-#: ../../include/features.php:70
+#: ../../include/features.php:71
msgid "Collections Filter"
msgstr "Filtrado de colecciones"
-#: ../../include/features.php:70
+#: ../../include/features.php:71
msgid "Enable widget to display Network posts only from selected collections"
msgstr "Habilitar la muestra de entradas eligiendo colecciones"
-#: ../../include/features.php:71 ../../include/widgets.php:273
+#: ../../include/features.php:72 ../../include/widgets.php:274
msgid "Saved Searches"
msgstr "Búsquedas guardadas"
-#: ../../include/features.php:71
+#: ../../include/features.php:72
msgid "Save search terms for re-use"
msgstr "Guardar términos de búsqueda para su reutilización"
-#: ../../include/features.php:72
+#: ../../include/features.php:73
msgid "Network Personal Tab"
msgstr "Actividad personal"
-#: ../../include/features.php:72
+#: ../../include/features.php:73
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Habilitar una pestaña en la cual se muestren solo las entradas en las que ha participado."
-#: ../../include/features.php:73
+#: ../../include/features.php:74
msgid "Network New Tab"
msgstr "Contenido nuevo"
-#: ../../include/features.php:73
+#: ../../include/features.php:74
msgid "Enable tab to display all new Network activity"
msgstr "Habilitar una pestaña en la que se muestre solo el contenido nuevo"
-#: ../../include/features.php:74
+#: ../../include/features.php:75
msgid "Affinity Tool"
msgstr "Herramienta de afinidad"
-#: ../../include/features.php:74
+#: ../../include/features.php:75
msgid "Filter stream activity by depth of relationships"
msgstr "Filtrar la actividad del flujo por profundidad de relaciones"
-#: ../../include/features.php:75
+#: ../../include/features.php:76
msgid "Connection Filtering"
msgstr "Filtrado de conexiones"
-#: ../../include/features.php:75
+#: ../../include/features.php:76
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Filtrar publicaciones entrantes de conexiones por palabras clave o contenido"
-#: ../../include/features.php:76
+#: ../../include/features.php:77
msgid "Suggest Channels"
msgstr "Sugerir canales"
-#: ../../include/features.php:76
+#: ../../include/features.php:77
msgid "Show channel suggestions"
msgstr "Mostrar sugerencias de canales"
-#: ../../include/features.php:81
+#: ../../include/features.php:82
msgid "Post/Comment Tools"
msgstr "Herramientas de entradas/comentarios"
-#: ../../include/features.php:82
+#: ../../include/features.php:83
msgid "Tagging"
msgstr "Etiquetado"
-#: ../../include/features.php:82
+#: ../../include/features.php:83
msgid "Ability to tag existing posts"
msgstr "Capacidad de etiquetar entradas existentes"
-#: ../../include/features.php:83
+#: ../../include/features.php:84
msgid "Post Categories"
msgstr "Categorías de entradas"
-#: ../../include/features.php:83
+#: ../../include/features.php:84
msgid "Add categories to your posts"
msgstr "Añadir categorías a sus publicaciones"
-#: ../../include/features.php:84 ../../include/contact_widgets.php:57
-#: ../../include/widgets.php:303
+#: ../../include/features.php:85 ../../include/contact_widgets.php:57
+#: ../../include/widgets.php:304
msgid "Saved Folders"
msgstr "Carpetas guardadas"
-#: ../../include/features.php:84
+#: ../../include/features.php:85
msgid "Ability to file posts under folders"
msgstr "Capacidad de archivar entradas en carpetas"
-#: ../../include/features.php:85
+#: ../../include/features.php:86
msgid "Dislike Posts"
msgstr "Desagrado de publicaciones"
-#: ../../include/features.php:85
+#: ../../include/features.php:86
msgid "Ability to dislike posts/comments"
msgstr "Capacidad de mostrar desacuerdo con el contenido de entradas y comentarios"
-#: ../../include/features.php:86
+#: ../../include/features.php:87
msgid "Star Posts"
msgstr "Entradas destacadas"
-#: ../../include/features.php:86
+#: ../../include/features.php:87
msgid "Ability to mark special posts with a star indicator"
msgstr "Capacidad de marcar entradas destacadas con un indicador de estrella"
-#: ../../include/features.php:87
+#: ../../include/features.php:88
msgid "Tag Cloud"
msgstr "Nube de etiquetas"
-#: ../../include/features.php:87
+#: ../../include/features.php:88
msgid "Provide a personal tag cloud on your channel page"
msgstr "Proveer nube de etiquetas personal en su página de canal"
-#: ../../include/comanche.php:34 ../../mod/admin.php:348
+#: ../../include/comanche.php:34 ../../mod/admin.php:351
msgid "Default"
msgstr "Predeterminado"
@@ -717,12 +730,12 @@ msgstr "Predeterminado"
msgid "Delete this item?"
msgstr "¿Borrar este elemento?"
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:681
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:682
#: ../../mod/photos.php:1047 ../../mod/photos.php:1165
msgid "Comment"
msgstr "Comentar"
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:398
+#: ../../include/js_strings.php:7 ../../include/ItemObject.php:399
msgid "[+] show all"
msgstr "[+] mostrar todo:"
@@ -774,7 +787,7 @@ msgstr "Nada nuevo por aquí"
msgid "Rate This Channel (this is public)"
msgstr "Valorar este canal (esto es público)"
-#: ../../include/js_strings.php:20 ../../mod/connedit.php:684
+#: ../../include/js_strings.php:20 ../../mod/connedit.php:694
#: ../../mod/rate.php:157
msgid "Rating"
msgstr "Valoración"
@@ -783,23 +796,23 @@ msgstr "Valoración"
msgid "Describe (optional)"
msgstr "Describir (opcional)"
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:682
-#: ../../mod/fsuggest.php:108 ../../mod/mitem.php:231
-#: ../../mod/connedit.php:705 ../../mod/mood.php:135 ../../mod/pconfig.php:108
-#: ../../mod/filestorage.php:156 ../../mod/poke.php:171 ../../mod/chat.php:184
-#: ../../mod/chat.php:213 ../../mod/rate.php:168 ../../mod/mail.php:371
-#: ../../mod/photos.php:637 ../../mod/photos.php:1008
-#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:411
-#: ../../mod/admin.php:776 ../../mod/admin.php:940 ../../mod/admin.php:1072
-#: ../../mod/admin.php:1266 ../../mod/admin.php:1351 ../../mod/appman.php:99
-#: ../../mod/pdledit.php:58 ../../mod/events.php:534 ../../mod/events.php:710
+#: ../../include/js_strings.php:22 ../../include/ItemObject.php:683
+#: ../../include/widgets.php:676 ../../mod/fsuggest.php:108
+#: ../../mod/mitem.php:231 ../../mod/connedit.php:715 ../../mod/mood.php:135
+#: ../../mod/pconfig.php:108 ../../mod/filestorage.php:156
+#: ../../mod/poke.php:171 ../../mod/chat.php:184 ../../mod/chat.php:213
+#: ../../mod/rate.php:168 ../../mod/photos.php:637 ../../mod/photos.php:1008
+#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:435
+#: ../../mod/admin.php:802 ../../mod/admin.php:966 ../../mod/admin.php:1103
+#: ../../mod/admin.php:1297 ../../mod/admin.php:1382 ../../mod/appman.php:99
+#: ../../mod/pdledit.php:58 ../../mod/events.php:531 ../../mod/events.php:710
#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/import.php:517 ../../mod/thing.php:313 ../../mod/thing.php:359
-#: ../../mod/invite.php:142 ../../mod/settings.php:583
-#: ../../mod/settings.php:695 ../../mod/settings.php:723
-#: ../../mod/settings.php:746 ../../mod/settings.php:831
-#: ../../mod/settings.php:1020 ../../mod/xchan.php:11 ../../mod/group.php:81
-#: ../../mod/connect.php:93 ../../mod/locs.php:108 ../../mod/setup.php:331
+#: ../../mod/import.php:527 ../../mod/thing.php:313 ../../mod/thing.php:359
+#: ../../mod/invite.php:142 ../../mod/mail.php:371 ../../mod/settings.php:584
+#: ../../mod/settings.php:696 ../../mod/settings.php:724
+#: ../../mod/settings.php:747 ../../mod/settings.php:832
+#: ../../mod/settings.php:1021 ../../mod/xchan.php:11 ../../mod/group.php:81
+#: ../../mod/connect.php:93 ../../mod/locs.php:116 ../../mod/setup.php:331
#: ../../mod/setup.php:371 ../../mod/profiles.php:667
#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
@@ -886,19 +899,19 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/js_strings.php:44 ../../include/text.php:1153
+#: ../../include/js_strings.php:44 ../../include/text.php:1164
msgid "January"
msgstr "enero"
-#: ../../include/js_strings.php:45 ../../include/text.php:1153
+#: ../../include/js_strings.php:45 ../../include/text.php:1164
msgid "February"
msgstr "febrero"
-#: ../../include/js_strings.php:46 ../../include/text.php:1153
+#: ../../include/js_strings.php:46 ../../include/text.php:1164
msgid "March"
msgstr "marzo"
-#: ../../include/js_strings.php:47 ../../include/text.php:1153
+#: ../../include/js_strings.php:47 ../../include/text.php:1164
msgid "April"
msgstr "abril"
@@ -907,31 +920,31 @@ msgctxt "long"
msgid "May"
msgstr "mayo"
-#: ../../include/js_strings.php:49 ../../include/text.php:1153
+#: ../../include/js_strings.php:49 ../../include/text.php:1164
msgid "June"
msgstr "junio"
-#: ../../include/js_strings.php:50 ../../include/text.php:1153
+#: ../../include/js_strings.php:50 ../../include/text.php:1164
msgid "July"
msgstr "julio"
-#: ../../include/js_strings.php:51 ../../include/text.php:1153
+#: ../../include/js_strings.php:51 ../../include/text.php:1164
msgid "August"
msgstr "agosto"
-#: ../../include/js_strings.php:52 ../../include/text.php:1153
+#: ../../include/js_strings.php:52 ../../include/text.php:1164
msgid "September"
msgstr "septiembre"
-#: ../../include/js_strings.php:53 ../../include/text.php:1153
+#: ../../include/js_strings.php:53 ../../include/text.php:1164
msgid "October"
msgstr "octubre"
-#: ../../include/js_strings.php:54 ../../include/text.php:1153
+#: ../../include/js_strings.php:54 ../../include/text.php:1164
msgid "November"
msgstr "noviembre"
-#: ../../include/js_strings.php:55 ../../include/text.php:1153
+#: ../../include/js_strings.php:55 ../../include/text.php:1164
msgid "December"
msgstr "diciembre"
@@ -984,31 +997,31 @@ msgstr "Nov"
msgid "Dec"
msgstr "Dic"
-#: ../../include/js_strings.php:68 ../../include/text.php:1149
+#: ../../include/js_strings.php:68 ../../include/text.php:1160
msgid "Sunday"
msgstr "domingo"
-#: ../../include/js_strings.php:69 ../../include/text.php:1149
+#: ../../include/js_strings.php:69 ../../include/text.php:1160
msgid "Monday"
msgstr "lunes"
-#: ../../include/js_strings.php:70 ../../include/text.php:1149
+#: ../../include/js_strings.php:70 ../../include/text.php:1160
msgid "Tuesday"
msgstr "martes"
-#: ../../include/js_strings.php:71 ../../include/text.php:1149
+#: ../../include/js_strings.php:71 ../../include/text.php:1160
msgid "Wednesday"
msgstr "miércoles"
-#: ../../include/js_strings.php:72 ../../include/text.php:1149
+#: ../../include/js_strings.php:72 ../../include/text.php:1160
msgid "Thursday"
msgstr "jueves"
-#: ../../include/js_strings.php:73 ../../include/text.php:1149
+#: ../../include/js_strings.php:73 ../../include/text.php:1160
msgid "Friday"
msgstr "viernes"
-#: ../../include/js_strings.php:74 ../../include/text.php:1149
+#: ../../include/js_strings.php:74 ../../include/text.php:1160
msgid "Saturday"
msgstr "sábado"
@@ -1102,8 +1115,8 @@ msgid "RSS/Atom"
msgstr "RSS/Atom"
#: ../../include/contact_selectors.php:79 ../../mod/id.php:15
-#: ../../mod/id.php:16 ../../mod/admin.php:779 ../../mod/admin.php:788
-#: ../../boot.php:1505
+#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814
+#: ../../boot.php:1488
msgid "Email"
msgstr "Correo electrónico"
@@ -1154,9 +1167,9 @@ msgstr "Visitar %2$s de %1$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s ha actualizado %2$s cambiando %3$s."
-#: ../../include/Contact.php:101 ../../include/identity.php:965
-#: ../../include/conversation.php:949 ../../include/widgets.php:136
-#: ../../include/widgets.php:174 ../../mod/directory.php:316
+#: ../../include/Contact.php:101 ../../include/conversation.php:952
+#: ../../include/widgets.php:137 ../../include/widgets.php:175
+#: ../../include/identity.php:952 ../../mod/directory.php:318
#: ../../mod/match.php:64 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Conectar"
@@ -1179,10 +1192,10 @@ msgstr "El usuario '%s' ha sido eliminado"
msgid "Cannot locate DNS info for database server '%s'"
msgstr "No se ha podido localizar información de DNS para el servidor de base de datos “%sâ€"
-#: ../../include/items.php:423 ../../mod/like.php:280 ../../mod/dreport.php:6
-#: ../../mod/dreport.php:45 ../../mod/subthread.php:49 ../../mod/group.php:68
-#: ../../mod/profperm.php:23 ../../mod/import_items.php:114
-#: ../../index.php:360
+#: ../../include/items.php:423 ../../mod/like.php:280
+#: ../../mod/subthread.php:58 ../../mod/dreport.php:6 ../../mod/dreport.php:45
+#: ../../mod/group.php:68 ../../mod/profperm.php:23
+#: ../../mod/import_items.php:114 ../../index.php:360
msgid "Permission denied"
msgstr "Permiso denegado"
@@ -1223,66 +1236,699 @@ msgstr "Visible para las conexiones permitidas."
msgid "Visible to specific connections."
msgstr "Visible para conexiones específicas."
-#: ../../include/items.php:4298 ../../mod/display.php:36
+#: ../../include/items.php:4317 ../../mod/display.php:36
#: ../../mod/filestorage.php:27 ../../mod/admin.php:127
-#: ../../mod/admin.php:979 ../../mod/admin.php:1179 ../../mod/thing.php:86
+#: ../../mod/admin.php:1005 ../../mod/admin.php:1210 ../../mod/thing.php:86
#: ../../mod/viewsrc.php:20
msgid "Item not found."
msgstr "Elemento no encontrado."
-#: ../../include/items.php:4807 ../../mod/group.php:38 ../../mod/group.php:137
+#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137
msgid "Collection not found."
msgstr "Colección no encontrada."
-#: ../../include/items.php:4823
+#: ../../include/items.php:4842
msgid "Collection is empty."
msgstr "La colección está vacía."
-#: ../../include/items.php:4830
+#: ../../include/items.php:4849
#, php-format
msgid "Collection: %s"
msgstr "Colección: %s"
-#: ../../include/items.php:4840 ../../mod/connedit.php:673
+#: ../../include/items.php:4859 ../../mod/connedit.php:683
#, php-format
msgid "Connection: %s"
msgstr "Conexión: %s"
-#: ../../include/items.php:4842
+#: ../../include/items.php:4861
msgid "Connection not found."
msgstr "Conexión no encontrada"
-#: ../../include/api.php:1324
-msgid "Public Timeline"
-msgstr "Cronología pública"
+#: ../../include/conversation.php:120 ../../include/text.php:1880
+#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:83
+msgid "photo"
+msgstr "foto"
-#: ../../include/network.php:635
+#: ../../include/conversation.php:123 ../../include/event.php:896
+#: ../../include/text.php:1883 ../../mod/like.php:363 ../../mod/tagger.php:47
+#: ../../mod/events.php:245
+msgid "event"
+msgstr "evento"
+
+#: ../../include/conversation.php:126 ../../mod/like.php:113
+msgid "channel"
+msgstr "canal"
+
+#: ../../include/conversation.php:148 ../../include/text.php:1886
+#: ../../mod/like.php:361 ../../mod/subthread.php:83
+msgid "status"
+msgstr "el mensaje de estado"
+
+#: ../../include/conversation.php:150 ../../include/text.php:1888
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr "comentario"
+
+#: ../../include/conversation.php:164 ../../mod/like.php:410
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "a %1$s le gusta %3$s de %2$s"
+
+#: ../../include/conversation.php:167 ../../mod/like.php:412
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "a %1$s no le gusta %3$s de %2$s"
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s ahora está conectado/a con %2$s"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s ha dado un toque a %2$s"
+
+#: ../../include/conversation.php:243 ../../include/text.php:953
+msgid "poked"
+msgstr "ha recibido un toque"
+
+#: ../../include/conversation.php:260 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s está %2$s"
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:1063
+msgctxt "title"
+msgid "Likes"
+msgstr "Me gusta"
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:1063
+msgctxt "title"
+msgid "Dislikes"
+msgstr "No me gusta"
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Agree"
+msgstr "De acuerdo"
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Disagree"
+msgstr "En desacuerdo"
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Abstain"
+msgstr "Abstención"
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Attending"
+msgstr "Participaré"
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Not attending"
+msgstr "No participaré"
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Might attend"
+msgstr "Quizá participe"
+
+#: ../../include/conversation.php:656 ../../include/ItemObject.php:126
+msgid "Select"
+msgstr "Seleccionar"
+
+#: ../../include/conversation.php:664 ../../include/ItemObject.php:89
+msgid "Private Message"
+msgstr "Mensaje Privado"
+
+#: ../../include/conversation.php:671 ../../include/ItemObject.php:227
+msgid "Message signature validated"
+msgstr "Firma de mensaje validada"
+
+#: ../../include/conversation.php:672 ../../include/ItemObject.php:228
+msgid "Message signature incorrect"
+msgstr "Firma de mensaje incorrecta"
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Ver el perfil @ %s de %s"
+
+#: ../../include/conversation.php:709
+msgid "Categories:"
+msgstr "Categorías:"
+
+#: ../../include/conversation.php:710
+msgid "Filed under:"
+msgstr "Archivado bajo:"
+
+#: ../../include/conversation.php:718 ../../include/ItemObject.php:321
+#, php-format
+msgid "from %s"
+msgstr "desde %s"
+
+#: ../../include/conversation.php:721 ../../include/ItemObject.php:324
+#, php-format
+msgid "last edited: %s"
+msgstr "último cambio: %s"
+
+#: ../../include/conversation.php:722 ../../include/ItemObject.php:325
+#, php-format
+msgid "Expires: %s"
+msgstr "Caduca: %s"
+
+#: ../../include/conversation.php:737
+msgid "View in context"
+msgstr "Mostrar en su contexto"
+
+#: ../../include/conversation.php:739 ../../include/conversation.php:1226
+#: ../../include/ItemObject.php:375 ../../mod/photos.php:1029
+#: ../../mod/editblock.php:150 ../../mod/editpost.php:129
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190
+msgid "Please wait"
+msgstr "Espere por favor"
+
+#: ../../include/conversation.php:849
+msgid "remove"
+msgstr "eliminar"
+
+#: ../../include/conversation.php:853 ../../include/nav.php:241
+msgid "Loading..."
+msgstr "Cargando..."
+
+#: ../../include/conversation.php:854
+msgid "Delete Selected Items"
+msgstr "Eliminar elementos seleccionados"
+
+#: ../../include/conversation.php:945
+msgid "View Source"
+msgstr "Ver la fuente original de la entrada"
+
+#: ../../include/conversation.php:946
+msgid "Follow Thread"
+msgstr "Seguir el hilo"
+
+#: ../../include/conversation.php:947
+msgid "Unfollow Thread"
+msgstr "Dejar de seguir este hilo"
+
+#: ../../include/conversation.php:948
+msgid "View Status"
+msgstr "Ver el estado actual"
+
+#: ../../include/conversation.php:949 ../../include/nav.php:86
+#: ../../mod/connedit.php:498
+msgid "View Profile"
+msgstr "Ver el perfil"
+
+#: ../../include/conversation.php:950
+msgid "View Photos"
+msgstr "Ver fotos"
+
+#: ../../include/conversation.php:951
+msgid "Activity/Posts"
+msgstr "Actividad y entradas"
+
+#: ../../include/conversation.php:953
+msgid "Edit Connection"
+msgstr "Editar conexión"
+
+#: ../../include/conversation.php:954
+msgid "Send PM"
+msgstr "Enviar un mensaje privado"
+
+#: ../../include/conversation.php:955 ../../include/apps.php:145
+msgid "Poke"
+msgstr "Toques y otras cosas"
+
+#: ../../include/conversation.php:1069
+#, php-format
+msgid "%s likes this."
+msgstr "a %s le gusta esto."
+
+#: ../../include/conversation.php:1069
+#, php-format
+msgid "%s doesn't like this."
+msgstr "a %s no le gusta esto."
+
+#: ../../include/conversation.php:1073
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "a <span %1$s>%2$d personas</span> le gusta esto."
+msgstr[1] "a <span %1$s>%2$d personas</span> les gusta esto."
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "a <span %1$s>%2$d personas</span> no les gusta esto."
+msgstr[1] "a <span %1$s>%2$d personas</span> no les gusta esto."
+
+#: ../../include/conversation.php:1081
+msgid "and"
+msgstr "y"
+
+#: ../../include/conversation.php:1084
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", y %d persona más"
+msgstr[1] ", y %d personas más"
+
+#: ../../include/conversation.php:1085
+#, php-format
+msgid "%s like this."
+msgstr "a %s le gusta esto."
+
+#: ../../include/conversation.php:1085
+#, php-format
+msgid "%s don't like this."
+msgstr "a %s no le gusta esto."
+
+#: ../../include/conversation.php:1153
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Visible para <strong>cualquiera</strong>"
+
+#: ../../include/conversation.php:1154 ../../mod/mail.php:194
+#: ../../mod/mail.php:308
+msgid "Please enter a link URL:"
+msgstr "Por favor, introduzca la dirección del enlace:"
+
+#: ../../include/conversation.php:1155
+msgid "Please enter a video link/URL:"
+msgstr "Por favor, introduzca un enlace de vídeo:"
+
+#: ../../include/conversation.php:1156
+msgid "Please enter an audio link/URL:"
+msgstr "Por favor, introduzca un enlace de audio:"
+
+#: ../../include/conversation.php:1157
+msgid "Tag term:"
+msgstr "Término de la etiqueta:"
+
+#: ../../include/conversation.php:1158 ../../mod/filer.php:48
+msgid "Save to Folder:"
+msgstr "Guardar en carpeta:"
+
+#: ../../include/conversation.php:1159
+msgid "Where are you right now?"
+msgstr "¿Donde está ahora?"
+
+#: ../../include/conversation.php:1160 ../../mod/editpost.php:56
+#: ../../mod/mail.php:195 ../../mod/mail.php:309
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Caduca YYYY-MM-DD HH:MM"
+
+#: ../../include/conversation.php:1168 ../../include/page_widgets.php:40
+#: ../../include/ItemObject.php:692 ../../mod/photos.php:1049
+#: ../../mod/editblock.php:171 ../../mod/editpost.php:149
+#: ../../mod/events.php:707 ../../mod/webpages.php:188
+#: ../../mod/editwebpage.php:212
+msgid "Preview"
+msgstr "Previsualizar"
+
+#: ../../include/conversation.php:1191 ../../mod/layouts.php:184
+#: ../../mod/photos.php:1028 ../../mod/webpages.php:182
+#: ../../mod/blocks.php:154
+msgid "Share"
+msgstr "Compartir"
+
+#: ../../include/conversation.php:1193
+msgid "Page link name"
+msgstr "Nombre de enlace de página"
+
+#: ../../include/conversation.php:1196
+msgid "Post as"
+msgstr "Publicar como"
+
+#: ../../include/conversation.php:1198 ../../include/ItemObject.php:684
+#: ../../mod/editblock.php:136 ../../mod/editpost.php:113
+#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177
+msgid "Bold"
+msgstr "Negrita"
+
+#: ../../include/conversation.php:1199 ../../include/ItemObject.php:685
+#: ../../mod/editblock.php:137 ../../mod/editpost.php:114
+#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178
+msgid "Italic"
+msgstr "Itálico "
+
+#: ../../include/conversation.php:1200 ../../include/ItemObject.php:686
+#: ../../mod/editblock.php:138 ../../mod/editpost.php:115
+#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179
+msgid "Underline"
+msgstr "Subrayar"
+
+#: ../../include/conversation.php:1201 ../../include/ItemObject.php:687
+#: ../../mod/editblock.php:139 ../../mod/editpost.php:116
+#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180
+msgid "Quote"
+msgstr "Citar"
+
+#: ../../include/conversation.php:1202 ../../include/ItemObject.php:688
+#: ../../mod/editblock.php:140 ../../mod/editpost.php:117
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181
+msgid "Code"
+msgstr "Código"
+
+#: ../../include/conversation.php:1203 ../../mod/editblock.php:142
+#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140
+#: ../../mod/editwebpage.php:182
+msgid "Upload photo"
+msgstr "Subir foto"
+
+#: ../../include/conversation.php:1204
+msgid "upload photo"
+msgstr "subir foto"
+
+#: ../../include/conversation.php:1205 ../../mod/editblock.php:143
+#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:369
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183
+msgid "Attach file"
+msgstr "Adjuntar fichero"
+
+#: ../../include/conversation.php:1206
+msgid "attach file"
+msgstr "adjuntar fichero"
+
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:144
+#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:370
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184
+msgid "Insert web link"
+msgstr "Insertar enlace web"
+
+#: ../../include/conversation.php:1208
+msgid "web link"
+msgstr "enlace web"
+
+#: ../../include/conversation.php:1209
+msgid "Insert video link"
+msgstr "Insertar enlace de vídeo"
+
+#: ../../include/conversation.php:1210
+msgid "video link"
+msgstr "enlace de vídeo"
+
+#: ../../include/conversation.php:1211
+msgid "Insert audio link"
+msgstr "Insertar enlace de audio"
+
+#: ../../include/conversation.php:1212
+msgid "audio link"
+msgstr "enlace de audio"
+
+#: ../../include/conversation.php:1213 ../../mod/editblock.php:148
+#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:188
+msgid "Set your location"
+msgstr "Establecer su ubicación"
+
+#: ../../include/conversation.php:1214
+msgid "set location"
+msgstr "establecer ubicación"
+
+#: ../../include/conversation.php:1215 ../../mod/editpost.php:126
+msgid "Toggle voting"
+msgstr "Cambiar votación"
+
+#: ../../include/conversation.php:1218 ../../mod/editblock.php:149
+#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:189
+msgid "Clear browser location"
+msgstr "Eliminar los datos de ubicación del navegador"
+
+#: ../../include/conversation.php:1219
+msgid "clear location"
+msgstr "borrar los datos de ubicación"
+
+#: ../../include/conversation.php:1221 ../../mod/editblock.php:162
+#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
+msgid "Title (optional)"
+msgstr "Título (opcional)"
+
+#: ../../include/conversation.php:1225 ../../mod/editblock.php:165
+#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:207
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorías (opcional, lista separada por comas)"
+
+#: ../../include/conversation.php:1227 ../../mod/editblock.php:151
+#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:191
+msgid "Permission settings"
+msgstr "Configuración de permisos"
+
+#: ../../include/conversation.php:1228
+msgid "permissions"
+msgstr "permisos"
+
+#: ../../include/conversation.php:1236 ../../mod/editblock.php:159
+#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:200
+msgid "Public post"
+msgstr "Entrada pública"
+
+#: ../../include/conversation.php:1238 ../../mod/editblock.php:166
+#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164
+#: ../../mod/editwebpage.php:208
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Ejemplo: roberto@ejemplo.com, maría@ejemplo.com"
+
+#: ../../include/conversation.php:1251 ../../mod/editblock.php:176
+#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:374
+#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217
+msgid "Set expiration date"
+msgstr "Configurar fecha de caducidad"
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr "Establecer la fecha de publicación"
+
+#: ../../include/conversation.php:1256 ../../include/ItemObject.php:695
+#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:376
+msgid "Encrypt text"
+msgstr "Cifrar texto"
+
+#: ../../include/conversation.php:1258 ../../mod/editpost.php:159
+#: ../../mod/events.php:691
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1259 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
+#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/settings.php:585 ../../mod/settings.php:611
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: ../../include/conversation.php:1502
+msgid "Discover"
+msgstr "Descubrir"
+
+#: ../../include/conversation.php:1505
+msgid "Imported public streams"
+msgstr "Flujos públicos importados"
+
+#: ../../include/conversation.php:1510
+msgid "Commented Order"
+msgstr "Comentarios recientes"
+
+#: ../../include/conversation.php:1513
+msgid "Sort by Comment Date"
+msgstr "Ordenar por fecha de comentario"
+
+#: ../../include/conversation.php:1517
+msgid "Posted Order"
+msgstr "Publicaciones recientes"
+
+#: ../../include/conversation.php:1520
+msgid "Sort by Post Date"
+msgstr "Ordenar por fecha de publicación"
+
+#: ../../include/conversation.php:1525 ../../include/widgets.php:95
+msgid "Personal"
+msgstr "Personales"
+
+#: ../../include/conversation.php:1528
+msgid "Posts that mention or involve you"
+msgstr "Publicaciones que le mencionan o involucran"
+
+#: ../../include/conversation.php:1534 ../../mod/menu.php:112
+#: ../../mod/connections.php:72 ../../mod/connections.php:82
+msgid "New"
+msgstr "Nuevas"
+
+#: ../../include/conversation.php:1537
+msgid "Activity Stream - by date"
+msgstr "Flujo de actividad - por fecha"
+
+#: ../../include/conversation.php:1543
+msgid "Starred"
+msgstr "Preferidas"
+
+#: ../../include/conversation.php:1546
+msgid "Favourite Posts"
+msgstr "Publicaciones favoritas"
+
+#: ../../include/conversation.php:1553
+msgid "Spam"
+msgstr "Correo basura"
+
+#: ../../include/conversation.php:1556
+msgid "Posts flagged as SPAM"
+msgstr "Publicaciones marcadas como basura"
+
+#: ../../include/conversation.php:1600 ../../mod/admin.php:973
+msgid "Channel"
+msgstr "Canal"
+
+#: ../../include/conversation.php:1603
+msgid "Status Messages and Posts"
+msgstr "Mensajes de estado y publicaciones"
+
+#: ../../include/conversation.php:1612
+msgid "About"
+msgstr "Mi perfil"
+
+#: ../../include/conversation.php:1615
+msgid "Profile Details"
+msgstr "Detalles del perfil"
+
+#: ../../include/conversation.php:1621 ../../include/apps.php:139
+#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Fotos"
+
+#: ../../include/conversation.php:1624 ../../include/photos.php:483
+msgid "Photo Albums"
+msgstr "Ãlbumes de fotos"
+
+#: ../../include/conversation.php:1631
+msgid "Files and Storage"
+msgstr "Ficheros y repositorio"
+
+#: ../../include/conversation.php:1641 ../../include/conversation.php:1644
+msgid "Chatrooms"
+msgstr "Salas de chat"
+
+#: ../../include/conversation.php:1654 ../../include/apps.php:129
+#: ../../include/nav.php:103
+msgid "Bookmarks"
+msgstr "Marcadores"
+
+#: ../../include/conversation.php:1657
+msgid "Saved Bookmarks"
+msgstr "Marcadores guardados"
+
+#: ../../include/conversation.php:1664 ../../include/apps.php:136
+#: ../../include/nav.php:107 ../../mod/webpages.php:178
+msgid "Webpages"
+msgstr "Páginas web"
+
+#: ../../include/conversation.php:1667
+msgid "Manage Webpages"
+msgstr "Administrar páginas web"
+
+#: ../../include/conversation.php:1696 ../../include/ItemObject.php:175
+#: ../../include/ItemObject.php:187 ../../mod/photos.php:1082
+#: ../../mod/photos.php:1094
+msgid "View all"
+msgstr "Ver todo"
+
+#: ../../include/conversation.php:1720 ../../include/ItemObject.php:179
+#: ../../include/identity.php:1263 ../../include/taxonomy.php:412
+#: ../../mod/photos.php:1086
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Me gusta"
+msgstr[1] "Me gusta"
+
+#: ../../include/conversation.php:1723 ../../include/ItemObject.php:184
+#: ../../mod/photos.php:1091
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "No me gusta"
+msgstr[1] "No me gusta"
+
+#: ../../include/conversation.php:1726
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Participaré"
+msgstr[1] "Participaré"
+
+#: ../../include/conversation.php:1729
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "No participaré"
+msgstr[1] "No participaré"
+
+#: ../../include/conversation.php:1732
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indeciso/a"
+msgstr[1] "Indecisos/as"
+
+#: ../../include/conversation.php:1735
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "Está de acuerdo"
+msgstr[1] "De acuerdo"
+
+#: ../../include/conversation.php:1738
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "No está de acuerdo"
+msgstr[1] "En desacuerdo"
+
+#: ../../include/conversation.php:1741
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "se abstiene"
+msgstr[1] "Se abstienen"
+
+#: ../../include/network.php:613
msgid "view full size"
msgstr "Ver en el tamaño original"
-#: ../../include/network.php:1613 ../../include/enotify.php:57
+#: ../../include/network.php:1591 ../../include/enotify.php:57
msgid "$Projectname Notification"
msgstr "Notificación de $Projectname"
-#: ../../include/network.php:1614 ../../include/enotify.php:58
+#: ../../include/network.php:1592 ../../include/enotify.php:58
msgid "$projectname"
msgstr "$projectname"
-#: ../../include/network.php:1616 ../../include/enotify.php:60
+#: ../../include/network.php:1594 ../../include/enotify.php:60
msgid "Thank You,"
msgstr "Gracias,"
-#: ../../include/network.php:1618 ../../include/enotify.php:62
+#: ../../include/network.php:1596 ../../include/enotify.php:62
#, php-format
msgid "%s Administrator"
msgstr "%s Administrador"
-#: ../../include/network.php:1660 ../../include/account.php:316
+#: ../../include/network.php:1638 ../../include/account.php:316
#: ../../include/account.php:343 ../../include/account.php:403
msgid "Administrator"
msgstr "Administrador"
-#: ../../include/network.php:1674
+#: ../../include/network.php:1652
msgid "No Subject"
msgstr "Sin asunto"
@@ -1291,42 +1937,33 @@ msgstr "Sin asunto"
msgid "%1$s's bookmarks"
msgstr "Marcadores de %1$s"
-#: ../../include/acl_selectors.php:239
+#: ../../include/acl_selectors.php:240
msgid "Visible to your default audience"
msgstr "Visible para su público predeterminado."
-#: ../../include/acl_selectors.php:240
+#: ../../include/acl_selectors.php:241
msgid "Show"
msgstr "Mostrar"
-#: ../../include/acl_selectors.php:241
+#: ../../include/acl_selectors.php:242
msgid "Don't show"
msgstr "No mostrar"
-#: ../../include/acl_selectors.php:247 ../../mod/filestorage.php:147
+#: ../../include/acl_selectors.php:247
+msgid "Other networks and post services"
+msgstr "Otras redes y servicios de correo"
+
+#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147
#: ../../mod/chat.php:211 ../../mod/photos.php:631 ../../mod/photos.php:1001
#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356
msgid "Permissions"
msgstr "Permisos"
-#: ../../include/acl_selectors.php:248 ../../include/ItemObject.php:369
+#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:370
#: ../../mod/photos.php:1218
msgid "Close"
msgstr "Cerrar"
-#: ../../include/import.php:23
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."
-
-#: ../../include/import.php:70
-msgid "Channel clone failed. Import failed."
-msgstr "La clonación del canal no ha salido bien. La importación ha fallado."
-
-#: ../../include/import.php:80 ../../mod/import.php:138
-msgid "Cloned channel not found. Import failed."
-msgstr "No se ha podido importar el canal porque el canal clonado no se ha encontrado."
-
#: ../../include/photos.php:112
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
@@ -1344,10 +1981,6 @@ msgstr "No ha sido posible procesar la imagen"
msgid "Photo storage failed."
msgstr "La foto no ha podido ser guardada."
-#: ../../include/photos.php:483 ../../include/conversation.php:1616
-msgid "Photo Albums"
-msgstr "Ãlbumes de fotos"
-
#: ../../include/photos.php:487
msgid "Upload New Photos"
msgstr "Subir nuevas fotos"
@@ -1370,14 +2003,6 @@ msgstr "Nueva página"
msgid "View"
msgstr "Ver"
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:691
-#: ../../include/conversation.php:1160 ../../mod/photos.php:1049
-#: ../../mod/editblock.php:171 ../../mod/editpost.php:149
-#: ../../mod/events.php:707 ../../mod/webpages.php:188
-#: ../../mod/editwebpage.php:212
-msgid "Preview"
-msgstr "Previsualizar"
-
#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
msgid "Actions"
msgstr "Acciones"
@@ -1400,7 +2025,7 @@ msgstr "Creado"
msgid "Edited"
msgstr "Editado"
-#: ../../include/photo/photo_driver.php:708 ../../mod/photos.php:94
+#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94
#: ../../mod/photos.php:699 ../../mod/profile_photo.php:146
#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376
msgid "Profile Photos"
@@ -1552,12 +2177,12 @@ msgstr "Infiel"
msgid "Sex Addict"
msgstr "Con adicción al sexo"
-#: ../../include/profile_selectors.php:80 ../../include/identity.php:390
-#: ../../include/identity.php:391 ../../include/identity.php:398
-#: ../../include/widgets.php:429 ../../mod/connedit.php:568
-#: ../../mod/settings.php:337 ../../mod/settings.php:341
-#: ../../mod/settings.php:342 ../../mod/settings.php:345
-#: ../../mod/settings.php:356
+#: ../../include/profile_selectors.php:80 ../../include/widgets.php:430
+#: ../../include/identity.php:390 ../../include/identity.php:391
+#: ../../include/identity.php:398 ../../mod/connedit.php:573
+#: ../../mod/settings.php:338 ../../mod/settings.php:342
+#: ../../mod/settings.php:343 ../../mod/settings.php:346
+#: ../../mod/settings.php:357
msgid "Friends"
msgstr "Amigos"
@@ -1659,20 +2284,20 @@ msgstr "Contenido incorporado"
msgid "Embedding disabled"
msgstr "Incrustación deshabilitada"
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:468
+#: ../../include/event.php:22 ../../include/bb2diaspora.php:471
msgid "l F d, Y \\@ g:i A"
msgstr "l d de F, Y \\@ G:i"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:474
+#: ../../include/event.php:30 ../../include/bb2diaspora.php:477
msgid "Starts:"
msgstr "Comienza:"
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:482
+#: ../../include/event.php:40 ../../include/bb2diaspora.php:485
msgid "Finishes:"
msgstr "Finaliza:"
-#: ../../include/event.php:50 ../../include/identity.php:1016
-#: ../../include/bb2diaspora.php:490 ../../mod/directory.php:302
+#: ../../include/event.php:50 ../../include/identity.php:1003
+#: ../../include/bb2diaspora.php:493 ../../mod/directory.php:304
#: ../../mod/events.php:701
msgid "Location:"
msgstr "Ubicación:"
@@ -1681,12 +2306,6 @@ msgstr "Ubicación:"
msgid "This event has been added to your calendar."
msgstr "Este evento ha sido añadido a su calendario."
-#: ../../include/event.php:896 ../../include/text.php:1866
-#: ../../include/conversation.php:123 ../../mod/like.php:363
-#: ../../mod/tagger.php:47 ../../mod/events.php:245
-msgid "event"
-msgstr "evento"
-
#: ../../include/event.php:953
msgid "Not specified"
msgstr "Sin especificar"
@@ -1711,16 +2330,11 @@ msgstr "Cancelado/a"
msgid "Site Admin"
msgstr "Adminstrador del sitio"
-#: ../../include/apps.php:129 ../../include/conversation.php:1646
-#: ../../include/nav.php:103
-msgid "Bookmarks"
-msgstr "Marcadores"
-
#: ../../include/apps.php:130
msgid "Address Book"
msgstr "Libreta de direcciones"
-#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1503
+#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1486
msgid "Login"
msgstr "Iniciar sesión"
@@ -1733,32 +2347,22 @@ msgstr "Administración de canales"
msgid "Grid"
msgstr "Red"
-#: ../../include/apps.php:134 ../../include/widgets.php:553
-#: ../../include/nav.php:202 ../../mod/admin.php:1033 ../../mod/admin.php:1233
+#: ../../include/apps.php:134 ../../include/widgets.php:554
+#: ../../include/nav.php:202 ../../mod/admin.php:1064 ../../mod/admin.php:1264
msgid "Settings"
msgstr "Ajustes"
-#: ../../include/apps.php:136 ../../include/conversation.php:1656
-#: ../../include/nav.php:107 ../../mod/webpages.php:178
-msgid "Webpages"
-msgstr "Páginas web"
-
#: ../../include/apps.php:137 ../../include/nav.php:177
msgid "Channel Home"
msgstr "Mi canal"
-#: ../../include/apps.php:138 ../../include/identity.php:1250
-#: ../../include/identity.php:1367 ../../mod/profperm.php:112
+#: ../../include/apps.php:138 ../../include/identity.php:1237
+#: ../../include/identity.php:1354 ../../mod/profperm.php:112
msgid "Profile"
msgstr "Perfil"
-#: ../../include/apps.php:139 ../../include/conversation.php:1613
-#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Fotos"
-
#: ../../include/apps.php:140 ../../include/nav.php:196
-#: ../../mod/events.php:526
+#: ../../mod/events.php:523
msgid "Events"
msgstr "Eventos"
@@ -1779,16 +2383,12 @@ msgstr "Correo"
msgid "Mood"
msgstr "Estado de ánimo"
-#: ../../include/apps.php:145 ../../include/conversation.php:952
-msgid "Poke"
-msgstr "Toques y otras cosas"
-
#: ../../include/apps.php:146 ../../include/nav.php:97
msgid "Chat"
msgstr "Chat"
-#: ../../include/apps.php:147 ../../include/text.php:857
-#: ../../include/text.php:869 ../../include/nav.php:159
+#: ../../include/apps.php:147 ../../include/text.php:866
+#: ../../include/text.php:878 ../../include/nav.php:159
#: ../../mod/search.php:40
msgid "Search"
msgstr "Buscar"
@@ -1827,7 +2427,7 @@ msgid "Profile Photo"
msgstr "Foto del perfil"
#: ../../include/apps.php:252 ../../mod/settings.php:84
-#: ../../mod/settings.php:609
+#: ../../mod/settings.php:610
msgid "Update"
msgstr "Actualizar"
@@ -1839,79 +2439,22 @@ msgstr "Instalar"
msgid "Purchase"
msgstr "Comprar"
-#: ../../include/attach.php:246 ../../include/attach.php:332
-msgid "Item was not found."
-msgstr "Elemento no encontrado."
-
-#: ../../include/attach.php:496
-msgid "No source file."
-msgstr "Ningún fichero de origen"
-
-#: ../../include/attach.php:514
-msgid "Cannot locate file to replace"
-msgstr "No se puede localizar el fichero que va a ser sustituido."
-
-#: ../../include/attach.php:532
-msgid "Cannot locate file to revise/update"
-msgstr "No se puede localizar el fichero para revisar/actualizar"
-
-#: ../../include/attach.php:667
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "El fichero supera el limite de tamaño de %d"
-
-#: ../../include/attach.php:681
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos."
-
-#: ../../include/attach.php:837
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado."
-
-#: ../../include/attach.php:850
-msgid "Stored file could not be verified. Upload failed."
-msgstr "El fichero almacenado no ha podido ser verificado. El envío ha fallado."
-
-#: ../../include/attach.php:898 ../../include/attach.php:914
-msgid "Path not available."
-msgstr "Ruta no disponible."
-
-#: ../../include/attach.php:960 ../../include/attach.php:1112
-msgid "Empty pathname"
-msgstr "Ruta vacía"
-
-#: ../../include/attach.php:986
-msgid "duplicate filename or path"
-msgstr "Nombre duplicado de ruta o fichero"
-
-#: ../../include/attach.php:1008
-msgid "Path not found."
-msgstr "Ruta no encontrada"
-
-#: ../../include/attach.php:1066
-msgid "mkdir failed."
-msgstr "mkdir ha fallado."
-
-#: ../../include/attach.php:1070
-msgid "database storage failed."
-msgstr "el almacenamiento en la base de datos ha fallado."
-
-#: ../../include/attach.php:1118
-msgid "Empty path"
-msgstr "Ruta vacía"
+#: ../../include/api.php:1302
+msgid "Public Timeline"
+msgstr "Cronología pública"
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Desconectado/a."
+#: ../../include/import.php:23
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Autenticación fallida."
+#: ../../include/import.php:70
+msgid "Channel clone failed. Import failed."
+msgstr "La clonación del canal no ha salido bien. La importación ha fallado."
-#: ../../include/auth.php:286 ../../mod/openid.php:189
-msgid "Login failed."
-msgstr "El acceso ha fallado."
+#: ../../include/import.php:80 ../../mod/import.php:139
+msgid "Cloned channel not found. Import failed."
+msgstr "No se ha podido importar el canal porque el canal clonado no se ha encontrado."
#: ../../include/enotify.php:96
#, php-format
@@ -1942,164 +2485,156 @@ msgstr "un mensaje privado"
msgid "Please visit %s to view and/or reply to your private messages."
msgstr "Por favor visite %s para ver y/o responder a su mensaje privado."
-#: ../../include/enotify.php:158
+#: ../../include/enotify.php:160
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%4$s[/zrl]"
-#: ../../include/enotify.php:166
+#: ../../include/enotify.php:168
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%5$s de %4$s[/zrl] "
-#: ../../include/enotify.php:175
+#: ../../include/enotify.php:177
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%4$s creado por usted[/zrl]"
-#: ../../include/enotify.php:186
+#: ../../include/enotify.php:188
#, php-format
msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
msgstr "[Hubzilla:Aviso] Nuevo comentario de %2$s a la conversación #%1$d"
-#: ../../include/enotify.php:187
+#: ../../include/enotify.php:189
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr "%1$s, %2$s ha comentado un elemento/conversación que ha estado siguiendo."
-#: ../../include/enotify.php:190 ../../include/enotify.php:205
-#: ../../include/enotify.php:231 ../../include/enotify.php:249
-#: ../../include/enotify.php:263
+#: ../../include/enotify.php:192 ../../include/enotify.php:207
+#: ../../include/enotify.php:233 ../../include/enotify.php:251
+#: ../../include/enotify.php:265
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr "Para ver o comentar la conversación, visite %s"
-#: ../../include/enotify.php:196
+#: ../../include/enotify.php:198
#, php-format
msgid "[Hubzilla:Notify] %s posted to your profile wall"
msgstr "[Hubzilla:Aviso] %s ha publicado una entrada en su página de inicio del perfil"
-#: ../../include/enotify.php:198
+#: ../../include/enotify.php:200
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr "%1$s, %2$s publicó en su página del perfil en %3$s"
-#: ../../include/enotify.php:200
+#: ../../include/enotify.php:202
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr "%1$s, %2$s publicó en [zrl=%3$s]su página del perfil[/zrl]"
-#: ../../include/enotify.php:224
+#: ../../include/enotify.php:226
#, php-format
msgid "[Hubzilla:Notify] %s tagged you"
msgstr "[Hubzilla:Aviso] %s le ha etiquetado"
-#: ../../include/enotify.php:225
+#: ../../include/enotify.php:227
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr "%1$s, %2$s le etiquetó en %3$s"
-#: ../../include/enotify.php:226
+#: ../../include/enotify.php:228
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr "%1$s, %2$s [zrl=%3$s]le etiquetó[/zrl]."
-#: ../../include/enotify.php:238
+#: ../../include/enotify.php:240
#, php-format
msgid "[Hubzilla:Notify] %1$s poked you"
msgstr "[Hubzilla:Aviso] %1$s le ha dado un toque"
-#: ../../include/enotify.php:239
+#: ../../include/enotify.php:241
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr "%1$s, %2$s le dio un toque en %3$s"
-#: ../../include/enotify.php:240
+#: ../../include/enotify.php:242
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr "%1$s, %2$s [zrl=%2$s]le dio un toque[/zrl]."
-#: ../../include/enotify.php:256
+#: ../../include/enotify.php:258
#, php-format
msgid "[Hubzilla:Notify] %s tagged your post"
msgstr "[Hubzilla:Aviso] %s ha etiquetado su publicación"
-#: ../../include/enotify.php:257
+#: ../../include/enotify.php:259
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr "%1$s, %2$s ha etiquetado su publicación en %3$s"
-#: ../../include/enotify.php:258
+#: ../../include/enotify.php:260
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr "%1$s, %2$s etiquetó [zrl=%3$s]su publicación[/zrl]"
-#: ../../include/enotify.php:270
+#: ../../include/enotify.php:272
msgid "[Hubzilla:Notify] Introduction received"
msgstr "[Hubzilla:Aviso] Ha recibido una solicitud de conexión"
-#: ../../include/enotify.php:271
+#: ../../include/enotify.php:273
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr "%1$s, ha recibido una nueva solicitud de conexión de '%2$s' en %3$s"
-#: ../../include/enotify.php:272
+#: ../../include/enotify.php:274
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr "%1$s, ha recibido [zrl=%2$s]una nueva solicitud de conexión[/zrl] de %3$s."
-#: ../../include/enotify.php:276 ../../include/enotify.php:295
+#: ../../include/enotify.php:278 ../../include/enotify.php:297
#, php-format
msgid "You may visit their profile at %s"
msgstr "Puede visitar su perfil en %s"
-#: ../../include/enotify.php:278
+#: ../../include/enotify.php:280
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr "Por favor, visite %s para permitir o rechazar la solicitad de conexión."
-#: ../../include/enotify.php:285
+#: ../../include/enotify.php:287
msgid "[Hubzilla:Notify] Friend suggestion received"
msgstr "[Hubzilla:Aviso] Ha recibido una sugerencia de amistad"
-#: ../../include/enotify.php:286
+#: ../../include/enotify.php:288
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr "%1$s, ha recibido una sugerencia de conexión de '%2$s' en %3$s"
-#: ../../include/enotify.php:287
+#: ../../include/enotify.php:289
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
"%4$s."
msgstr "%1$s, ha recibido [zrl=%2$s]una sugerencia de conexión[/zrl] para %3$s de %4$s."
-#: ../../include/enotify.php:293
+#: ../../include/enotify.php:295
msgid "Name:"
msgstr "Nombre:"
-#: ../../include/enotify.php:294
+#: ../../include/enotify.php:296
msgid "Photo:"
msgstr "Foto:"
-#: ../../include/enotify.php:297
+#: ../../include/enotify.php:299
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Por favor, visite %s para aprobar o rechazar la sugerencia."
-#: ../../include/enotify.php:511
+#: ../../include/enotify.php:514
msgid "[Hubzilla:Notify]"
msgstr "[Hubzilla:Aviso]"
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr "Mensaje Privado"
-
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:656
-msgid "Select"
-msgstr "Seleccionar"
-
#: ../../include/ItemObject.php:130
msgid "Save to Folder"
msgstr "Guardar en carpeta"
@@ -2128,29 +2663,6 @@ msgstr "No estoy de acuerdo"
msgid "I abstain"
msgstr "Me abstengo"
-#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1688 ../../mod/photos.php:1082
-#: ../../mod/photos.php:1094
-msgid "View all"
-msgstr "Ver todo"
-
-#: ../../include/ItemObject.php:179 ../../include/identity.php:1276
-#: ../../include/taxonomy.php:403 ../../include/conversation.php:1712
-#: ../../mod/photos.php:1086
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Me gusta"
-msgstr[1] "Me gusta"
-
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1715
-#: ../../mod/photos.php:1091
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "No me gusta"
-msgstr[1] "No me gusta"
-
#: ../../include/ItemObject.php:212
msgid "Add Star"
msgstr "Destacar añadiendo una estrella"
@@ -2167,14 +2679,6 @@ msgstr "Activar o desactivar el estado de entrada preferida"
msgid "starred"
msgstr "preferidas"
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr "Firma de mensaje validada"
-
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr "Firma de mensaje incorrecta"
-
#: ../../include/ItemObject.php:236
msgid "Add Tag"
msgstr "Añadir etiqueta"
@@ -2183,7 +2687,7 @@ msgstr "Añadir etiqueta"
msgid "I like this (toggle)"
msgstr "me gusta (cambiar)"
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:317
+#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:326
msgid "like"
msgstr "me gusta"
@@ -2191,7 +2695,7 @@ msgstr "me gusta"
msgid "I don't like this (toggle)"
msgstr "No me gusta esto (cambiar)"
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:318
+#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:327
msgid "dislike"
msgstr "no me gusta"
@@ -2203,416 +2707,117 @@ msgstr "Compartir esto"
msgid "share"
msgstr "compartir"
-#: ../../include/ItemObject.php:276
+#: ../../include/ItemObject.php:277
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d comentario"
msgstr[1] "%d comentarios"
-#: ../../include/ItemObject.php:301 ../../include/ItemObject.php:302
+#: ../../include/ItemObject.php:302 ../../include/ItemObject.php:303
#, php-format
msgid "View %s's profile - %s"
msgstr "Ver el perfil de %s - %s"
-#: ../../include/ItemObject.php:305
+#: ../../include/ItemObject.php:306
msgid "to"
msgstr "a"
-#: ../../include/ItemObject.php:306
+#: ../../include/ItemObject.php:307
msgid "via"
msgstr "mediante"
-#: ../../include/ItemObject.php:307
+#: ../../include/ItemObject.php:308
msgid "Wall-to-Wall"
msgstr "De página del perfil a página del perfil (de Muro a Muro)"
-#: ../../include/ItemObject.php:308
+#: ../../include/ItemObject.php:309
msgid "via Wall-To-Wall:"
msgstr "Mediante el procedimiento página del perfil a página del perfil (de Muro a Muro)"
-#: ../../include/ItemObject.php:311
+#: ../../include/ItemObject.php:312
msgid "Delivery Report"
msgstr "Informe de transmisión"
-#: ../../include/ItemObject.php:320 ../../include/conversation.php:718
-#, php-format
-msgid "from %s"
-msgstr "desde %s"
-
-#: ../../include/ItemObject.php:323 ../../include/conversation.php:721
-#, php-format
-msgid "last edited: %s"
-msgstr "último cambio: %s"
-
-#: ../../include/ItemObject.php:324 ../../include/conversation.php:722
-#, php-format
-msgid "Expires: %s"
-msgstr "Caduca: %s"
-
-#: ../../include/ItemObject.php:347
+#: ../../include/ItemObject.php:348
msgid "Save Bookmarks"
msgstr "Guardar en Marcadores"
-#: ../../include/ItemObject.php:348
+#: ../../include/ItemObject.php:349
msgid "Add to Calendar"
msgstr "Añadir al calendario"
-#: ../../include/ItemObject.php:357
+#: ../../include/ItemObject.php:358
msgid "Mark all seen"
msgstr "Marcar todo como visto"
-#: ../../include/ItemObject.php:363 ../../mod/photos.php:1212
+#: ../../include/ItemObject.php:364 ../../mod/photos.php:1212
msgctxt "noun"
msgid "Likes"
msgstr "Me gusta"
-#: ../../include/ItemObject.php:364 ../../mod/photos.php:1213
+#: ../../include/ItemObject.php:365 ../../mod/photos.php:1213
msgctxt "noun"
msgid "Dislikes"
msgstr "No me gusta"
-#: ../../include/ItemObject.php:374 ../../include/conversation.php:739
-#: ../../include/conversation.php:1218 ../../mod/photos.php:1029
-#: ../../mod/editblock.php:150 ../../mod/editpost.php:129
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190
-msgid "Please wait"
-msgstr "Espere por favor"
-
-#: ../../include/ItemObject.php:679 ../../mod/photos.php:1045
+#: ../../include/ItemObject.php:680 ../../mod/photos.php:1045
#: ../../mod/photos.php:1163
msgid "This is you"
msgstr "Este es usted"
-#: ../../include/ItemObject.php:683 ../../include/conversation.php:1190
-#: ../../mod/editblock.php:136 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177
-msgid "Bold"
-msgstr "Negrita"
-
-#: ../../include/ItemObject.php:684 ../../include/conversation.php:1191
-#: ../../mod/editblock.php:137 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178
-msgid "Italic"
-msgstr "Itálico "
-
-#: ../../include/ItemObject.php:685 ../../include/conversation.php:1192
-#: ../../mod/editblock.php:138 ../../mod/editpost.php:115
-#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179
-msgid "Underline"
-msgstr "Subrayar"
-
-#: ../../include/ItemObject.php:686 ../../include/conversation.php:1193
-#: ../../mod/editblock.php:139 ../../mod/editpost.php:116
-#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180
-msgid "Quote"
-msgstr "Citar"
-
-#: ../../include/ItemObject.php:687 ../../include/conversation.php:1194
-#: ../../mod/editblock.php:140 ../../mod/editpost.php:117
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181
-msgid "Code"
-msgstr "Código"
-
-#: ../../include/ItemObject.php:688
+#: ../../include/ItemObject.php:689
msgid "Image"
msgstr "Imagen"
-#: ../../include/ItemObject.php:689
+#: ../../include/ItemObject.php:690
msgid "Insert Link"
msgstr "Insertar enlace"
-#: ../../include/ItemObject.php:690
+#: ../../include/ItemObject.php:691
msgid "Video"
msgstr "Vídeo"
-#: ../../include/ItemObject.php:694 ../../include/conversation.php:1248
-#: ../../mod/mail.php:247 ../../mod/mail.php:376 ../../mod/editpost.php:157
-msgid "Encrypt text"
-msgstr "Cifrar texto"
-
-#: ../../include/text.php:391
-msgid "prev"
-msgstr "anterior"
-
-#: ../../include/text.php:393
-msgid "first"
-msgstr "primera"
-
-#: ../../include/text.php:422
-msgid "last"
-msgstr "última"
-
-#: ../../include/text.php:425
-msgid "next"
-msgstr "próxima"
-
-#: ../../include/text.php:435
-msgid "older"
-msgstr "más antiguas"
-
-#: ../../include/text.php:437
-msgid "newer"
-msgstr "más recientes"
+#: ../../include/zot.php:685
+msgid "Invalid data packet"
+msgstr "Paquete de datos no válido"
-#: ../../include/text.php:775
-msgid "No connections"
-msgstr "Sin conexiones"
+#: ../../include/zot.php:701
+msgid "Unable to verify channel signature"
+msgstr "No ha sido posible de verificar la firma del canal"
-#: ../../include/text.php:787
+#: ../../include/zot.php:2265
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d Conexión"
-msgstr[1] "%d Conexiones"
-
-#: ../../include/text.php:800 ../../mod/viewconnections.php:101
-msgid "View Connections"
-msgstr "Ver conexiones"
-
-#: ../../include/text.php:858 ../../include/text.php:870
-#: ../../include/widgets.php:191 ../../mod/filer.php:49
-#: ../../mod/admin.php:1411 ../../mod/admin.php:1431 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98
-msgid "Save"
-msgstr "Guardar"
-
-#: ../../include/text.php:942
-msgid "poke"
-msgstr "un toque"
-
-#: ../../include/text.php:942 ../../include/conversation.php:243
-msgid "poked"
-msgstr "ha recibido un toque"
-
-#: ../../include/text.php:943
-msgid "ping"
-msgstr "un \"ping\""
-
-#: ../../include/text.php:943
-msgid "pinged"
-msgstr "avisado/a"
-
-#: ../../include/text.php:944
-msgid "prod"
-msgstr "una incitación"
-
-#: ../../include/text.php:944
-msgid "prodded"
-msgstr "ha recibido una incitación"
-
-#: ../../include/text.php:945
-msgid "slap"
-msgstr "una bofetada"
-
-#: ../../include/text.php:945
-msgid "slapped"
-msgstr "ha recibido una bofetada"
-
-#: ../../include/text.php:946
-msgid "finger"
-msgstr "un \"finger\""
-
-#: ../../include/text.php:946
-msgid "fingered"
-msgstr "ha recibido un \"finger\""
-
-#: ../../include/text.php:947
-msgid "rebuff"
-msgstr "un rechazo"
-
-#: ../../include/text.php:947
-msgid "rebuffed"
-msgstr "ha sido rechazado/a"
-
-#: ../../include/text.php:957
-msgid "happy"
-msgstr "feliz"
-
-#: ../../include/text.php:958
-msgid "sad"
-msgstr "triste"
-
-#: ../../include/text.php:959
-msgid "mellow"
-msgstr "amable"
-
-#: ../../include/text.php:960
-msgid "tired"
-msgstr "cansado/a"
-
-#: ../../include/text.php:961
-msgid "perky"
-msgstr "fresco/a"
-
-#: ../../include/text.php:962
-msgid "angry"
-msgstr "enfadado/a"
-
-#: ../../include/text.php:963
-msgid "stupified"
-msgstr "estupefacto/a"
-
-#: ../../include/text.php:964
-msgid "puzzled"
-msgstr "perplejo/a"
-
-#: ../../include/text.php:965
-msgid "interested"
-msgstr "interesado/a"
-
-#: ../../include/text.php:966
-msgid "bitter"
-msgstr "amargado/a"
-
-#: ../../include/text.php:967
-msgid "cheerful"
-msgstr "alegre"
-
-#: ../../include/text.php:968
-msgid "alive"
-msgstr "vivo/a"
-
-#: ../../include/text.php:969
-msgid "annoyed"
-msgstr "molesto/a"
-
-#: ../../include/text.php:970
-msgid "anxious"
-msgstr "ansioso/a"
-
-#: ../../include/text.php:971
-msgid "cranky"
-msgstr "de mal humor"
-
-#: ../../include/text.php:972
-msgid "disturbed"
-msgstr "perturbado/a"
-
-#: ../../include/text.php:973
-msgid "frustrated"
-msgstr "frustrado/a"
-
-#: ../../include/text.php:974
-msgid "depressed"
-msgstr "deprimido/a"
-
-#: ../../include/text.php:975
-msgid "motivated"
-msgstr "motivado/a"
-
-#: ../../include/text.php:976
-msgid "relaxed"
-msgstr "relajado/a"
-
-#: ../../include/text.php:977
-msgid "surprised"
-msgstr "sorprendido/a"
-
-#: ../../include/text.php:1153
-msgid "May"
-msgstr "mayo"
-
-#: ../../include/text.php:1230 ../../include/text.php:1234
-msgid "Unknown Attachment"
-msgstr "Adjunto no reconocido"
-
-#: ../../include/text.php:1236
-msgid "Attachment"
-msgstr "Fichero adjunto"
-
-#: ../../include/text.php:1236
-msgid "Size Unknown"
-msgstr "Tamaño desconocido"
-
-#: ../../include/text.php:1272
-msgid "remove category"
-msgstr "eliminar categoría"
-
-#: ../../include/text.php:1349
-msgid "remove from file"
-msgstr "eliminar del fichero"
-
-#: ../../include/text.php:1461 ../../include/text.php:1472
-msgid "Click to open/close"
-msgstr "Pulsar para abrir/cerrar"
-
-#: ../../include/text.php:1640 ../../mod/events.php:497
-msgid "Link to Source"
-msgstr "Enlazar con la entrada en su ubicación original"
-
-#: ../../include/text.php:1661 ../../include/text.php:1732
-msgid "default"
-msgstr "por defecto"
-
-#: ../../include/text.php:1669
-msgid "Page layout"
-msgstr "Formato de la página"
-
-#: ../../include/text.php:1669
-msgid "You can create your own with the layouts tool"
-msgstr "Puede crear su propio formato gráfico con las herramientas de diseño"
-
-#: ../../include/text.php:1710
-msgid "Page content type"
-msgstr "Tipo de contenido de página"
-
-#: ../../include/text.php:1744
-msgid "Select an alternate language"
-msgstr "Seleccionar un idioma alternativo"
-
-#: ../../include/text.php:1863 ../../include/conversation.php:120
-#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:172
-msgid "photo"
-msgstr "foto"
-
-#: ../../include/text.php:1869 ../../include/conversation.php:148
-#: ../../mod/like.php:361 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:172
-msgid "status"
-msgstr "el mensaje de estado"
-
-#: ../../include/text.php:1871 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "comentario"
-
-#: ../../include/text.php:1876
-msgid "activity"
-msgstr "actividad"
-
-#: ../../include/text.php:2171
-msgid "Design Tools"
-msgstr "Herramientas de diseño"
+msgid "Unable to verify site signature for %s"
+msgstr "No ha sido posible de verificar la firma del sitio para %s"
-#: ../../include/text.php:2174 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Bloques"
+#: ../../include/zot.php:3592
+msgid "invalid target signature"
+msgstr "La firma recibida no es válida"
-#: ../../include/text.php:2175 ../../mod/menu.php:103
-msgid "Menus"
-msgstr "Menús"
+#: ../../include/auth.php:132
+msgid "Logged out."
+msgstr "Desconectado/a."
-#: ../../include/text.php:2176 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Formato gráfico"
+#: ../../include/auth.php:273
+msgid "Failed authentication"
+msgstr "Autenticación fallida."
-#: ../../include/text.php:2177
-msgid "Pages"
-msgstr "Páginas"
+#: ../../include/auth.php:287 ../../mod/openid.php:189
+msgid "Login failed."
+msgstr "El acceso ha fallado."
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:793
-#: ../../include/bbcode.php:796 ../../include/bbcode.php:801
-#: ../../include/bbcode.php:804 ../../include/bbcode.php:807
-#: ../../include/bbcode.php:810 ../../include/bbcode.php:815
-#: ../../include/bbcode.php:818 ../../include/bbcode.php:823
-#: ../../include/bbcode.php:826 ../../include/bbcode.php:829
-#: ../../include/bbcode.php:832
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:794
+#: ../../include/bbcode.php:797 ../../include/bbcode.php:802
+#: ../../include/bbcode.php:805 ../../include/bbcode.php:808
+#: ../../include/bbcode.php:811 ../../include/bbcode.php:816
+#: ../../include/bbcode.php:819 ../../include/bbcode.php:824
+#: ../../include/bbcode.php:827 ../../include/bbcode.php:830
+#: ../../include/bbcode.php:833
msgid "Image/photo"
msgstr "Imagen/foto"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:843
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:844
msgid "Encrypted content"
msgstr "Contenido cifrado"
@@ -2657,11 +2862,11 @@ msgstr "entrada"
msgid "Different viewers will see this text differently"
msgstr "Visitantes diferentes verán este texto de forma distinta"
-#: ../../include/bbcode.php:754
+#: ../../include/bbcode.php:755
msgid "$1 spoiler"
msgstr "$1 spoiler"
-#: ../../include/bbcode.php:781
+#: ../../include/bbcode.php:782
msgid "$1 wrote:"
msgstr "$1 escribió"
@@ -2782,7 +2987,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d invitación pendiente"
msgstr[1] "%d invitaciones disponibles"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:415
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439
msgid "Advanced"
msgstr "Avanzado"
@@ -2802,12 +3007,12 @@ msgstr "Conectar/Seguir"
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Ejemplos: José Fernández, Pesca"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:266
+#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381
+#: ../../mod/directory.php:386 ../../mod/connections.php:266
msgid "Find"
msgstr "Encontrar"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385
#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr "Sugerencias de canales"
@@ -2825,12 +3030,12 @@ msgid "Advanced example: name=fred and country=iceland"
msgstr "Ejemplo avanzado: nombre=juan y país=españa"
#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98
-#: ../../include/widgets.php:306
+#: ../../include/widgets.php:307
msgid "Everything"
msgstr "Todo"
-#: ../../include/contact_widgets.php:95 ../../include/taxonomy.php:271
-#: ../../include/widgets.php:35
+#: ../../include/contact_widgets.php:95 ../../include/widgets.php:36
+#: ../../include/taxonomy.php:280
msgid "Categories"
msgstr "Categorías"
@@ -2856,7 +3061,7 @@ msgstr "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posi
msgid "Add new connections to this collection (privacy group)"
msgstr "Añadir nuevas conexiones a esta colección (privacidad del grupo)"
-#: ../../include/group.php:251 ../../mod/admin.php:788
+#: ../../include/group.php:251 ../../mod/admin.php:814
msgid "All Channels"
msgstr "Todos los canales"
@@ -2880,26 +3085,310 @@ msgstr "Añadir nueva colección"
msgid "Channels not in any collection"
msgstr "El canal no se encuentra en ninguna colección"
-#: ../../include/group.php:300 ../../include/widgets.php:274
+#: ../../include/group.php:300 ../../include/widgets.php:275
msgid "add"
msgstr "añadir"
-#: ../../include/zot.php:683
-msgid "Invalid data packet"
-msgstr "Paquete de datos no válido"
+#: ../../include/widgets.php:92 ../../include/nav.php:157
+#: ../../mod/apps.php:36
+msgid "Apps"
+msgstr "Aplicaciones"
-#: ../../include/zot.php:699
-msgid "Unable to verify channel signature"
-msgstr "No ha sido posible de verificar la firma del canal"
+#: ../../include/widgets.php:93
+msgid "System"
+msgstr "Sistema"
+
+#: ../../include/widgets.php:96
+msgid "Create Personal App"
+msgstr "Crear una aplicación personal"
+
+#: ../../include/widgets.php:97
+msgid "Edit Personal App"
+msgstr "Editar una aplicación personal"
-#: ../../include/zot.php:2235
+#: ../../include/widgets.php:139 ../../mod/suggest.php:54
+msgid "Ignore/Hide"
+msgstr "Ignorar/Ocultar"
+
+#: ../../include/widgets.php:144 ../../mod/connections.php:125
+msgid "Suggestions"
+msgstr "Sugerencias"
+
+#: ../../include/widgets.php:145
+msgid "See more..."
+msgstr "Ver más..."
+
+#: ../../include/widgets.php:166
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "No ha sido posible de verificar la firma del sitio para %s"
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas."
-#: ../../include/zot.php:3555
-msgid "invalid target signature"
-msgstr "La firma recibida no es válida"
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Añadir nueva conexión"
+
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Introducir la dirección del canal"
+
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco"
+
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "Notas"
+
+#: ../../include/widgets.php:192 ../../include/text.php:867
+#: ../../include/text.php:879 ../../mod/filer.php:49 ../../mod/admin.php:1442
+#: ../../mod/admin.php:1462 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100
+msgid "Save"
+msgstr "Guardar"
+
+#: ../../include/widgets.php:266
+msgid "Remove term"
+msgstr "Eliminar término"
+
+#: ../../include/widgets.php:349
+msgid "Archives"
+msgstr "Hemeroteca"
+
+#: ../../include/widgets.php:428 ../../mod/connedit.php:571
+msgid "Me"
+msgstr "Yo"
+
+#: ../../include/widgets.php:429 ../../mod/connedit.php:572
+msgid "Family"
+msgstr "Familia"
+
+#: ../../include/widgets.php:431 ../../mod/connedit.php:574
+msgid "Acquaintances"
+msgstr "Conocidos/as"
+
+#: ../../include/widgets.php:432 ../../mod/connedit.php:575
+#: ../../mod/connections.php:88 ../../mod/connections.php:103
+msgid "All"
+msgstr "Todas"
+
+#: ../../include/widgets.php:451
+msgid "Refresh"
+msgstr "Recargar"
+
+#: ../../include/widgets.php:485
+msgid "Account settings"
+msgstr "Configuración de la cuenta"
+
+#: ../../include/widgets.php:491
+msgid "Channel settings"
+msgstr "Configuración del canal"
+
+#: ../../include/widgets.php:497
+msgid "Additional features"
+msgstr "Características adicionales"
+
+#: ../../include/widgets.php:503
+msgid "Feature/Addon settings"
+msgstr "Configuración de características o complementos"
+
+#: ../../include/widgets.php:509
+msgid "Display settings"
+msgstr "Ajustes de visualización"
+
+#: ../../include/widgets.php:515
+msgid "Connected apps"
+msgstr "Aplicaciones conectadas"
+
+#: ../../include/widgets.php:521
+msgid "Export channel"
+msgstr "Exportar canal"
+
+#: ../../include/widgets.php:530 ../../mod/connedit.php:683
+msgid "Connection Default Permissions"
+msgstr "Permisos predeterminados de conexión"
+
+#: ../../include/widgets.php:538
+msgid "Premium Channel Settings"
+msgstr "Configuración del canal premium"
+
+#: ../../include/widgets.php:568
+msgid "Private Mail Menu"
+msgstr "Menú de correo privado"
+
+#: ../../include/widgets.php:570
+msgid "Combined View"
+msgstr "Vista combinada"
+
+#: ../../include/widgets.php:575 ../../include/nav.php:191
+msgid "Inbox"
+msgstr "Bandeja de entrada"
+
+#: ../../include/widgets.php:580 ../../include/nav.php:192
+msgid "Outbox"
+msgstr "Bandeja de salida"
+
+#: ../../include/widgets.php:585 ../../include/nav.php:193
+msgid "New Message"
+msgstr "Nuevo mensaje"
+
+#: ../../include/widgets.php:604 ../../include/widgets.php:616
+msgid "Conversations"
+msgstr "Conversaciones"
+
+#: ../../include/widgets.php:608
+msgid "Received Messages"
+msgstr "Mensajes recibidos"
+
+#: ../../include/widgets.php:612
+msgid "Sent Messages"
+msgstr "Enviar mensajes"
+
+#: ../../include/widgets.php:626
+msgid "No messages."
+msgstr "Sin mensajes."
+
+#: ../../include/widgets.php:644
+msgid "Delete conversation"
+msgstr "Eliminar conversación"
+
+#: ../../include/widgets.php:670
+msgid "Events Menu"
+msgstr "Menú de eventos"
+
+#: ../../include/widgets.php:671
+msgid "Day View"
+msgstr "Eventos del día"
+
+#: ../../include/widgets.php:672
+msgid "Week View"
+msgstr "Eventos de la semana"
+
+#: ../../include/widgets.php:673
+msgid "Month View"
+msgstr "Eventos del mes"
+
+#: ../../include/widgets.php:674 ../../mod/events.php:527
+msgid "Export"
+msgstr "Exportar"
+
+#: ../../include/widgets.php:675 ../../mod/events.php:530
+msgid "Import"
+msgstr "Importar"
+
+#: ../../include/widgets.php:749
+msgid "Chat Rooms"
+msgstr "Salas de chat"
+
+#: ../../include/widgets.php:769
+msgid "Bookmarked Chatrooms"
+msgstr "Salas de chat preferidas"
+
+#: ../../include/widgets.php:789
+msgid "Suggested Chatrooms"
+msgstr "Salas de chat sugeridas"
+
+#: ../../include/widgets.php:916 ../../include/widgets.php:974
+msgid "photo/image"
+msgstr "foto/imagen"
+
+#: ../../include/widgets.php:1069 ../../include/widgets.php:1071
+msgid "Rate Me"
+msgstr "Valorar este canal"
+
+#: ../../include/widgets.php:1075
+msgid "View Ratings"
+msgstr "Mostrar las valoraciones"
+
+#: ../../include/widgets.php:1086
+msgid "Public Hubs"
+msgstr "Servidores públicos"
+
+#: ../../include/widgets.php:1134
+msgid "Forums"
+msgstr "Foros"
+
+#: ../../include/widgets.php:1161
+msgid "Tasks"
+msgstr "Tareas"
+
+#: ../../include/widgets.php:1170
+msgid "Documentation"
+msgstr "Documentación"
+
+#: ../../include/widgets.php:1172
+msgid "Project/Site Information"
+msgstr "Información sobre el proyecto o sitio"
+
+#: ../../include/widgets.php:1173
+msgid "For Members"
+msgstr "Para los usuarios"
+
+#: ../../include/widgets.php:1174
+msgid "For Administrators"
+msgstr "Para los administradores"
+
+#: ../../include/widgets.php:1175
+msgid "For Developers"
+msgstr "Para los desarrolladores"
+
+#: ../../include/widgets.php:1200 ../../mod/admin.php:434
+msgid "Site"
+msgstr "Sitio"
+
+#: ../../include/widgets.php:1201
+msgid "Accounts"
+msgstr "Cuentas"
+
+#: ../../include/widgets.php:1202 ../../mod/admin.php:965
+msgid "Channels"
+msgstr "Canales"
+
+#: ../../include/widgets.php:1203 ../../mod/admin.php:1062
+#: ../../mod/admin.php:1102
+msgid "Plugins"
+msgstr "Extensiones"
+
+#: ../../include/widgets.php:1204 ../../mod/admin.php:1262
+#: ../../mod/admin.php:1296
+msgid "Themes"
+msgstr "Temas"
+
+#: ../../include/widgets.php:1205
+msgid "Inspect queue"
+msgstr "Examinar la cola"
+
+#: ../../include/widgets.php:1206
+msgid "Profile Config"
+msgstr "Ajustes del perfil"
+
+#: ../../include/widgets.php:1207
+msgid "DB updates"
+msgstr "Actualizaciones de la base de datos"
+
+#: ../../include/widgets.php:1225 ../../include/widgets.php:1231
+#: ../../mod/admin.php:1381
+msgid "Logs"
+msgstr "Informes"
+
+#: ../../include/widgets.php:1229 ../../include/nav.php:210
+msgid "Admin"
+msgstr "Administrador"
+
+#: ../../include/widgets.php:1230
+msgid "Plugin Features"
+msgstr "Ajustes de la extensión"
+
+#: ../../include/widgets.php:1232
+msgid "User registrations waiting for confirmation"
+msgstr "Registros de usuarios pendientes de confirmación"
+
+#: ../../include/widgets.php:1311 ../../mod/photos.php:753
+#: ../../mod/photos.php:1286
+msgid "View Photo"
+msgstr "Ver foto"
+
+#: ../../include/widgets.php:1327 ../../mod/photos.php:782
+msgid "Edit Album"
+msgstr "Editar álbum"
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -2967,986 +3456,537 @@ msgstr "El canal solicitado no está disponible."
msgid "Requested profile is not available."
msgstr "El perfil solicitado no está disponible."
-#: ../../include/identity.php:978 ../../mod/profiles.php:774
+#: ../../include/identity.php:965 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr "Cambiar la foto del perfil"
-#: ../../include/identity.php:984
+#: ../../include/identity.php:971
msgid "Profiles"
msgstr "Perfiles"
-#: ../../include/identity.php:984
+#: ../../include/identity.php:971
msgid "Manage/edit profiles"
msgstr "Administrar/editar perfiles"
-#: ../../include/identity.php:985 ../../mod/profiles.php:775
+#: ../../include/identity.php:972 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr "Crear un nuevo perfil"
-#: ../../include/identity.php:988 ../../include/nav.php:90
+#: ../../include/identity.php:975 ../../include/nav.php:90
msgid "Edit Profile"
msgstr "Editar el perfil"
-#: ../../include/identity.php:1000 ../../mod/profiles.php:786
+#: ../../include/identity.php:987 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr "Imagen del perfil"
-#: ../../include/identity.php:1003
+#: ../../include/identity.php:990
msgid "visible to everybody"
msgstr "visible para cualquiera"
-#: ../../include/identity.php:1004 ../../mod/profiles.php:669
+#: ../../include/identity.php:991 ../../mod/profiles.php:669
#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr "Editar visibilidad"
-#: ../../include/identity.php:1020 ../../include/identity.php:1260
+#: ../../include/identity.php:1007 ../../include/identity.php:1247
msgid "Gender:"
msgstr "Género:"
-#: ../../include/identity.php:1021 ../../include/identity.php:1304
+#: ../../include/identity.php:1008 ../../include/identity.php:1291
msgid "Status:"
msgstr "Estado:"
-#: ../../include/identity.php:1022 ../../include/identity.php:1315
+#: ../../include/identity.php:1009 ../../include/identity.php:1302
msgid "Homepage:"
msgstr "Página personal:"
-#: ../../include/identity.php:1023
+#: ../../include/identity.php:1010
msgid "Online Now"
msgstr "Ahora en línea"
-#: ../../include/identity.php:1107 ../../include/identity.php:1185
+#: ../../include/identity.php:1094 ../../include/identity.php:1172
#: ../../mod/ping.php:318
msgid "g A l F d"
msgstr "g A l d F"
-#: ../../include/identity.php:1108 ../../include/identity.php:1186
+#: ../../include/identity.php:1095 ../../include/identity.php:1173
msgid "F d"
msgstr "d F"
-#: ../../include/identity.php:1153 ../../include/identity.php:1225
+#: ../../include/identity.php:1140 ../../include/identity.php:1212
#: ../../mod/ping.php:341
msgid "[today]"
msgstr "[hoy]"
-#: ../../include/identity.php:1164
+#: ../../include/identity.php:1151
msgid "Birthday Reminders"
msgstr "Recordatorios de cumpleaños"
-#: ../../include/identity.php:1165
+#: ../../include/identity.php:1152
msgid "Birthdays this week:"
msgstr "Cumpleaños de esta semana:"
-#: ../../include/identity.php:1218
+#: ../../include/identity.php:1205
msgid "[No description]"
msgstr "[Sin descripción]"
-#: ../../include/identity.php:1236
+#: ../../include/identity.php:1223
msgid "Event Reminders"
msgstr "Recordatorios de eventos"
-#: ../../include/identity.php:1237
+#: ../../include/identity.php:1224
msgid "Events this week:"
msgstr "Eventos de esta semana:"
-#: ../../include/identity.php:1258 ../../mod/settings.php:1026
+#: ../../include/identity.php:1245 ../../mod/settings.php:1027
msgid "Full Name:"
msgstr "Nombre completo:"
-#: ../../include/identity.php:1265
+#: ../../include/identity.php:1252
msgid "Like this channel"
msgstr "Me gusta este canal"
-#: ../../include/identity.php:1289
+#: ../../include/identity.php:1276
msgid "j F, Y"
msgstr "j F Y"
-#: ../../include/identity.php:1290
+#: ../../include/identity.php:1277
msgid "j F"
msgstr "j F"
-#: ../../include/identity.php:1297
+#: ../../include/identity.php:1284
msgid "Birthday:"
msgstr "Cumpleaños:"
-#: ../../include/identity.php:1301 ../../mod/directory.php:297
+#: ../../include/identity.php:1288 ../../mod/directory.php:299
msgid "Age:"
msgstr "Edad:"
-#: ../../include/identity.php:1310
+#: ../../include/identity.php:1297
#, php-format
msgid "for %1$d %2$s"
msgstr "por %1$d %2$s"
-#: ../../include/identity.php:1313 ../../mod/profiles.php:691
+#: ../../include/identity.php:1300 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr "Orientación sexual:"
-#: ../../include/identity.php:1317 ../../mod/directory.php:313
+#: ../../include/identity.php:1304 ../../mod/directory.php:315
#: ../../mod/profiles.php:693
msgid "Hometown:"
msgstr "Ciudad de origen:"
-#: ../../include/identity.php:1319
+#: ../../include/identity.php:1306
msgid "Tags:"
msgstr "Etiquetas:"
-#: ../../include/identity.php:1321 ../../mod/profiles.php:694
+#: ../../include/identity.php:1308 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr "Posición política:"
-#: ../../include/identity.php:1323
+#: ../../include/identity.php:1310
msgid "Religion:"
msgstr "Religión:"
-#: ../../include/identity.php:1325 ../../mod/directory.php:315
+#: ../../include/identity.php:1312 ../../mod/directory.php:317
msgid "About:"
msgstr "Sobre mí:"
-#: ../../include/identity.php:1327
+#: ../../include/identity.php:1314
msgid "Hobbies/Interests:"
msgstr "Aficciones/Intereses:"
-#: ../../include/identity.php:1329 ../../mod/profiles.php:697
+#: ../../include/identity.php:1316 ../../mod/profiles.php:697
msgid "Likes:"
msgstr "Me gusta:"
-#: ../../include/identity.php:1331 ../../mod/profiles.php:698
+#: ../../include/identity.php:1318 ../../mod/profiles.php:698
msgid "Dislikes:"
msgstr "No me gusta:"
-#: ../../include/identity.php:1333
+#: ../../include/identity.php:1320
msgid "Contact information and Social Networks:"
msgstr "Información de contacto y redes sociales:"
-#: ../../include/identity.php:1335
+#: ../../include/identity.php:1322
msgid "My other channels:"
msgstr "Mis otros canales:"
-#: ../../include/identity.php:1337
+#: ../../include/identity.php:1324
msgid "Musical interests:"
msgstr "Intereses musicales:"
-#: ../../include/identity.php:1339
+#: ../../include/identity.php:1326
msgid "Books, literature:"
msgstr "Libros, literatura:"
-#: ../../include/identity.php:1341
+#: ../../include/identity.php:1328
msgid "Television:"
msgstr "Televisión:"
-#: ../../include/identity.php:1343
+#: ../../include/identity.php:1330
msgid "Film/dance/culture/entertainment:"
msgstr "Cine/danza/cultura/entretenimiento:"
-#: ../../include/identity.php:1345
+#: ../../include/identity.php:1332
msgid "Love/Romance:"
msgstr "Vida sentimental/amorosa:"
-#: ../../include/identity.php:1347
+#: ../../include/identity.php:1334
msgid "Work/employment:"
msgstr "Trabajo:"
-#: ../../include/identity.php:1349
+#: ../../include/identity.php:1336
msgid "School/education:"
msgstr "Estudios:"
-#: ../../include/identity.php:1369
+#: ../../include/identity.php:1356
msgid "Like this thing"
msgstr "Me gusta esto"
-#: ../../include/bb2diaspora.php:382
-msgid "Attachments:"
-msgstr "Ficheros adjuntos:"
-
-#: ../../include/bb2diaspora.php:470
-msgid "$Projectname event notification:"
-msgstr "Notificación de eventos de $Projectname:"
-
-#: ../../include/taxonomy.php:229 ../../include/taxonomy.php:250
+#: ../../include/taxonomy.php:238 ../../include/taxonomy.php:259
msgid "Tags"
msgstr "Etiquetas"
-#: ../../include/taxonomy.php:294
+#: ../../include/taxonomy.php:303
msgid "Keywords"
msgstr "Palabras clave"
-#: ../../include/taxonomy.php:315
+#: ../../include/taxonomy.php:324
msgid "have"
msgstr "tener"
-#: ../../include/taxonomy.php:315
+#: ../../include/taxonomy.php:324
msgid "has"
msgstr "tiene"
-#: ../../include/taxonomy.php:316
+#: ../../include/taxonomy.php:325
msgid "want"
msgstr "quiero"
-#: ../../include/taxonomy.php:316
+#: ../../include/taxonomy.php:325
msgid "wants"
msgstr "quiere"
-#: ../../include/taxonomy.php:317
+#: ../../include/taxonomy.php:326
msgid "likes"
msgstr "le gusta"
-#: ../../include/taxonomy.php:318
+#: ../../include/taxonomy.php:327
msgid "dislikes"
msgstr "no le gusta"
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "canal"
-
-#: ../../include/conversation.php:164 ../../mod/like.php:410
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "a %1$s le gusta %3$s de %2$s"
-
-#: ../../include/conversation.php:167 ../../mod/like.php:412
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "a %1$s no le gusta %3$s de %2$s"
-
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s ahora está conectado/a con %2$s"
-
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s ha dado un toque a %2$s"
-
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s está %2$s"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1063
-msgctxt "title"
-msgid "Likes"
-msgstr "Me gusta"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1063
-msgctxt "title"
-msgid "Dislikes"
-msgstr "No me gusta"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Agree"
-msgstr "De acuerdo"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Disagree"
-msgstr "En desacuerdo"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Abstain"
-msgstr "Abstención"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Attending"
-msgstr "Participaré"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Not attending"
-msgstr "No participaré"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Might attend"
-msgstr "Quizá participe"
-
-#: ../../include/conversation.php:692
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Ver el perfil @ %s de %s"
-
-#: ../../include/conversation.php:709
-msgid "Categories:"
-msgstr "Categorías:"
-
-#: ../../include/conversation.php:710
-msgid "Filed under:"
-msgstr "Archivado bajo:"
-
-#: ../../include/conversation.php:737
-msgid "View in context"
-msgstr "Mostrar en su contexto"
-
-#: ../../include/conversation.php:850
-msgid "remove"
-msgstr "eliminar"
-
-#: ../../include/conversation.php:854 ../../include/nav.php:241
-msgid "Loading..."
-msgstr "Cargando..."
-
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
-msgstr "Eliminar elementos seleccionados"
-
-#: ../../include/conversation.php:943
-msgid "View Source"
-msgstr "Ver la fuente original de la entrada"
-
-#: ../../include/conversation.php:944
-msgid "Follow Thread"
-msgstr "Seguir el hilo"
-
-#: ../../include/conversation.php:945
-msgid "View Status"
-msgstr "Estado actual"
-
-#: ../../include/conversation.php:946 ../../include/nav.php:86
-#: ../../mod/connedit.php:493
-msgid "View Profile"
-msgstr "Ver el perfil"
-
-#: ../../include/conversation.php:947
-msgid "View Photos"
-msgstr "Ver fotos"
-
-#: ../../include/conversation.php:948
-msgid "Activity/Posts"
-msgstr "Actividad y entradas"
-
-#: ../../include/conversation.php:950
-msgid "Edit Connection"
-msgstr "Editar conexión"
-
-#: ../../include/conversation.php:951
-msgid "Send PM"
-msgstr "Enviar un mensaje privado"
-
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "%s likes this."
-msgstr "a %s le gusta esto."
-
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "%s doesn't like this."
-msgstr "a %s no le gusta esto."
-
-#: ../../include/conversation.php:1070
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "a <span %1$s>%2$d personas</span> le gusta esto."
-msgstr[1] "a <span %1$s>%2$d personas</span> les gusta esto."
+#: ../../include/attach.php:246 ../../include/attach.php:332
+msgid "Item was not found."
+msgstr "Elemento no encontrado."
-#: ../../include/conversation.php:1072
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "a <span %1$s>%2$d personas</span> no les gusta esto."
-msgstr[1] "a <span %1$s>%2$d personas</span> no les gusta esto."
+#: ../../include/attach.php:496
+msgid "No source file."
+msgstr "Ningún fichero de origen"
-#: ../../include/conversation.php:1078
-msgid "and"
-msgstr "y"
+#: ../../include/attach.php:514
+msgid "Cannot locate file to replace"
+msgstr "No se puede localizar el fichero que va a ser sustituido."
-#: ../../include/conversation.php:1081
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", y %d persona más"
-msgstr[1] ", y %d personas más"
+#: ../../include/attach.php:532
+msgid "Cannot locate file to revise/update"
+msgstr "No se puede localizar el fichero para revisar/actualizar"
-#: ../../include/conversation.php:1082
+#: ../../include/attach.php:667
#, php-format
-msgid "%s like this."
-msgstr "a %s le gusta esto."
+msgid "File exceeds size limit of %d"
+msgstr "El fichero supera el limite de tamaño de %d"
-#: ../../include/conversation.php:1082
+#: ../../include/attach.php:681
#, php-format
-msgid "%s don't like this."
-msgstr "a %s no le gusta esto."
-
-#: ../../include/conversation.php:1145
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Visible para <strong>cualquiera</strong>"
-
-#: ../../include/conversation.php:1146 ../../mod/mail.php:194
-#: ../../mod/mail.php:308
-msgid "Please enter a link URL:"
-msgstr "Por favor, introduzca la dirección del enlace:"
-
-#: ../../include/conversation.php:1147
-msgid "Please enter a video link/URL:"
-msgstr "Por favor, introduzca un enlace de vídeo:"
-
-#: ../../include/conversation.php:1148
-msgid "Please enter an audio link/URL:"
-msgstr "Por favor, introduzca un enlace de audio:"
-
-#: ../../include/conversation.php:1149
-msgid "Tag term:"
-msgstr "Término de la etiqueta:"
-
-#: ../../include/conversation.php:1150 ../../mod/filer.php:48
-msgid "Save to Folder:"
-msgstr "Guardar en carpeta:"
-
-#: ../../include/conversation.php:1151
-msgid "Where are you right now?"
-msgstr "¿Donde está ahora?"
-
-#: ../../include/conversation.php:1152 ../../mod/mail.php:195
-#: ../../mod/mail.php:309 ../../mod/editpost.php:54
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Caduca YYYY-MM-DD HH:MM"
-
-#: ../../include/conversation.php:1183 ../../mod/layouts.php:184
-#: ../../mod/photos.php:1028 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154
-msgid "Share"
-msgstr "Compartir"
-
-#: ../../include/conversation.php:1185
-msgid "Page link name"
-msgstr "Nombre de enlace de página"
-
-#: ../../include/conversation.php:1188
-msgid "Post as"
-msgstr "Publicar como"
-
-#: ../../include/conversation.php:1195 ../../mod/editblock.php:142
-#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140
-#: ../../mod/editwebpage.php:182
-msgid "Upload photo"
-msgstr "Subir foto"
-
-#: ../../include/conversation.php:1196
-msgid "upload photo"
-msgstr "subir foto"
-
-#: ../../include/conversation.php:1197 ../../mod/mail.php:240
-#: ../../mod/mail.php:369 ../../mod/editblock.php:143
-#: ../../mod/editpost.php:119 ../../mod/editlayout.php:141
-#: ../../mod/editwebpage.php:183
-msgid "Attach file"
-msgstr "Adjuntar fichero"
-
-#: ../../include/conversation.php:1198
-msgid "attach file"
-msgstr "adjuntar fichero"
-
-#: ../../include/conversation.php:1199 ../../mod/mail.php:241
-#: ../../mod/mail.php:370 ../../mod/editblock.php:144
-#: ../../mod/editpost.php:120 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:184
-msgid "Insert web link"
-msgstr "Insertar enlace web"
-
-#: ../../include/conversation.php:1200
-msgid "web link"
-msgstr "enlace web"
-
-#: ../../include/conversation.php:1201
-msgid "Insert video link"
-msgstr "Insertar enlace de vídeo"
-
-#: ../../include/conversation.php:1202
-msgid "video link"
-msgstr "enlace de vídeo"
-
-#: ../../include/conversation.php:1203
-msgid "Insert audio link"
-msgstr "Insertar enlace de audio"
-
-#: ../../include/conversation.php:1204
-msgid "audio link"
-msgstr "enlace de audio"
-
-#: ../../include/conversation.php:1205 ../../mod/editblock.php:148
-#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146
-#: ../../mod/editwebpage.php:188
-msgid "Set your location"
-msgstr "Configure su ubicación"
-
-#: ../../include/conversation.php:1206
-msgid "set location"
-msgstr "establecer ubicación"
-
-#: ../../include/conversation.php:1207 ../../mod/editpost.php:126
-msgid "Toggle voting"
-msgstr "Cambiar votación"
-
-#: ../../include/conversation.php:1210 ../../mod/editblock.php:149
-#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:189
-msgid "Clear browser location"
-msgstr "Eliminar los datos de ubicación del navegador"
-
-#: ../../include/conversation.php:1211
-msgid "clear location"
-msgstr "borrar los datos de ubicación"
-
-#: ../../include/conversation.php:1213 ../../mod/editblock.php:162
-#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
-msgid "Title (optional)"
-msgstr "Título (opcional)"
-
-#: ../../include/conversation.php:1217 ../../mod/editblock.php:165
-#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163
-#: ../../mod/editwebpage.php:207
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categorías (opcional, lista separada por comas)"
-
-#: ../../include/conversation.php:1219 ../../mod/editblock.php:151
-#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149
-#: ../../mod/editwebpage.php:191
-msgid "Permission settings"
-msgstr "Configuración de permisos"
-
-#: ../../include/conversation.php:1220
-msgid "permissions"
-msgstr "permisos"
-
-#: ../../include/conversation.php:1228 ../../mod/editblock.php:159
-#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156
-#: ../../mod/editwebpage.php:200
-msgid "Public post"
-msgstr "Entrada pública"
-
-#: ../../include/conversation.php:1230 ../../mod/editblock.php:166
-#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164
-#: ../../mod/editwebpage.php:208
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Ejemplo: roberto@ejemplo.com, maría@ejemplo.com"
-
-#: ../../include/conversation.php:1243 ../../mod/mail.php:245
-#: ../../mod/mail.php:374 ../../mod/editblock.php:176
-#: ../../mod/editpost.php:155 ../../mod/editlayout.php:173
-#: ../../mod/editwebpage.php:217
-msgid "Set expiration date"
-msgstr "Configurar fecha de caducidad"
-
-#: ../../include/conversation.php:1246
-msgid "Set publish date"
-msgstr "Establecer la fecha de publicación"
-
-#: ../../include/conversation.php:1250 ../../mod/editpost.php:159
-#: ../../mod/events.php:691
-msgid "OK"
-msgstr "OK"
-
-#: ../../include/conversation.php:1251 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
-#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-#: ../../mod/settings.php:584 ../../mod/settings.php:610
-msgid "Cancel"
-msgstr "Cancelar"
-
-#: ../../include/conversation.php:1494
-msgid "Discover"
-msgstr "Descubrir"
-
-#: ../../include/conversation.php:1497
-msgid "Imported public streams"
-msgstr "Flujos públicos importados"
-
-#: ../../include/conversation.php:1502
-msgid "Commented Order"
-msgstr "Comentarios recientes"
-
-#: ../../include/conversation.php:1505
-msgid "Sort by Comment Date"
-msgstr "Ordenar por fecha de comentario"
-
-#: ../../include/conversation.php:1509
-msgid "Posted Order"
-msgstr "Publicaciones recientes"
-
-#: ../../include/conversation.php:1512
-msgid "Sort by Post Date"
-msgstr "Ordenar por fecha de publicación"
-
-#: ../../include/conversation.php:1517 ../../include/widgets.php:94
-msgid "Personal"
-msgstr "Personales"
-
-#: ../../include/conversation.php:1520
-msgid "Posts that mention or involve you"
-msgstr "Publicaciones que le mencionan o involucran"
-
-#: ../../include/conversation.php:1526 ../../mod/menu.php:112
-#: ../../mod/connections.php:72 ../../mod/connections.php:82
-msgid "New"
-msgstr "Nuevas"
-
-#: ../../include/conversation.php:1529
-msgid "Activity Stream - by date"
-msgstr "Flujo de actividad - por fecha"
-
-#: ../../include/conversation.php:1535
-msgid "Starred"
-msgstr "Preferidas"
-
-#: ../../include/conversation.php:1538
-msgid "Favourite Posts"
-msgstr "Publicaciones favoritas"
-
-#: ../../include/conversation.php:1545
-msgid "Spam"
-msgstr "Correo basura"
-
-#: ../../include/conversation.php:1548
-msgid "Posts flagged as SPAM"
-msgstr "Publicaciones marcadas como basura"
-
-#: ../../include/conversation.php:1592 ../../mod/admin.php:947
-msgid "Channel"
-msgstr "Canal"
-
-#: ../../include/conversation.php:1595
-msgid "Status Messages and Posts"
-msgstr "Mensajes de estado y publicaciones"
-
-#: ../../include/conversation.php:1604
-msgid "About"
-msgstr "Sobre mí"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos."
-#: ../../include/conversation.php:1607
-msgid "Profile Details"
-msgstr "Detalles del perfil"
+#: ../../include/attach.php:837
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado."
-#: ../../include/conversation.php:1623
-msgid "Files and Storage"
-msgstr "Ficheros y repositorio"
+#: ../../include/attach.php:850
+msgid "Stored file could not be verified. Upload failed."
+msgstr "El fichero almacenado no ha podido ser verificado. El envío ha fallado."
-#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
-msgid "Chatrooms"
-msgstr "Salas de chat"
+#: ../../include/attach.php:898 ../../include/attach.php:914
+msgid "Path not available."
+msgstr "Ruta no disponible."
-#: ../../include/conversation.php:1649
-msgid "Saved Bookmarks"
-msgstr "Marcadores guardados"
+#: ../../include/attach.php:960 ../../include/attach.php:1112
+msgid "Empty pathname"
+msgstr "Ruta vacía"
-#: ../../include/conversation.php:1659
-msgid "Manage Webpages"
-msgstr "Administrar páginas web"
+#: ../../include/attach.php:986
+msgid "duplicate filename or path"
+msgstr "Nombre duplicado de ruta o fichero"
-#: ../../include/conversation.php:1718
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Participando"
-msgstr[1] "Participaré"
+#: ../../include/attach.php:1008
+msgid "Path not found."
+msgstr "Ruta no encontrada"
-#: ../../include/conversation.php:1721
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "No participando"
-msgstr[1] "No participaré"
+#: ../../include/attach.php:1066
+msgid "mkdir failed."
+msgstr "mkdir ha fallado."
-#: ../../include/conversation.php:1724
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indeciso/a"
-msgstr[1] "Indecisos/as"
+#: ../../include/attach.php:1070
+msgid "database storage failed."
+msgstr "el almacenamiento en la base de datos ha fallado."
-#: ../../include/conversation.php:1727
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "Está de acuerdo"
-msgstr[1] "De acuerdo"
+#: ../../include/attach.php:1118
+msgid "Empty path"
+msgstr "Ruta vacía"
-#: ../../include/conversation.php:1730
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "No está de acuerdo"
-msgstr[1] "En desacuerdo"
+#: ../../include/bb2diaspora.php:382
+msgid "Attachments:"
+msgstr "Ficheros adjuntos:"
-#: ../../include/conversation.php:1733
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "se abstiene"
-msgstr[1] "Se abstienen"
+#: ../../include/bb2diaspora.php:473
+msgid "$Projectname event notification:"
+msgstr "Notificación de eventos de $Projectname:"
-#: ../../include/widgets.php:91 ../../include/nav.php:157
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Aplicaciones"
+#: ../../include/text.php:393
+msgid "prev"
+msgstr "anterior"
-#: ../../include/widgets.php:92
-msgid "System"
-msgstr "Sistema"
+#: ../../include/text.php:395
+msgid "first"
+msgstr "primera"
-#: ../../include/widgets.php:95
-msgid "Create Personal App"
-msgstr "Crear una aplicación personal"
+#: ../../include/text.php:424
+msgid "last"
+msgstr "última"
-#: ../../include/widgets.php:96
-msgid "Edit Personal App"
-msgstr "Editar una aplicación personal"
+#: ../../include/text.php:427
+msgid "next"
+msgstr "próxima"
-#: ../../include/widgets.php:138 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr "Ignorar/Ocultar"
+#: ../../include/text.php:437
+msgid "older"
+msgstr "más antiguas"
-#: ../../include/widgets.php:143 ../../mod/connections.php:125
-msgid "Suggestions"
-msgstr "Sugerencias"
+#: ../../include/text.php:439
+msgid "newer"
+msgstr "más recientes"
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr "Ver más..."
+#: ../../include/text.php:784
+msgid "No connections"
+msgstr "Sin conexiones"
-#: ../../include/widgets.php:165
+#: ../../include/text.php:796
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas."
-
-#: ../../include/widgets.php:171
-msgid "Add New Connection"
-msgstr "Añadir nueva conexión"
-
-#: ../../include/widgets.php:172
-msgid "Enter the channel address"
-msgstr "Introducir la dirección del canal"
-
-#: ../../include/widgets.php:173
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco"
-
-#: ../../include/widgets.php:189
-msgid "Notes"
-msgstr "Notas"
-
-#: ../../include/widgets.php:265
-msgid "Remove term"
-msgstr "Eliminar término"
-
-#: ../../include/widgets.php:348
-msgid "Archives"
-msgstr "Hemeroteca"
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d Conexión"
+msgstr[1] "%d Conexiones"
-#: ../../include/widgets.php:427 ../../mod/connedit.php:566
-msgid "Me"
-msgstr "Yo"
+#: ../../include/text.php:809 ../../mod/viewconnections.php:101
+msgid "View Connections"
+msgstr "Ver conexiones"
-#: ../../include/widgets.php:428 ../../mod/connedit.php:567
-msgid "Family"
-msgstr "Familia"
+#: ../../include/text.php:953
+msgid "poke"
+msgstr "un toque"
-#: ../../include/widgets.php:430 ../../mod/connedit.php:569
-msgid "Acquaintances"
-msgstr "Conocidos/as"
+#: ../../include/text.php:954
+msgid "ping"
+msgstr "un \"ping\""
-#: ../../include/widgets.php:431 ../../mod/connedit.php:570
-#: ../../mod/connections.php:88 ../../mod/connections.php:103
-msgid "All"
-msgstr "Todas"
+#: ../../include/text.php:954
+msgid "pinged"
+msgstr "avisado/a"
-#: ../../include/widgets.php:450
-msgid "Refresh"
-msgstr "Recargar"
+#: ../../include/text.php:955
+msgid "prod"
+msgstr "una incitación"
-#: ../../include/widgets.php:484
-msgid "Account settings"
-msgstr "Configuración de la cuenta"
+#: ../../include/text.php:955
+msgid "prodded"
+msgstr "ha recibido una incitación"
-#: ../../include/widgets.php:490
-msgid "Channel settings"
-msgstr "Configuración del canal"
+#: ../../include/text.php:956
+msgid "slap"
+msgstr "una bofetada"
-#: ../../include/widgets.php:496
-msgid "Additional features"
-msgstr "Características adicionales"
+#: ../../include/text.php:956
+msgid "slapped"
+msgstr "ha recibido una bofetada"
-#: ../../include/widgets.php:502
-msgid "Feature/Addon settings"
-msgstr "Configuración de características o complementos"
+#: ../../include/text.php:957
+msgid "finger"
+msgstr "un \"finger\""
-#: ../../include/widgets.php:508
-msgid "Display settings"
-msgstr "Ajustes de visualización"
+#: ../../include/text.php:957
+msgid "fingered"
+msgstr "ha recibido un \"finger\""
-#: ../../include/widgets.php:514
-msgid "Connected apps"
-msgstr "Aplicaciones conectadas"
+#: ../../include/text.php:958
+msgid "rebuff"
+msgstr "un rechazo"
-#: ../../include/widgets.php:520
-msgid "Export channel"
-msgstr "Exportar canal"
+#: ../../include/text.php:958
+msgid "rebuffed"
+msgstr "ha sido rechazado/a"
-#: ../../include/widgets.php:529 ../../mod/connedit.php:673
-msgid "Connection Default Permissions"
-msgstr "Permisos predeterminados de conexión"
+#: ../../include/text.php:968
+msgid "happy"
+msgstr "feliz"
-#: ../../include/widgets.php:537
-msgid "Premium Channel Settings"
-msgstr "Configuración del canal premium"
+#: ../../include/text.php:969
+msgid "sad"
+msgstr "triste"
-#: ../../include/widgets.php:567
-msgid "Private Mail Menu"
-msgstr "Menú de correo privado"
+#: ../../include/text.php:970
+msgid "mellow"
+msgstr "amable"
-#: ../../include/widgets.php:569
-msgid "Combined View"
-msgstr "Vista combinada"
+#: ../../include/text.php:971
+msgid "tired"
+msgstr "cansado/a"
-#: ../../include/widgets.php:574 ../../include/nav.php:191
-msgid "Inbox"
-msgstr "Bandeja de entrada"
+#: ../../include/text.php:972
+msgid "perky"
+msgstr "fresco/a"
-#: ../../include/widgets.php:579 ../../include/nav.php:192
-msgid "Outbox"
-msgstr "Bandeja de salida"
+#: ../../include/text.php:973
+msgid "angry"
+msgstr "enfadado/a"
-#: ../../include/widgets.php:584 ../../include/nav.php:193
-msgid "New Message"
-msgstr "Nuevo mensaje"
+#: ../../include/text.php:974
+msgid "stupified"
+msgstr "estupefacto/a"
-#: ../../include/widgets.php:603 ../../include/widgets.php:615
-msgid "Conversations"
-msgstr "Conversaciones"
+#: ../../include/text.php:975
+msgid "puzzled"
+msgstr "perplejo/a"
-#: ../../include/widgets.php:607
-msgid "Received Messages"
-msgstr "Mensajes recibidos"
+#: ../../include/text.php:976
+msgid "interested"
+msgstr "interesado/a"
-#: ../../include/widgets.php:611
-msgid "Sent Messages"
-msgstr "Enviar mensajes"
+#: ../../include/text.php:977
+msgid "bitter"
+msgstr "amargado/a"
-#: ../../include/widgets.php:625
-msgid "No messages."
-msgstr "Sin mensajes."
+#: ../../include/text.php:978
+msgid "cheerful"
+msgstr "alegre"
-#: ../../include/widgets.php:643
-msgid "Delete conversation"
-msgstr "Eliminar conversación"
+#: ../../include/text.php:979
+msgid "alive"
+msgstr "vivo/a"
-#: ../../include/widgets.php:645
-msgid "D, d M Y - g:i A"
-msgstr "D d M Y - G:i"
+#: ../../include/text.php:980
+msgid "annoyed"
+msgstr "molesto/a"
-#: ../../include/widgets.php:734
-msgid "Chat Rooms"
-msgstr "Salas de chat"
+#: ../../include/text.php:981
+msgid "anxious"
+msgstr "ansioso/a"
-#: ../../include/widgets.php:754
-msgid "Bookmarked Chatrooms"
-msgstr "Salas de chat preferidas"
+#: ../../include/text.php:982
+msgid "cranky"
+msgstr "de mal humor"
-#: ../../include/widgets.php:774
-msgid "Suggested Chatrooms"
-msgstr "Salas de chat sugeridas"
+#: ../../include/text.php:983
+msgid "disturbed"
+msgstr "perturbado/a"
-#: ../../include/widgets.php:901 ../../include/widgets.php:959
-msgid "photo/image"
-msgstr "foto/imagen"
+#: ../../include/text.php:984
+msgid "frustrated"
+msgstr "frustrado/a"
-#: ../../include/widgets.php:1054 ../../include/widgets.php:1056
-msgid "Rate Me"
-msgstr "Valorar este canal"
+#: ../../include/text.php:985
+msgid "depressed"
+msgstr "deprimido/a"
-#: ../../include/widgets.php:1060
-msgid "View Ratings"
-msgstr "Mostrar las valoraciones"
+#: ../../include/text.php:986
+msgid "motivated"
+msgstr "motivado/a"
-#: ../../include/widgets.php:1071
-msgid "Public Hubs"
-msgstr "Servidores públicos"
+#: ../../include/text.php:987
+msgid "relaxed"
+msgstr "relajado/a"
-#: ../../include/widgets.php:1119
-msgid "Forums"
-msgstr "Foros"
+#: ../../include/text.php:988
+msgid "surprised"
+msgstr "sorprendido/a"
-#: ../../include/widgets.php:1146
-msgid "Tasks"
-msgstr "Tareas"
+#: ../../include/text.php:1164
+msgid "May"
+msgstr "mayo"
-#: ../../include/widgets.php:1155
-msgid "Documentation"
-msgstr "Documentación"
+#: ../../include/text.php:1241 ../../include/text.php:1245
+msgid "Unknown Attachment"
+msgstr "Adjunto no reconocido"
-#: ../../include/widgets.php:1157
-msgid "Project/Site Information"
-msgstr "Información sobre el proyecto o sitio"
+#: ../../include/text.php:1247
+msgid "unknown"
+msgstr "desconocido"
-#: ../../include/widgets.php:1158
-msgid "For Members"
-msgstr "Para los usuarios"
+#: ../../include/text.php:1283
+msgid "remove category"
+msgstr "eliminar categoría"
-#: ../../include/widgets.php:1159
-msgid "For Administrators"
-msgstr "Para los administradores"
+#: ../../include/text.php:1360
+msgid "remove from file"
+msgstr "eliminar del fichero"
-#: ../../include/widgets.php:1160
-msgid "For Developers"
-msgstr "Para los desarrolladores"
+#: ../../include/text.php:1472 ../../include/text.php:1483
+msgid "Click to open/close"
+msgstr "Pulsar para abrir/cerrar"
-#: ../../include/widgets.php:1185 ../../mod/admin.php:410
-msgid "Site"
-msgstr "Sitio"
+#: ../../include/text.php:1656 ../../mod/events.php:495
+msgid "Link to Source"
+msgstr "Enlazar con la entrada en su ubicación original"
-#: ../../include/widgets.php:1186
-msgid "Accounts"
-msgstr "Cuentas"
+#: ../../include/text.php:1677 ../../include/text.php:1749
+msgid "default"
+msgstr "por defecto"
-#: ../../include/widgets.php:1187 ../../mod/admin.php:939
-msgid "Channels"
-msgstr "Canales"
+#: ../../include/text.php:1685
+msgid "Page layout"
+msgstr "Formato de la página"
-#: ../../include/widgets.php:1188 ../../mod/admin.php:1031
-#: ../../mod/admin.php:1071
-msgid "Plugins"
-msgstr "Extensiones"
+#: ../../include/text.php:1685
+msgid "You can create your own with the layouts tool"
+msgstr "Puede crear su propio formato gráfico con las herramientas de diseño"
-#: ../../include/widgets.php:1189 ../../mod/admin.php:1231
-#: ../../mod/admin.php:1265
-msgid "Themes"
-msgstr "Temas"
+#: ../../include/text.php:1727
+msgid "Page content type"
+msgstr "Tipo de contenido de página"
-#: ../../include/widgets.php:1190
-msgid "Inspect queue"
-msgstr "Examinar la cola"
+#: ../../include/text.php:1761
+msgid "Select an alternate language"
+msgstr "Seleccionar un idioma alternativo"
-#: ../../include/widgets.php:1191
-msgid "Profile Config"
-msgstr "Ajustes del perfil"
+#: ../../include/text.php:1893
+msgid "activity"
+msgstr "actividad"
-#: ../../include/widgets.php:1192
-msgid "DB updates"
-msgstr "Actualizaciones de la base de datos"
+#: ../../include/text.php:2188
+msgid "Design Tools"
+msgstr "Herramientas de diseño"
-#: ../../include/widgets.php:1210 ../../include/widgets.php:1216
-#: ../../mod/admin.php:1350
-msgid "Logs"
-msgstr "Informes"
+#: ../../include/text.php:2191 ../../mod/blocks.php:147
+msgid "Blocks"
+msgstr "Bloques"
-#: ../../include/widgets.php:1214 ../../include/nav.php:210
-msgid "Admin"
-msgstr "Administrador"
+#: ../../include/text.php:2192 ../../mod/menu.php:103
+msgid "Menus"
+msgstr "Menús"
-#: ../../include/widgets.php:1215
-msgid "Plugin Features"
-msgstr "Ajustes de la extensión"
+#: ../../include/text.php:2193 ../../mod/layouts.php:174
+msgid "Layouts"
+msgstr "Formato gráfico"
-#: ../../include/widgets.php:1217
-msgid "User registrations waiting for confirmation"
-msgstr "Registros de usuarios pendientes de confirmación"
+#: ../../include/text.php:2194
+msgid "Pages"
+msgstr "Páginas"
-#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1502
+#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485
msgid "Logout"
msgstr "Finalizar sesión"
@@ -4019,7 +4059,7 @@ msgstr "Pulsar para identificarse en su servidor de inicio"
msgid "Home Page"
msgstr "Página de inicio"
-#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1479
+#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462
msgid "Register"
msgstr "Registrarse"
@@ -4123,44 +4163,44 @@ msgstr "@nombre, #etiqueta, ?ayuda, contenido"
msgid "Please wait..."
msgstr "Espere por favor…"
-#: ../../include/dir_fns.php:126
+#: ../../include/dir_fns.php:139
msgid "Directory Options"
msgstr "Opciones del directorio"
-#: ../../include/dir_fns.php:128
+#: ../../include/dir_fns.php:141
msgid "Safe Mode"
msgstr "Modo seguro"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60
+#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
+#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60
#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228
-#: ../../mod/mitem.php:229 ../../mod/connedit.php:630
-#: ../../mod/connedit.php:674 ../../mod/filestorage.php:151
+#: ../../mod/mitem.php:229 ../../mod/connedit.php:635
+#: ../../mod/connedit.php:684 ../../mod/filestorage.php:151
#: ../../mod/filestorage.php:159 ../../mod/photos.php:626
-#: ../../mod/admin.php:386 ../../mod/menu.php:96 ../../mod/menu.php:153
-#: ../../mod/settings.php:574 ../../mod/api.php:106
+#: ../../mod/admin.php:410 ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../mod/settings.php:575 ../../mod/api.php:106
#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1507
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490
msgid "No"
msgstr "No"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60
+#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
+#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60
#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228
#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151
#: ../../mod/filestorage.php:159 ../../mod/photos.php:626
-#: ../../mod/admin.php:388 ../../mod/menu.php:96 ../../mod/menu.php:153
-#: ../../mod/settings.php:574 ../../mod/api.php:105
+#: ../../mod/admin.php:412 ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../mod/settings.php:575 ../../mod/api.php:105
#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1507
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490
msgid "Yes"
msgstr "Sí"
-#: ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:142
msgid "Public Forums Only"
msgstr "Solo foros públicos"
-#: ../../include/dir_fns.php:130
+#: ../../include/dir_fns.php:143
msgid "This Website Only"
msgstr "Solo este sitio web"
@@ -4191,86 +4231,86 @@ msgstr "Sugerir un amigo a %s"
msgid "Public access denied."
msgstr "Acceso público denegado."
-#: ../../mod/directory.php:234
+#: ../../mod/directory.php:236
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d valoración"
msgstr[1] "%d valoraciones"
-#: ../../mod/directory.php:245
+#: ../../mod/directory.php:247
msgid "Gender: "
msgstr "Género:"
-#: ../../mod/directory.php:247
+#: ../../mod/directory.php:249
msgid "Status: "
msgstr "Estado:"
-#: ../../mod/directory.php:249
+#: ../../mod/directory.php:251
msgid "Homepage: "
msgstr "Página personal:"
-#: ../../mod/directory.php:308 ../../mod/events.php:699
+#: ../../mod/directory.php:310 ../../mod/events.php:699
msgid "Description:"
msgstr "Descripción:"
-#: ../../mod/directory.php:317
+#: ../../mod/directory.php:319
msgid "Public Forum:"
msgstr "Foro público:"
-#: ../../mod/directory.php:320
+#: ../../mod/directory.php:322
msgid "Keywords: "
msgstr "Palabras clave:"
-#: ../../mod/directory.php:323
+#: ../../mod/directory.php:325
msgid "Don't suggest"
msgstr "No sugerir:"
-#: ../../mod/directory.php:325
+#: ../../mod/directory.php:327
msgid "Common connections:"
msgstr "Conexiones comunes:"
-#: ../../mod/directory.php:374
+#: ../../mod/directory.php:376
msgid "Global Directory"
msgstr "Directorio global:"
-#: ../../mod/directory.php:374
+#: ../../mod/directory.php:376
msgid "Local Directory"
msgstr "Directorio local:"
-#: ../../mod/directory.php:380
+#: ../../mod/directory.php:382
msgid "Finding:"
msgstr "Encontrar:"
-#: ../../mod/directory.php:385
+#: ../../mod/directory.php:387
msgid "next page"
msgstr "siguiente página"
-#: ../../mod/directory.php:385
+#: ../../mod/directory.php:387
msgid "previous page"
msgstr "página anterior"
-#: ../../mod/directory.php:386
+#: ../../mod/directory.php:388
msgid "Sort options"
msgstr "Ordenar opciones"
-#: ../../mod/directory.php:387
+#: ../../mod/directory.php:389
msgid "Alphabetic"
msgstr "Alfabético"
-#: ../../mod/directory.php:388
+#: ../../mod/directory.php:390
msgid "Reverse Alphabetic"
msgstr "Alfabético inverso"
-#: ../../mod/directory.php:389
+#: ../../mod/directory.php:391
msgid "Newest to Oldest"
msgstr "De más nuevo a más antiguo"
-#: ../../mod/directory.php:390
+#: ../../mod/directory.php:392
msgid "Oldest to Newest"
msgstr "De más antiguo a más nuevo"
-#: ../../mod/directory.php:407
+#: ../../mod/directory.php:409
msgid "No entries (some entries may be hidden)."
msgstr "Sin entradas (algunas entradas pueden estar ocultas)."
@@ -4591,7 +4631,7 @@ msgid ""
"removed from the network"
msgstr "Por defecto, solo la instancia del canal alojado en este servidor será eliminado de la red"
-#: ../../mod/removeme.php:61 ../../mod/settings.php:1109
+#: ../../mod/removeme.php:61 ../../mod/settings.php:1110
msgid "Remove Channel"
msgstr "Eliminar el canal"
@@ -4623,7 +4663,7 @@ msgstr "No encontrado."
msgid "Menu Item Permissions"
msgstr "Permisos del elemento del menú"
-#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1053
+#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1054
msgid "(click to open/close)"
msgstr "(pulsar para abrir o cerrar)"
@@ -4731,249 +4771,249 @@ msgstr "No se ha podido acceder al registro de contacto."
msgid "Could not locate selected profile."
msgstr "No se ha podido localizar el perfil seleccionado."
-#: ../../mod/connedit.php:218
+#: ../../mod/connedit.php:223
msgid "Connection updated."
msgstr "Conexión actualizada."
-#: ../../mod/connedit.php:220
+#: ../../mod/connedit.php:225
msgid "Failed to update connection record."
msgstr "Error al actualizar el registro de la conexión."
-#: ../../mod/connedit.php:267
+#: ../../mod/connedit.php:272
msgid "is now connected to"
msgstr "ahora está conectado/a"
-#: ../../mod/connedit.php:390
+#: ../../mod/connedit.php:395
msgid "Could not access address book record."
msgstr "No se pudo acceder a la entrada en su libreta de direcciones."
-#: ../../mod/connedit.php:404
+#: ../../mod/connedit.php:409
msgid "Refresh failed - channel is currently unavailable."
msgstr "Recarga fallida - no se puede encontrar el canal en este momento."
-#: ../../mod/connedit.php:413 ../../mod/connedit.php:422
-#: ../../mod/connedit.php:431 ../../mod/connedit.php:440
-#: ../../mod/connedit.php:453
+#: ../../mod/connedit.php:418 ../../mod/connedit.php:427
+#: ../../mod/connedit.php:436 ../../mod/connedit.php:445
+#: ../../mod/connedit.php:458
msgid "Unable to set address book parameters."
msgstr "No ha sido posible establecer los parámetros de la libreta de direcciones."
-#: ../../mod/connedit.php:477
+#: ../../mod/connedit.php:482
msgid "Connection has been removed."
msgstr "La conexión ha sido eliminada."
-#: ../../mod/connedit.php:496
+#: ../../mod/connedit.php:501
#, php-format
msgid "View %s's profile"
msgstr "Ver el perfil de %s"
-#: ../../mod/connedit.php:500
+#: ../../mod/connedit.php:505
msgid "Refresh Permissions"
msgstr "Recargar los permisos"
-#: ../../mod/connedit.php:503
+#: ../../mod/connedit.php:508
msgid "Fetch updated permissions"
msgstr "Obtener los permisos actualizados"
-#: ../../mod/connedit.php:507
+#: ../../mod/connedit.php:512
msgid "Recent Activity"
msgstr "Actividad reciente"
-#: ../../mod/connedit.php:510
+#: ../../mod/connedit.php:515
msgid "View recent posts and comments"
msgstr "Ver publicaciones y comentarios recientes"
-#: ../../mod/connedit.php:514 ../../mod/admin.php:785
+#: ../../mod/connedit.php:519 ../../mod/admin.php:811
msgid "Unblock"
msgstr "Desbloquear"
-#: ../../mod/connedit.php:514 ../../mod/admin.php:784
+#: ../../mod/connedit.php:519 ../../mod/admin.php:810
msgid "Block"
msgstr "Bloquear"
-#: ../../mod/connedit.php:517
+#: ../../mod/connedit.php:522
msgid "Block (or Unblock) all communications with this connection"
msgstr "Bloquear (o desbloquear) todas las comunicaciones con esta conexión"
-#: ../../mod/connedit.php:518
+#: ../../mod/connedit.php:523
msgid "This connection is blocked!"
msgstr "¡Esta conexión está bloqueada!"
-#: ../../mod/connedit.php:522
+#: ../../mod/connedit.php:527
msgid "Unignore"
msgstr "Dejar de ignorar"
-#: ../../mod/connedit.php:522 ../../mod/notifications.php:51
+#: ../../mod/connedit.php:527 ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Ignorar"
-#: ../../mod/connedit.php:525
+#: ../../mod/connedit.php:530
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión"
-#: ../../mod/connedit.php:526
+#: ../../mod/connedit.php:531
msgid "This connection is ignored!"
msgstr "¡Esta conexión es ignorada!"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:535
msgid "Unarchive"
msgstr "Desarchivar"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:535
msgid "Archive"
msgstr "Archivar"
-#: ../../mod/connedit.php:533
+#: ../../mod/connedit.php:538
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archiva (o desarchiva) esta conexión - marca el canal como muerto aunque mantiene sus contenidos"
-#: ../../mod/connedit.php:534
+#: ../../mod/connedit.php:539
msgid "This connection is archived!"
msgstr "¡Esta conexión esta archivada!"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:543
msgid "Unhide"
msgstr "Mostrar"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:543
msgid "Hide"
msgstr "Ocultar"
-#: ../../mod/connedit.php:541
+#: ../../mod/connedit.php:546
msgid "Hide or Unhide this connection from your other connections"
msgstr "Ocultar o mostrar esta conexión a sus otras conexiones"
-#: ../../mod/connedit.php:542
+#: ../../mod/connedit.php:547
msgid "This connection is hidden!"
msgstr "¡Esta conexión está oculta!"
-#: ../../mod/connedit.php:549
+#: ../../mod/connedit.php:554
msgid "Delete this connection"
msgstr "Eliminar esta conexión"
-#: ../../mod/connedit.php:630
+#: ../../mod/connedit.php:635
msgid "Approve this connection"
msgstr "Aprobar esta conexión"
-#: ../../mod/connedit.php:630
+#: ../../mod/connedit.php:635
msgid "Accept connection to allow communication"
msgstr "Aceptar la conexión para permitir la comunicación"
-#: ../../mod/connedit.php:635
+#: ../../mod/connedit.php:640
msgid "Set Affinity"
msgstr "Ajustar la afinidad"
-#: ../../mod/connedit.php:638
+#: ../../mod/connedit.php:643
msgid "Set Profile"
msgstr "Ajustar el perfil"
-#: ../../mod/connedit.php:641
+#: ../../mod/connedit.php:646
msgid "Set Affinity & Profile"
msgstr "Ajustar la afinidad y el perfil"
-#: ../../mod/connedit.php:669
+#: ../../mod/connedit.php:679
msgid "none"
-msgstr "nada"
+msgstr "-"
-#: ../../mod/connedit.php:674
+#: ../../mod/connedit.php:684
msgid "Apply these permissions automatically"
msgstr "Aplicar estos permisos automaticamente"
-#: ../../mod/connedit.php:676
+#: ../../mod/connedit.php:686
msgid "This connection's primary address is"
msgstr "La dirección primaria de esta conexión es"
-#: ../../mod/connedit.php:677
+#: ../../mod/connedit.php:687
msgid "Available locations:"
msgstr "Ubicaciones disponibles:"
-#: ../../mod/connedit.php:681
+#: ../../mod/connedit.php:691
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "Los permisos indicados en esta página serán aplicados en todas las nuevas conexiones."
-#: ../../mod/connedit.php:683
+#: ../../mod/connedit.php:693
msgid "Slide to adjust your degree of friendship"
msgstr "Deslizar para ajustar el grado de amistad"
-#: ../../mod/connedit.php:685
+#: ../../mod/connedit.php:695
msgid "Slide to adjust your rating"
msgstr "Deslizar para ajustar su valoración"
-#: ../../mod/connedit.php:686 ../../mod/connedit.php:691
+#: ../../mod/connedit.php:696 ../../mod/connedit.php:701
msgid "Optionally explain your rating"
msgstr "Opcionalmente, puede explicar su valoración"
-#: ../../mod/connedit.php:688
+#: ../../mod/connedit.php:698
msgid "Custom Filter"
msgstr "Filtro personalizado"
-#: ../../mod/connedit.php:689
+#: ../../mod/connedit.php:699
msgid "Only import posts with this text"
msgstr "Importar solo entradas que contengan este texto"
-#: ../../mod/connedit.php:689 ../../mod/connedit.php:690
+#: ../../mod/connedit.php:699 ../../mod/connedit.php:700
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
-msgstr "Una por cada línea: palabras, #etiquetas, /patrones/ o lengua=xx. Dejar en blanco para importarlo todo"
+msgstr "Una sola opción por línea: palabras, #etiquetas, /patrones/ o lang=xx. Dejar en blanco para importarlo todo"
-#: ../../mod/connedit.php:690
+#: ../../mod/connedit.php:700
msgid "Do not import posts with this text"
msgstr "No importar entradas que contengan este texto"
-#: ../../mod/connedit.php:692
+#: ../../mod/connedit.php:702
msgid "This information is public!"
msgstr "¡Esta información es pública!"
-#: ../../mod/connedit.php:697
+#: ../../mod/connedit.php:707
msgid "Connection Pending Approval"
msgstr "Conexión pendiente de aprobación"
-#: ../../mod/connedit.php:698
+#: ../../mod/connedit.php:708
msgid "Connection Request"
msgstr "Solicitud de conexión"
-#: ../../mod/connedit.php:699
+#: ../../mod/connedit.php:709
#, php-format
msgid ""
"(%s) would like to connect with you. Please approve this connection to allow"
" communication."
msgstr "(%s) desearía conectar con usted. por favor, apruebe esta conexión para permitir la comunicación."
-#: ../../mod/connedit.php:700 ../../mod/admin.php:781
+#: ../../mod/connedit.php:710 ../../mod/admin.php:807
msgid "Approve"
msgstr "Aprobar"
-#: ../../mod/connedit.php:701
+#: ../../mod/connedit.php:711
msgid "Approve Later"
msgstr "Aprobar más tarde"
-#: ../../mod/connedit.php:704
+#: ../../mod/connedit.php:714
msgid "inherited"
msgstr "heredado"
-#: ../../mod/connedit.php:706
+#: ../../mod/connedit.php:716
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Por favor, escoja el perfil que quiere mostrar a %s cuando esté viendo su perfil de forma segura."
-#: ../../mod/connedit.php:708
+#: ../../mod/connedit.php:718
msgid "Their Settings"
msgstr "Sus ajustes"
-#: ../../mod/connedit.php:709
+#: ../../mod/connedit.php:719
msgid "My Settings"
msgstr "Mis ajustes"
-#: ../../mod/connedit.php:711
+#: ../../mod/connedit.php:721
msgid "Individual Permissions"
msgstr "Permisos individuales"
-#: ../../mod/connedit.php:712
+#: ../../mod/connedit.php:722
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4981,7 +5021,7 @@ msgid ""
" settings here."
msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí."
-#: ../../mod/connedit.php:713
+#: ../../mod/connedit.php:723
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4989,7 +5029,7 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados."
-#: ../../mod/connedit.php:714
+#: ../../mod/connedit.php:724
msgid "Last update:"
msgstr "Última actualización:"
@@ -5178,12 +5218,12 @@ msgstr "Tiempo de expiración de los mensajes en los chats (en minutos)"
msgid "%1$s's Chatrooms"
msgstr "Salas de chat de %1$s"
-#: ../../mod/search.php:211
+#: ../../mod/search.php:212
#, php-format
msgid "Items tagged with: %s"
msgstr "elementos etiquetados con: %s"
-#: ../../mod/search.php:213
+#: ../../mod/search.php:214
#, php-format
msgid "Search results for: %s"
msgstr "Resultados de la búsqueda para: %s"
@@ -5205,93 +5245,6 @@ msgstr "Valoración (esta información es pública)"
msgid "Optionally explain your rating (this information is public)"
msgstr "Opcionalmente puede explicar su valoración (esta información es pública)"
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Imposible asociar a un destinatario."
-
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Imposible comunicar con el canal solicitado."
-
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "No se puede verificar el canal solicitado."
-
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló."
-
-#: ../../mod/mail.php:132
-msgid "Messages"
-msgstr "Mensajes"
-
-#: ../../mod/mail.php:167
-msgid "Message recalled."
-msgstr "Mensaje revocado."
-
-#: ../../mod/mail.php:180
-msgid "Conversation removed."
-msgstr "Conversación eliminada."
-
-#: ../../mod/mail.php:223
-msgid "Requested channel is not in this network"
-msgstr "El canal solicitado no existe en esta red"
-
-#: ../../mod/mail.php:231
-msgid "Send Private Message"
-msgstr "Enviar un mensaje privado"
-
-#: ../../mod/mail.php:232 ../../mod/mail.php:361
-msgid "To:"
-msgstr "Para:"
-
-#: ../../mod/mail.php:235 ../../mod/mail.php:363
-msgid "Subject:"
-msgstr "Asunto:"
-
-#: ../../mod/mail.php:238 ../../mod/invite.php:131
-msgid "Your message:"
-msgstr "Su mensaje:"
-
-#: ../../mod/mail.php:242
-msgid "Send"
-msgstr "Enviar"
-
-#: ../../mod/mail.php:333
-msgid "Delete message"
-msgstr "Borrar mensaje"
-
-#: ../../mod/mail.php:334
-msgid "Delivery report"
-msgstr "Informe de transmisión"
-
-#: ../../mod/mail.php:335
-msgid "Recall message"
-msgstr "Revocar el mensaje"
-
-#: ../../mod/mail.php:337
-msgid "Message has been recalled."
-msgstr "El mensaje ha sido revocado."
-
-#: ../../mod/mail.php:354
-msgid "Delete Conversation"
-msgstr "Eliminar Conversación"
-
-#: ../../mod/mail.php:356
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente."
-
-#: ../../mod/mail.php:360
-msgid "Send Reply"
-msgstr "Responder"
-
-#: ../../mod/mail.php:365
-#, php-format
-msgid "Your message for %s (%s):"
-msgstr "Su mensaje para %s (%s):"
-
#: ../../mod/photos.php:79
msgid "Page owner information could not be retrieved."
msgstr "La información del propietario de la página no pudo ser recuperada."
@@ -5367,14 +5320,6 @@ msgstr "Mostrar lo más reciente primero"
msgid "Show Oldest First"
msgstr "Mostrar lo más antiguo primero"
-#: ../../mod/photos.php:753 ../../mod/photos.php:1286
-msgid "View Photo"
-msgstr "Ver foto"
-
-#: ../../mod/photos.php:782
-msgid "Edit Album"
-msgstr "Editar álbum"
-
#: ../../mod/photos.php:827
msgid "Permission denied. Access to this item may be restricted."
msgstr "Permiso denegado. El acceso a este elemento puede estar restringido."
@@ -5391,7 +5336,7 @@ msgstr "Usar como foto del perfil"
msgid "Private Photo"
msgstr "Foto privada"
-#: ../../mod/photos.php:905 ../../mod/events.php:528
+#: ../../mod/photos.php:905 ../../mod/events.php:525 ../../mod/events.php:532
msgid "Previous"
msgstr "Anterior"
@@ -5399,7 +5344,8 @@ msgstr "Anterior"
msgid "View Full Size"
msgstr "Ver tamaño completo"
-#: ../../mod/photos.php:914 ../../mod/events.php:529 ../../mod/setup.php:285
+#: ../../mod/photos.php:914 ../../mod/events.php:526 ../../mod/events.php:533
+#: ../../mod/setup.php:285
msgid "Next"
msgstr "Siguiente"
@@ -5459,63 +5405,6 @@ msgstr "Ver álbum"
msgid "Recent Photos"
msgstr "Fotos recientes"
-#: ../../mod/dreport.php:23
-msgid "Invalid message"
-msgstr "Mensaje no válido"
-
-#: ../../mod/dreport.php:55
-msgid "no results"
-msgstr "sin resultados"
-
-#: ../../mod/dreport.php:60
-#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Informe de entrega para %1$s"
-
-#: ../../mod/dreport.php:74
-msgid "channel sync processed"
-msgstr "se ha realizado la sincronización del canal"
-
-#: ../../mod/dreport.php:78
-msgid "queued"
-msgstr "encolado"
-
-#: ../../mod/dreport.php:82
-msgid "posted"
-msgstr "enviado"
-
-#: ../../mod/dreport.php:86
-msgid "accepted for delivery"
-msgstr "aceptado para el envío"
-
-#: ../../mod/dreport.php:90
-msgid "updated"
-msgstr "actualizado"
-
-#: ../../mod/dreport.php:93
-msgid "update ignored"
-msgstr "actualización ignorada"
-
-#: ../../mod/dreport.php:96
-msgid "permission denied"
-msgstr "permiso denegado"
-
-#: ../../mod/dreport.php:100
-msgid "recipient not found"
-msgstr "destinatario no encontrado"
-
-#: ../../mod/dreport.php:103
-msgid "mail recalled"
-msgstr "mensaje de correo revocado"
-
-#: ../../mod/dreport.php:106
-msgid "duplicate mail received"
-msgstr "se ha recibido mensaje duplicado"
-
-#: ../../mod/dreport.php:109
-msgid "mail delivered"
-msgstr "correo enviado"
-
#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
#: ../../mod/editwebpage.php:77
@@ -5553,7 +5442,7 @@ msgstr "El servidor de este directorio necesita un \"token\" de acceso"
msgid "Item is not editable"
msgstr "El elemento no es editable"
-#: ../../mod/editpost.php:55
+#: ../../mod/editpost.php:57
msgid "Delete item?"
msgstr "¿Borrar elemento?"
@@ -5605,10 +5494,10 @@ msgstr "# clones"
msgid "Message queues"
msgstr "Mensajes en cola"
-#: ../../mod/admin.php:198 ../../mod/admin.php:409 ../../mod/admin.php:506
-#: ../../mod/admin.php:774 ../../mod/admin.php:938 ../../mod/admin.php:1030
-#: ../../mod/admin.php:1070 ../../mod/admin.php:1230 ../../mod/admin.php:1264
-#: ../../mod/admin.php:1349
+#: ../../mod/admin.php:198 ../../mod/admin.php:433 ../../mod/admin.php:532
+#: ../../mod/admin.php:800 ../../mod/admin.php:964 ../../mod/admin.php:1061
+#: ../../mod/admin.php:1101 ../../mod/admin.php:1261 ../../mod/admin.php:1295
+#: ../../mod/admin.php:1380
msgid "Administration"
msgstr "Administración"
@@ -5620,7 +5509,7 @@ msgstr "Sumario"
msgid "Registered accounts"
msgstr "Cuentas registradas"
-#: ../../mod/admin.php:203 ../../mod/admin.php:510
+#: ../../mod/admin.php:203 ../../mod/admin.php:536
msgid "Pending registrations"
msgstr "Registros pendientes"
@@ -5628,7 +5517,7 @@ msgstr "Registros pendientes"
msgid "Registered channels"
msgstr "Canales registrados"
-#: ../../mod/admin.php:205 ../../mod/admin.php:511
+#: ../../mod/admin.php:205 ../../mod/admin.php:537
msgid "Active plugins"
msgstr "Extensiones activas"
@@ -5636,674 +5525,682 @@ msgstr "Extensiones activas"
msgid "Version"
msgstr "Versión"
-#: ../../mod/admin.php:321
+#: ../../mod/admin.php:324
msgid "Site settings updated."
msgstr "Ajustes del sitio actualizados."
-#: ../../mod/admin.php:358 ../../mod/settings.php:790
+#: ../../mod/admin.php:361 ../../mod/settings.php:791
msgid "mobile"
msgstr "móvil"
-#: ../../mod/admin.php:360
+#: ../../mod/admin.php:363
msgid "experimental"
msgstr "experimental"
-#: ../../mod/admin.php:362
+#: ../../mod/admin.php:365
msgid "unsupported"
msgstr "no soportado"
-#: ../../mod/admin.php:387
+#: ../../mod/admin.php:411
msgid "Yes - with approval"
msgstr "Sí - con aprobación"
-#: ../../mod/admin.php:393
+#: ../../mod/admin.php:417
msgid "My site is not a public server"
msgstr "Mi sitio no es un servidor público"
-#: ../../mod/admin.php:394
+#: ../../mod/admin.php:418
msgid "My site has paid access only"
msgstr "Mi sitio es un servicio de pago"
-#: ../../mod/admin.php:395
+#: ../../mod/admin.php:419
msgid "My site has free access only"
msgstr "Mi sitio es un servicio gratuito"
-#: ../../mod/admin.php:396
+#: ../../mod/admin.php:420
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mi sitio ofrece cuentas gratuitas con opciones extra de pago"
-#: ../../mod/admin.php:412 ../../mod/register.php:207
+#: ../../mod/admin.php:436 ../../mod/register.php:207
msgid "Registration"
msgstr "Registro"
-#: ../../mod/admin.php:413
+#: ../../mod/admin.php:437
msgid "File upload"
msgstr "Fichero subido"
-#: ../../mod/admin.php:414
+#: ../../mod/admin.php:438
msgid "Policies"
msgstr "Políticas"
-#: ../../mod/admin.php:419
+#: ../../mod/admin.php:443
msgid "Site name"
msgstr "Nombre del sitio"
-#: ../../mod/admin.php:420
+#: ../../mod/admin.php:444
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:445
msgid "Administrator Information"
msgstr "Información del Administrador"
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:445
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode"
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:446
msgid "System language"
msgstr "Idioma del sistema"
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:447
msgid "System theme"
msgstr "Tema gráfico del sistema"
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:447
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:448
msgid "Mobile system theme"
msgstr "Tema del sistema para móviles"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:448
msgid "Theme for mobile devices"
msgstr "Tema para dispositivos móviles"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:450
msgid "Allow Feeds as Connections"
msgstr "Permitir flujos RSS como conexiones"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:450
msgid "(Heavy system resource usage)"
msgstr "(Uso intenso de los recursos del sistema)"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:451
msgid "Maximum image size"
msgstr "Tamaño máximo de la imagen"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:451
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Tamaño máximo en bytes de la imagen subida. Por defecto, es 0, lo que significa que no hay límites."
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:452
msgid "Does this site allow new member registration?"
msgstr "¿Debe este sitio permitir el registro de nuevos miembros?"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:453
msgid "Which best describes the types of account offered by this hub?"
msgstr "¿Cómo describiría el tipo de servicio ofrecido por este servidor?"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:454
msgid "Register text"
msgstr "Texto del registro"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:454
msgid "Will be displayed prominently on the registration page."
msgstr "Se mostrará de forma destacada en la página de registro."
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:455
msgid "Site homepage to show visitors (default: login box)"
msgstr "Página personal que se mostrará a los visitantes (por defecto: la página de identificación)"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:455
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "ejemplo: 'public' para mostrar contenido público de los usuarios, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero."
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:456
msgid "Preserve site homepage URL"
msgstr "Preservar la dirección de la página personal"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:456
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Presenta la página personal del sitio en un marco en la ubicación original, en vez de redirigirla."
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:457
msgid "Accounts abandoned after x days"
msgstr "Cuentas abandonadas después de x días"
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:457
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Para evitar consumir recursos del sistema intentando poner al día las cuentas abandonadas. Introduzca 0 para no tener límite de tiempo."
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:458
msgid "Allowed friend domains"
msgstr "Dominios amigos permitidos"
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:458
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Lista separada por comas de dominios a los que está permitido establecer relaciones de amistad con este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio."
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:459
msgid "Allowed email domains"
msgstr "Se aceptan dominios de correo electrónico"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:459
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. "
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:460
msgid "Not allowed email domains"
msgstr "No se permiten dominios de correo electrónico"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:460
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado."
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:461
msgid "Block public"
msgstr "Bloquear páginas públicas"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:461
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Activar para bloquear el acceso a todas las páginas públicas personales en este sitio, salvo que estén identificadas en el sistema."
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:462
msgid "Verify Email Addresses"
msgstr "Verificar las direcciones de correo electrónico"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:462
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Activar para la verificación de la dirección de correo electrónico en el registro de una cuenta (recomendado)."
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:463
msgid "Force publish"
msgstr "Forzar la publicación"
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:463
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Intentar forzar todos los perfiles para que sean listados en el directorio de este sitio."
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:464
msgid "Disable discovery tab"
msgstr "Desactivar la pestaña \"Descubrir\""
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:464
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Quitar la pestaña para ver contenido público extraído de las fuentes elegidas por este sitio."
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:465
msgid "login on Homepage"
msgstr "acceso a la página personal"
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:465
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido."
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:467
+msgid "Directory Server URL"
+msgstr "URL del servidor de directorio"
+
+#: ../../mod/admin.php:467
+msgid "Default directory server"
+msgstr "Servidor de directorio predeterminado"
+
+#: ../../mod/admin.php:469
msgid "Proxy user"
msgstr "Usuario del proxy"
-#: ../../mod/admin.php:444
+#: ../../mod/admin.php:470
msgid "Proxy URL"
msgstr "Dirección del proxy"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:471
msgid "Network timeout"
msgstr "Tiempo de espera de la red"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:471
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:472
msgid "Delivery interval"
msgstr "Intervalo de entrega"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:472
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 "Retrasar los procesos de transmisión en segundo plano por esta cantidad de segundos para reducir la carga del sistema. Recomendado: 4-5 para sitios compartidos, 2-3 para servidores virtuales privados, 0-1 para grandes servidores dedicados."
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:473
msgid "Deliveries per process"
msgstr "Intentos de envío por proceso"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:473
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5."
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:474
msgid "Poll interval"
msgstr "Intervalo de sondeo"
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:474
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Retrasar el sondeo en segundo plano, en esta cantidad de segundos, para reducir la carga del sistema. Si es 0, usar el intervalo de transmisión."
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:475
msgid "Maximum Load Average"
msgstr "Carga media máxima"
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:475
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Carga máxima del sistema antes de que los procesos de transmisión y sondeo se hayan retardado - por defecto, 50."
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:476
msgid "Expiration period in days for imported (matrix/network) content"
msgstr "Periodo de caducidad en días para el contenido importado (red)"
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:476
msgid "0 for no expiration of imported content"
msgstr "0 para que no caduque el contenido importado"
-#: ../../mod/admin.php:498
+#: ../../mod/admin.php:524
msgid "No server found"
msgstr "Servidor no encontrado"
-#: ../../mod/admin.php:505 ../../mod/admin.php:788
+#: ../../mod/admin.php:531 ../../mod/admin.php:814
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "for channel"
msgstr "por canal"
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "on server"
msgstr "en el servidor"
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "Status"
msgstr "Estado"
-#: ../../mod/admin.php:507
+#: ../../mod/admin.php:533
msgid "Server"
msgstr "Servidor"
-#: ../../mod/admin.php:524
+#: ../../mod/admin.php:550
msgid "Update has been marked successful"
msgstr "La actualización ha sido marcada como exitosa"
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:560
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "La ejecución de %s ha fallado. Mirar en los informes del sistema."
-#: ../../mod/admin.php:537
+#: ../../mod/admin.php:563
#, php-format
msgid "Update %s was successfully applied."
msgstr "La actualización de %s se ha realizado exitosamente."
-#: ../../mod/admin.php:541
+#: ../../mod/admin.php:567
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito."
-#: ../../mod/admin.php:544
+#: ../../mod/admin.php:570
#, php-format
msgid "Update function %s could not be found."
msgstr "No se encuentra la función de actualización de %s."
-#: ../../mod/admin.php:560
+#: ../../mod/admin.php:586
msgid "No failed updates."
msgstr "No ha fallado ninguna actualización."
-#: ../../mod/admin.php:564
+#: ../../mod/admin.php:590
msgid "Failed Updates"
msgstr "Han fallado las actualizaciones"
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:592
msgid "Mark success (if update was manually applied)"
msgstr "Marcar como exitosa (si la actualización se ha hecho manualmente)"
-#: ../../mod/admin.php:567
+#: ../../mod/admin.php:593
msgid "Attempt to execute this update step automatically"
msgstr "Intentar ejecutar este paso de actualización automáticamente"
-#: ../../mod/admin.php:599
+#: ../../mod/admin.php:625
msgid "Queue Statistics"
msgstr "Estadísticas de la cola"
-#: ../../mod/admin.php:600
+#: ../../mod/admin.php:626
msgid "Total Entries"
msgstr "Total de entradas"
-#: ../../mod/admin.php:601
+#: ../../mod/admin.php:627
msgid "Priority"
msgstr "Prioridad"
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:628
msgid "Destination URL"
msgstr "Dirección de destino"
-#: ../../mod/admin.php:603
+#: ../../mod/admin.php:629
msgid "Mark hub permanently offline"
msgstr "Marcar el servidor como permanentemente fuera de línea"
-#: ../../mod/admin.php:604
+#: ../../mod/admin.php:630
msgid "Empty queue for this hub"
msgstr "Vaciar la cola para este servidor"
-#: ../../mod/admin.php:605
+#: ../../mod/admin.php:631
msgid "Last known contact"
msgstr "Último contacto conocido"
-#: ../../mod/admin.php:641
+#: ../../mod/admin.php:667
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "%s cuenta bloqueada/desbloqueada"
msgstr[1] "%s cuenta bloqueada/desbloqueada"
-#: ../../mod/admin.php:649
+#: ../../mod/admin.php:675
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s cuentas eliminadas"
msgstr[1] "%s cuentas eliminadas"
-#: ../../mod/admin.php:685
+#: ../../mod/admin.php:711
msgid "Account not found"
msgstr "Cuenta no encontrada"
-#: ../../mod/admin.php:697
+#: ../../mod/admin.php:723
#, php-format
msgid "Account '%s' deleted"
msgstr "La cuenta '%s' ha sido eliminada"
-#: ../../mod/admin.php:705
+#: ../../mod/admin.php:731
#, php-format
msgid "Account '%s' blocked"
msgstr "La cuenta '%s' ha sido bloqueada"
-#: ../../mod/admin.php:713
+#: ../../mod/admin.php:739
#, php-format
msgid "Account '%s' unblocked"
msgstr "La cuenta '%s' ha sido desbloqueada"
-#: ../../mod/admin.php:775 ../../mod/admin.php:787
+#: ../../mod/admin.php:801 ../../mod/admin.php:813
msgid "Users"
msgstr "Usuarios"
-#: ../../mod/admin.php:777 ../../mod/admin.php:941
+#: ../../mod/admin.php:803 ../../mod/admin.php:967
msgid "select all"
msgstr "seleccionar todo"
-#: ../../mod/admin.php:778
+#: ../../mod/admin.php:804
msgid "User registrations waiting for confirm"
msgstr "Registros de usuario en espera de aprobación"
-#: ../../mod/admin.php:779
+#: ../../mod/admin.php:805
msgid "Request date"
msgstr "Fecha de solicitud"
-#: ../../mod/admin.php:780
+#: ../../mod/admin.php:806
msgid "No registrations."
msgstr "Sin registros."
-#: ../../mod/admin.php:782
+#: ../../mod/admin.php:808
msgid "Deny"
msgstr "Rechazar"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Register date"
msgstr "Fecha de registro"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Last login"
msgstr "Último acceso"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Expires"
msgstr "Caduca"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Service Class"
msgstr "Clase de servicio"
-#: ../../mod/admin.php:790
+#: ../../mod/admin.php:816
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "¡Las cuentas seleccionadas van a ser eliminadas!\\n\\n¡Todo lo que estas cuentas han publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../mod/admin.php:791
+#: ../../mod/admin.php:817
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "¡La cuenta {0} va a ser eliminada!\\n\\n¡Todo lo que esta cuenta ha publicado en este sitio será borrado de forma permanente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../mod/admin.php:827
+#: ../../mod/admin.php:853
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s canales censurados/no censurados"
msgstr[1] "%s canales censurados/no censurados"
-#: ../../mod/admin.php:836
+#: ../../mod/admin.php:862
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] "%s código permitido/no permitido al canal"
msgstr[1] "%s código permitido/no permitido al canal"
-#: ../../mod/admin.php:843
+#: ../../mod/admin.php:869
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canales eliminados"
msgstr[1] "%s canales eliminados"
-#: ../../mod/admin.php:863
+#: ../../mod/admin.php:889
msgid "Channel not found"
msgstr "Canal no encontrado"
-#: ../../mod/admin.php:874
+#: ../../mod/admin.php:900
#, php-format
msgid "Channel '%s' deleted"
msgstr "Canal '%s' eliminado"
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:912
#, php-format
msgid "Channel '%s' censored"
msgstr "Canal '%s' censurado"
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:912
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Canal '%s' no censurado"
-#: ../../mod/admin.php:897
+#: ../../mod/admin.php:923
#, php-format
msgid "Channel '%s' code allowed"
msgstr "Código permitido al canal '%s'"
-#: ../../mod/admin.php:897
+#: ../../mod/admin.php:923
#, php-format
msgid "Channel '%s' code disallowed"
msgstr "Código no permitido al canal '%s'"
-#: ../../mod/admin.php:943
+#: ../../mod/admin.php:969
msgid "Censor"
msgstr "Censurar"
-#: ../../mod/admin.php:944
+#: ../../mod/admin.php:970
msgid "Uncensor"
msgstr "No censurar"
-#: ../../mod/admin.php:945
+#: ../../mod/admin.php:971
msgid "Allow Code"
msgstr "Permitir código"
-#: ../../mod/admin.php:946
+#: ../../mod/admin.php:972
msgid "Disallow Code"
msgstr "No permitir código"
-#: ../../mod/admin.php:948
+#: ../../mod/admin.php:974
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:948 ../../mod/profiles.php:447
+#: ../../mod/admin.php:974 ../../mod/profiles.php:447
msgid "Address"
msgstr "Dirección"
-#: ../../mod/admin.php:950
+#: ../../mod/admin.php:976
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../mod/admin.php:951
+#: ../../mod/admin.php:977
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../mod/admin.php:991
+#: ../../mod/admin.php:1017
#, php-format
msgid "Plugin %s disabled."
msgstr "Extensión %s desactivada."
-#: ../../mod/admin.php:995
+#: ../../mod/admin.php:1021
#, php-format
msgid "Plugin %s enabled."
msgstr "Extensión %s activada."
-#: ../../mod/admin.php:1005 ../../mod/admin.php:1203
+#: ../../mod/admin.php:1031 ../../mod/admin.php:1234
msgid "Disable"
msgstr "Desactivar"
-#: ../../mod/admin.php:1008 ../../mod/admin.php:1205
+#: ../../mod/admin.php:1034 ../../mod/admin.php:1236
msgid "Enable"
msgstr "Activar"
-#: ../../mod/admin.php:1032 ../../mod/admin.php:1232
+#: ../../mod/admin.php:1063 ../../mod/admin.php:1263
msgid "Toggle"
msgstr "Cambiar"
-#: ../../mod/admin.php:1040 ../../mod/admin.php:1242
+#: ../../mod/admin.php:1071 ../../mod/admin.php:1273
msgid "Author: "
msgstr "Autor:"
-#: ../../mod/admin.php:1041 ../../mod/admin.php:1243
+#: ../../mod/admin.php:1072 ../../mod/admin.php:1274
msgid "Maintainer: "
msgstr "Mantenedor:"
-#: ../../mod/admin.php:1168
+#: ../../mod/admin.php:1199
msgid "No themes found."
msgstr "No se han encontrado temas."
-#: ../../mod/admin.php:1224
+#: ../../mod/admin.php:1255
msgid "Screenshot"
msgstr "Instantánea de pantalla"
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1301
msgid "[Experimental]"
msgstr "[Experimental]"
-#: ../../mod/admin.php:1271
+#: ../../mod/admin.php:1302
msgid "[Unsupported]"
msgstr "[No soportado]"
-#: ../../mod/admin.php:1295
+#: ../../mod/admin.php:1326
msgid "Log settings updated."
msgstr "Actualizado el informe de configuraciones."
-#: ../../mod/admin.php:1352
+#: ../../mod/admin.php:1383
msgid "Clear"
msgstr "Vaciar"
-#: ../../mod/admin.php:1358
+#: ../../mod/admin.php:1389
msgid "Debugging"
msgstr "Depuración"
-#: ../../mod/admin.php:1359
+#: ../../mod/admin.php:1390
msgid "Log file"
msgstr "Fichero de informe"
-#: ../../mod/admin.php:1359
+#: ../../mod/admin.php:1390
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio de instalación de Hubzilla."
-#: ../../mod/admin.php:1360
+#: ../../mod/admin.php:1391
msgid "Log level"
msgstr "Nivel de depuración"
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1437
msgid "New Profile Field"
msgstr "Nuevo campo en el perfil"
-#: ../../mod/admin.php:1407 ../../mod/admin.php:1427
+#: ../../mod/admin.php:1438 ../../mod/admin.php:1458
msgid "Field nickname"
msgstr "Alias del campo"
-#: ../../mod/admin.php:1407 ../../mod/admin.php:1427
+#: ../../mod/admin.php:1438 ../../mod/admin.php:1458
msgid "System name of field"
msgstr "Nombre del campo en el sistema"
-#: ../../mod/admin.php:1408 ../../mod/admin.php:1428
+#: ../../mod/admin.php:1439 ../../mod/admin.php:1459
msgid "Input type"
msgstr "Tipo de entrada"
-#: ../../mod/admin.php:1409 ../../mod/admin.php:1429
+#: ../../mod/admin.php:1440 ../../mod/admin.php:1460
msgid "Field Name"
msgstr "Nombre del campo"
-#: ../../mod/admin.php:1409 ../../mod/admin.php:1429
+#: ../../mod/admin.php:1440 ../../mod/admin.php:1460
msgid "Label on profile pages"
msgstr "Etiqueta a mostrar en la página del perfil"
-#: ../../mod/admin.php:1410 ../../mod/admin.php:1430
+#: ../../mod/admin.php:1441 ../../mod/admin.php:1461
msgid "Help text"
msgstr "Texto de ayuda"
-#: ../../mod/admin.php:1410 ../../mod/admin.php:1430
+#: ../../mod/admin.php:1441 ../../mod/admin.php:1461
msgid "Additional info (optional)"
msgstr "Información adicional (opcional)"
-#: ../../mod/admin.php:1420
+#: ../../mod/admin.php:1451
msgid "Field definition not found"
msgstr "Definición del campo no encontrada"
-#: ../../mod/admin.php:1426
+#: ../../mod/admin.php:1457
msgid "Edit Profile Field"
msgstr "Modificar el campo del perfil"
@@ -6335,7 +6232,7 @@ msgstr "Nombre de la aplicación"
msgid "Location (URL) of app"
msgstr "Ubicación (URL) de la aplicación"
-#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:97
msgid "Description"
msgstr "Descripción"
@@ -6542,11 +6439,16 @@ msgstr "Nombre del módulo:"
msgid "Layout Help"
msgstr "Ayuda para el diseño de la página"
-#: ../../mod/subthread.php:102
+#: ../../mod/subthread.php:114
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr "%1$s está siguiendo %2$s de %3$s"
+#: ../../mod/subthread.php:116
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr "%1$s ha dejado de seguir %3$s de %2$s"
+
#: ../../mod/lostpass.php:15
msgid "No valid account found."
msgstr "No se ha encontrado una cuenta válida."
@@ -6571,7 +6473,7 @@ msgid ""
"Password reset failed."
msgstr "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado."
-#: ../../mod/lostpass.php:86 ../../boot.php:1511
+#: ../../mod/lostpass.php:86 ../../boot.php:1494
msgid "Password Reset"
msgstr "Restablecer la contraseña"
@@ -6657,33 +6559,29 @@ msgstr "Se requieren el título del evento y su hora de inicio."
msgid "Event not found."
msgstr "Evento no encontrado."
-#: ../../mod/events.php:448
+#: ../../mod/events.php:446
msgid "l, F j"
msgstr "l j F"
-#: ../../mod/events.php:470
+#: ../../mod/events.php:468
msgid "Edit event"
msgstr "Editar evento"
-#: ../../mod/events.php:472
+#: ../../mod/events.php:470
msgid "Delete event"
msgstr "Borrar evento"
-#: ../../mod/events.php:506
+#: ../../mod/events.php:504
msgid "calendar"
msgstr "calendario"
-#: ../../mod/events.php:527
-msgid "Create New Event"
-msgstr "Crear un nuevo evento"
+#: ../../mod/events.php:524
+msgid "New Event"
+msgstr "Nuevo evento"
-#: ../../mod/events.php:530
-msgid "Export"
-msgstr "Exportar"
-
-#: ../../mod/events.php:533
-msgid "Import"
-msgstr "Importar"
+#: ../../mod/events.php:534
+msgid "Today"
+msgstr "Hoy"
#: ../../mod/events.php:564
msgid "Event removed"
@@ -6831,7 +6729,7 @@ msgstr "Seleccionar un perfil:"
msgid "Upload Profile Photo"
msgstr "Subir foto del perfil"
-#: ../../mod/profile_photo.php:454 ../../mod/settings.php:972
+#: ../../mod/profile_photo.php:454 ../../mod/settings.php:973
msgid "or"
msgstr "o"
@@ -6903,20 +6801,24 @@ msgstr "La entrada vacía ha sido desechada."
msgid "Executable content type not permitted to this channel."
msgstr "Contenido de tipo ejecutable no permitido en este canal."
-#: ../../mod/item.php:908
+#: ../../mod/item.php:822
+msgid "Duplicate post suppressed."
+msgstr "Se ha suprimido la entrada duplicada."
+
+#: ../../mod/item.php:953
msgid "System error. Post not saved."
msgstr "Error del sistema. La entrada no se ha podido salvar."
-#: ../../mod/item.php:1175
+#: ../../mod/item.php:1220
msgid "Unable to obtain post information from database."
msgstr "No ha sido posible obtener información de la entrada en la base de datos."
-#: ../../mod/item.php:1182
+#: ../../mod/item.php:1227
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Ha alcanzado su límite de %1$.0f entradas en la página principal."
-#: ../../mod/item.php:1189
+#: ../../mod/item.php:1234
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Ha alcanzado su límite de %1$.0f páginas web."
@@ -7036,7 +6938,7 @@ msgid ""
"removed from the network"
msgstr "Por defecto, solo las instancias de los canales ubicados en este servidor serán eliminados de la red"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:697
+#: ../../mod/removeaccount.php:61 ../../mod/settings.php:698
msgid "Remove Account"
msgstr "Eliminar cuenta"
@@ -7048,11 +6950,11 @@ msgstr "No se han encontrado restricciones sobre esta clase de servicio."
msgid "Item not available."
msgstr "Elemento no disponible"
-#: ../../mod/pubsites.php:16
+#: ../../mod/pubsites.php:18
msgid "Public Sites"
msgstr "Sitios públicos"
-#: ../../mod/pubsites.php:19
+#: ../../mod/pubsites.php:21
msgid ""
"The listed sites allow public registration for the $Projectname network. All"
" sites in the network are interlinked so membership on any of them conveys "
@@ -7061,39 +6963,39 @@ msgid ""
"provide additional details."
msgstr "Los sitios listados permiten el registro público en la red $Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los enlaces de los proveedores <strong> pueden </strong> proporcionar detalles adicionales."
-#: ../../mod/pubsites.php:25
+#: ../../mod/pubsites.php:27
msgid "Rate this hub"
msgstr "Valorar este sitio"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Site URL"
msgstr "Dirección del sitio"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Access Type"
msgstr "Tipo de acceso"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Registration Policy"
msgstr "Normas de registro"
-#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454
+#: ../../mod/pubsites.php:28 ../../mod/profiles.php:454
msgid "Location"
msgstr "Ubicación"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Project"
msgstr "Proyecto"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "View hub ratings"
msgstr "Ver las valoraciones del sitio"
-#: ../../mod/pubsites.php:30
+#: ../../mod/pubsites.php:32
msgid "Rate"
msgstr "Valorar"
-#: ../../mod/pubsites.php:31
+#: ../../mod/pubsites.php:33
msgid "View ratings"
msgstr "Ver valoraciones"
@@ -7205,127 +7107,68 @@ msgstr "Acceder"
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permisos insuficientes. Petición redirigida a la página del perfil."
-#: ../../mod/siteinfo.php:111
-#, php-format
-msgid "Version %s"
-msgstr "Versión %s"
-
-#: ../../mod/siteinfo.php:132
-msgid "Installed plugins/addons/apps:"
-msgstr "Extensiones/Aplicaciones instaladas:"
-
-#: ../../mod/siteinfo.php:145
-msgid "No installed plugins/addons/apps"
-msgstr "Extensiones/Aplicaciones no instaladas:"
-
-#: ../../mod/siteinfo.php:158
-msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Este es un sitio integrado en $Projectname - una red cooperativa mundial de sitios web descentralizados de privacidad mejorada."
-
-#: ../../mod/siteinfo.php:160
-msgid "Tag: "
-msgstr "Etiqueta:"
-
-#: ../../mod/siteinfo.php:162
-msgid "Last background fetch: "
-msgstr "Última actualización en segundo plano:"
-
-#: ../../mod/siteinfo.php:164
-msgid "Current load average: "
-msgstr "Carga media actual:"
-
-#: ../../mod/siteinfo.php:167
-msgid "Running at web location"
-msgstr "Corriendo en el sitio web"
-
-#: ../../mod/siteinfo.php:168
-msgid ""
-"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
-"about $Projectname."
-msgstr "Por favor, visite <a href=\"http://hubzilla.org\">hubzilla.org</a> para más información sobre $Projectname."
-
-#: ../../mod/siteinfo.php:169
-msgid "Bug reports and issues: please visit"
-msgstr "Informes de errores e incidencias: por, favor visite"
-
-#: ../../mod/siteinfo.php:171
-msgid "$projectname issues"
-msgstr "Problemas en $projectname"
-
-#: ../../mod/siteinfo.php:172
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Sugerencias, elogios, etc - por favor, un correo electrónico a \"redmatrix\" en librelist - punto com"
-
-#: ../../mod/siteinfo.php:174
-msgid "Site Administrators"
-msgstr "Administradores del sitio"
-
-#: ../../mod/import.php:27
+#: ../../mod/import.php:28
#, php-format
msgid "Your service plan only allows %d channels."
msgstr "Su paquete de servicios solo permite %d canales."
-#: ../../mod/import.php:65 ../../mod/import_items.php:38
+#: ../../mod/import.php:66 ../../mod/import_items.php:38
msgid "Nothing to import."
msgstr "No hay nada para importar."
-#: ../../mod/import.php:89 ../../mod/import_items.php:62
+#: ../../mod/import.php:90 ../../mod/import_items.php:62
msgid "Unable to download data from old server"
msgstr "No se han podido descargar datos de su antiguo servidor"
-#: ../../mod/import.php:95 ../../mod/import_items.php:68
+#: ../../mod/import.php:96 ../../mod/import_items.php:68
msgid "Imported file is empty."
msgstr "El fichero importado está vacío."
-#: ../../mod/import.php:115 ../../mod/import_items.php:82
+#: ../../mod/import.php:116 ../../mod/import_items.php:82
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Atención: Las versiones de la base de datos difieren en %1$d actualizaciones."
-#: ../../mod/import.php:148
+#: ../../mod/import.php:149
msgid "No channel. Import failed."
msgstr "No hay canal. La importación ha fallado"
-#: ../../mod/import.php:499
+#: ../../mod/import.php:509
msgid "You must be logged in to use this feature."
msgstr "Debe estar registrado para poder usar esta funcionalidad."
-#: ../../mod/import.php:504
+#: ../../mod/import.php:514
msgid "Import Channel"
msgstr "Importar canal"
-#: ../../mod/import.php:505
+#: ../../mod/import.php:515
msgid ""
"Use this form to import an existing channel from a different server/hub. You"
" may retrieve the channel identity from the old server/hub via the network "
"or provide an export file."
msgstr "Emplee este formulario para importar un canal desde un servidor/hub diferente. Puede recuperar el canal desde el antiguo servidor/hub a través de la red o proporcionando un fichero de exportación."
-#: ../../mod/import.php:506 ../../mod/import_items.php:121
+#: ../../mod/import.php:516 ../../mod/import_items.php:121
msgid "File to Upload"
msgstr "Fichero para subir"
-#: ../../mod/import.php:507
+#: ../../mod/import.php:517
msgid "Or provide the old server/hub details"
msgstr "O proporcione los detalles de su antiguo servidor/hub"
-#: ../../mod/import.php:508
+#: ../../mod/import.php:518
msgid "Your old identity address (xyz@example.com)"
msgstr "Su identidad en el antiguo servidor (canal@ejemplo.com)"
-#: ../../mod/import.php:509
+#: ../../mod/import.php:519
msgid "Your old login email address"
msgstr "Su antigua dirección de correo electrónico"
-#: ../../mod/import.php:510
+#: ../../mod/import.php:520
msgid "Your old login password"
msgstr "Su antigua contraseña"
-#: ../../mod/import.php:511
+#: ../../mod/import.php:521
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"
@@ -7333,22 +7176,79 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Para cualquiera de las opciones, elija si hacer de este servidor su nueva dirección primaria, o si su antigua ubicación debe continuar con este papel. Usted podrá publicar desde cualquier ubicación, pero sólo una puede estar marcada como la ubicación principal para los ficheros, fotos y otras imágenes o vídeos."
-#: ../../mod/import.php:512
+#: ../../mod/import.php:522
msgid "Make this hub my primary location"
msgstr "Convertir este servidor en mi ubicación primaria"
-#: ../../mod/import.php:513
+#: ../../mod/import.php:523
msgid ""
"Import existing posts if possible (experimental - limited by available "
"memory"
msgstr "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible"
-#: ../../mod/import.php:514
+#: ../../mod/import.php:524
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
msgstr "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine."
+#: ../../mod/dreport.php:23
+msgid "Invalid message"
+msgstr "Mensaje no válido"
+
+#: ../../mod/dreport.php:55
+msgid "no results"
+msgstr "sin resultados"
+
+#: ../../mod/dreport.php:60
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Informe de entrega para %1$s"
+
+#: ../../mod/dreport.php:74
+msgid "channel sync processed"
+msgstr "se ha realizado la sincronización del canal"
+
+#: ../../mod/dreport.php:78
+msgid "queued"
+msgstr "encolado"
+
+#: ../../mod/dreport.php:82
+msgid "posted"
+msgstr "enviado"
+
+#: ../../mod/dreport.php:86
+msgid "accepted for delivery"
+msgstr "aceptado para el envío"
+
+#: ../../mod/dreport.php:90
+msgid "updated"
+msgstr "actualizado"
+
+#: ../../mod/dreport.php:93
+msgid "update ignored"
+msgstr "actualización ignorada"
+
+#: ../../mod/dreport.php:96
+msgid "permission denied"
+msgstr "permiso denegado"
+
+#: ../../mod/dreport.php:100
+msgid "recipient not found"
+msgstr "destinatario no encontrado"
+
+#: ../../mod/dreport.php:103
+msgid "mail recalled"
+msgstr "mensaje de correo revocado"
+
+#: ../../mod/dreport.php:106
+msgid "duplicate mail received"
+msgstr "se ha recibido mensaje duplicado"
+
+#: ../../mod/dreport.php:109
+msgid "mail delivered"
+msgstr "correo enviado"
+
#: ../../mod/thing.php:111
msgid "Thing updated"
msgstr "Elemento actualizado."
@@ -7447,6 +7347,10 @@ msgstr "Enviar invitaciones"
msgid "Enter email addresses, one per line:"
msgstr "Introduzca las direcciones de correo electrónica, una por línea:"
+#: ../../mod/invite.php:131 ../../mod/mail.php:238
+msgid "Your message:"
+msgstr "Su mensaje:"
+
#: ../../mod/invite.php:132
msgid "Please join my community on $Projectname."
msgstr "Por favor, únase a mi comunidad en $Projectname."
@@ -7472,6 +7376,89 @@ msgstr "o visite"
msgid "3. Click [Connect]"
msgstr "3. Pulse [conectar]"
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Imposible asociar a un destinatario."
+
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Imposible comunicar con el canal solicitado."
+
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "No se puede verificar el canal solicitado."
+
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló."
+
+#: ../../mod/mail.php:132
+msgid "Messages"
+msgstr "Mensajes"
+
+#: ../../mod/mail.php:167
+msgid "Message recalled."
+msgstr "Mensaje revocado."
+
+#: ../../mod/mail.php:180
+msgid "Conversation removed."
+msgstr "Conversación eliminada."
+
+#: ../../mod/mail.php:223
+msgid "Requested channel is not in this network"
+msgstr "El canal solicitado no existe en esta red"
+
+#: ../../mod/mail.php:231
+msgid "Send Private Message"
+msgstr "Enviar un mensaje privado"
+
+#: ../../mod/mail.php:232 ../../mod/mail.php:361
+msgid "To:"
+msgstr "Para:"
+
+#: ../../mod/mail.php:235 ../../mod/mail.php:363
+msgid "Subject:"
+msgstr "Asunto:"
+
+#: ../../mod/mail.php:242
+msgid "Send"
+msgstr "Enviar"
+
+#: ../../mod/mail.php:333
+msgid "Delete message"
+msgstr "Borrar mensaje"
+
+#: ../../mod/mail.php:334
+msgid "Delivery report"
+msgstr "Informe de transmisión"
+
+#: ../../mod/mail.php:335
+msgid "Recall message"
+msgstr "Revocar el mensaje"
+
+#: ../../mod/mail.php:337
+msgid "Message has been recalled."
+msgstr "El mensaje ha sido revocado."
+
+#: ../../mod/mail.php:354
+msgid "Delete Conversation"
+msgstr "Eliminar Conversación"
+
+#: ../../mod/mail.php:356
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente."
+
+#: ../../mod/mail.php:360
+msgid "Send Reply"
+msgstr "Responder"
+
+#: ../../mod/mail.php:365
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Su mensaje para %s (%s):"
+
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_home.php:21 ../../mod/update_network.php:23
#: ../../mod/update_search.php:46 ../../mod/update_public.php:21
@@ -7490,556 +7477,564 @@ msgstr "El nombre es obligatorio"
msgid "Key and Secret are required"
msgstr "Clave y Secreto son obligatorios"
-#: ../../mod/settings.php:231
+#: ../../mod/settings.php:232
msgid "Passwords do not match. Password unchanged."
msgstr "Las contraseñas no coinciden. La contraseña no se ha cambiado."
-#: ../../mod/settings.php:235
+#: ../../mod/settings.php:236
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "No se permiten contraseñas vacías. La contraseña no se ha cambiado."
-#: ../../mod/settings.php:249
+#: ../../mod/settings.php:250
msgid "Password changed."
msgstr "Contraseña cambiada."
-#: ../../mod/settings.php:251
+#: ../../mod/settings.php:252
msgid "Password update failed. Please try again."
msgstr "La actualización de la contraseña ha fallado. Por favor, inténtalo de nuevo."
-#: ../../mod/settings.php:265
+#: ../../mod/settings.php:266
msgid "Not valid email."
msgstr "Correo electrónico no válido."
-#: ../../mod/settings.php:268
+#: ../../mod/settings.php:269
msgid "Protected email address. Cannot change to that email."
msgstr "Dirección de correo electrónico protegida. No se puede cambiar a ella."
-#: ../../mod/settings.php:277
+#: ../../mod/settings.php:278
msgid "System failure storing new email. Please try again."
msgstr "Fallo de sistema al guardar el nuevo correo electrónico. Por favor, inténtelo de nuevo."
-#: ../../mod/settings.php:518
+#: ../../mod/settings.php:519
msgid "Settings updated."
msgstr "Ajustes actualizados."
-#: ../../mod/settings.php:582 ../../mod/settings.php:608
-#: ../../mod/settings.php:644
+#: ../../mod/settings.php:583 ../../mod/settings.php:609
+#: ../../mod/settings.php:645
msgid "Add application"
msgstr "Añadir aplicación"
-#: ../../mod/settings.php:585
+#: ../../mod/settings.php:586
msgid "Name of application"
msgstr "Nombre de la aplicación"
-#: ../../mod/settings.php:586 ../../mod/settings.php:612
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
msgid "Consumer Key"
msgstr "Clave de consumidor"
-#: ../../mod/settings.php:586 ../../mod/settings.php:587
+#: ../../mod/settings.php:587 ../../mod/settings.php:588
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Generado automáticamente - si lo desea, cámbielo. Longitud máxima: 20"
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
+#: ../../mod/settings.php:588 ../../mod/settings.php:614
msgid "Consumer Secret"
msgstr "Clave secreta de consumidor"
-#: ../../mod/settings.php:588 ../../mod/settings.php:614
+#: ../../mod/settings.php:589 ../../mod/settings.php:615
msgid "Redirect"
msgstr "Redirigir"
-#: ../../mod/settings.php:588
+#: ../../mod/settings.php:589
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "URI de redirección - dejar en blanco a menos que su aplicación específicamente lo requiera"
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
msgid "Icon url"
msgstr "Dirección del icono"
-#: ../../mod/settings.php:589
+#: ../../mod/settings.php:590
msgid "Optional"
msgstr "Opcional"
-#: ../../mod/settings.php:600
+#: ../../mod/settings.php:601
msgid "You can't edit this application."
msgstr "No puede modificar esta aplicación."
-#: ../../mod/settings.php:643
+#: ../../mod/settings.php:644
msgid "Connected Apps"
msgstr "Aplicaciones conectadas"
-#: ../../mod/settings.php:647
+#: ../../mod/settings.php:648
msgid "Client key starts with"
msgstr "La clave de cliente empieza por"
-#: ../../mod/settings.php:648
+#: ../../mod/settings.php:649
msgid "No name"
msgstr "Sin nombre"
-#: ../../mod/settings.php:649
+#: ../../mod/settings.php:650
msgid "Remove authorization"
msgstr "Eliminar autorización"
-#: ../../mod/settings.php:662
+#: ../../mod/settings.php:663
msgid "No feature settings configured"
msgstr "No se ha establecido la configuración de características"
-#: ../../mod/settings.php:669
+#: ../../mod/settings.php:670
msgid "Feature/Addon Settings"
msgstr "Ajustes de la característica o el complemento"
-#: ../../mod/settings.php:692
+#: ../../mod/settings.php:693
msgid "Account Settings"
msgstr "Configuración de la cuenta"
-#: ../../mod/settings.php:693
+#: ../../mod/settings.php:694
msgid "Enter New Password:"
msgstr "Introduzca la nueva contraseña:"
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:695
msgid "Confirm New Password:"
msgstr "Confirme la nueva contraseña:"
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:695
msgid "Leave password fields blank unless changing"
msgstr "Dejar en blanco los campos de contraseña a menos que cambie"
-#: ../../mod/settings.php:696 ../../mod/settings.php:1027
+#: ../../mod/settings.php:697 ../../mod/settings.php:1028
msgid "Email Address:"
msgstr "Dirección de correo electrónico:"
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:699
msgid "Remove this account including all its channels"
msgstr "Eliminar esta cuenta incluyendo todos sus canales"
-#: ../../mod/settings.php:714
+#: ../../mod/settings.php:715
msgid "Off"
msgstr "Desactivado"
-#: ../../mod/settings.php:714
+#: ../../mod/settings.php:715
msgid "On"
msgstr "Activado"
-#: ../../mod/settings.php:721
+#: ../../mod/settings.php:722
msgid "Additional Features"
msgstr "Características adicionales"
-#: ../../mod/settings.php:745
+#: ../../mod/settings.php:746
msgid "Connector Settings"
msgstr "Configuración del conector"
-#: ../../mod/settings.php:784
+#: ../../mod/settings.php:785
msgid "No special theme for mobile devices"
msgstr "Sin tema especial para dispositivos móviles"
-#: ../../mod/settings.php:787
+#: ../../mod/settings.php:788
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (Experimental)"
-#: ../../mod/settings.php:826
+#: ../../mod/settings.php:827
msgid "Display Settings"
msgstr "Ajustes de visualización"
-#: ../../mod/settings.php:827
+#: ../../mod/settings.php:828
msgid "Theme Settings"
msgstr "Ajustes del tema"
-#: ../../mod/settings.php:828
+#: ../../mod/settings.php:829
msgid "Custom Theme Settings"
msgstr "Ajustes personalizados del tema"
-#: ../../mod/settings.php:829
+#: ../../mod/settings.php:830
msgid "Content Settings"
msgstr "Ajustes del contenido"
-#: ../../mod/settings.php:835
+#: ../../mod/settings.php:836
msgid "Display Theme:"
msgstr "Tema gráfico del perfil:"
-#: ../../mod/settings.php:836
+#: ../../mod/settings.php:837
msgid "Mobile Theme:"
msgstr "Tema para el móvil:"
-#: ../../mod/settings.php:837
+#: ../../mod/settings.php:838
msgid "Enable user zoom on mobile devices"
msgstr "Habilitar zoom de usuario en dispositivos móviles"
-#: ../../mod/settings.php:838
+#: ../../mod/settings.php:839
msgid "Update browser every xx seconds"
msgstr "Actualizar navegador cada xx segundos"
-#: ../../mod/settings.php:838
+#: ../../mod/settings.php:839
msgid "Minimum of 10 seconds, no maximum"
msgstr "Mínimo de 10 segundos, sin máximo"
-#: ../../mod/settings.php:839
+#: ../../mod/settings.php:840
msgid "Maximum number of conversations to load at any time:"
msgstr "Máximo número de conversaciones a cargar en cualquier momento:"
-#: ../../mod/settings.php:839
+#: ../../mod/settings.php:840
msgid "Maximum of 100 items"
msgstr "Máximo de 100 elementos"
-#: ../../mod/settings.php:840
+#: ../../mod/settings.php:841
msgid "Show emoticons (smilies) as images"
msgstr "Mostrar emoticonos (smilies) como imágenes"
-#: ../../mod/settings.php:841
+#: ../../mod/settings.php:842
msgid "Link post titles to source"
msgstr "Enlazar título de la publicación a la fuente original"
-#: ../../mod/settings.php:842
+#: ../../mod/settings.php:843
msgid "System Page Layout Editor - (advanced)"
msgstr "Editor de diseño de página del sistema - (avanzado)"
-#: ../../mod/settings.php:845
+#: ../../mod/settings.php:846
msgid "Use blog/list mode on channel page"
msgstr "Usar modo blog/lista en la página de inicio del canal"
-#: ../../mod/settings.php:845 ../../mod/settings.php:846
+#: ../../mod/settings.php:846 ../../mod/settings.php:847
msgid "(comments displayed separately)"
msgstr "(comentarios mostrados de forma separada)"
-#: ../../mod/settings.php:846
+#: ../../mod/settings.php:847
msgid "Use blog/list mode on matrix page"
msgstr "Mostrar la red en modo blog/lista"
-#: ../../mod/settings.php:847
+#: ../../mod/settings.php:848
msgid "Channel page max height of content (in pixels)"
msgstr "Altura máxima del contenido de la página del canal (en píxeles)"
-#: ../../mod/settings.php:847 ../../mod/settings.php:848
+#: ../../mod/settings.php:848 ../../mod/settings.php:849
msgid "click to expand content exceeding this height"
msgstr "Pulsar para expandir el contenido que exceda de esta altura"
-#: ../../mod/settings.php:848
+#: ../../mod/settings.php:849
msgid "Matrix page max height of content (in pixels)"
msgstr "Altura máxima del contenido de la página de su red (en píxeles)"
-#: ../../mod/settings.php:882
+#: ../../mod/settings.php:883
msgid "Nobody except yourself"
msgstr "Nadie excepto usted"
-#: ../../mod/settings.php:883
+#: ../../mod/settings.php:884
msgid "Only those you specifically allow"
msgstr "Solo aquellos a los que usted permita explícitamente"
-#: ../../mod/settings.php:884
+#: ../../mod/settings.php:885
msgid "Approved connections"
msgstr "Conexiones aprobadas"
-#: ../../mod/settings.php:885
+#: ../../mod/settings.php:886
msgid "Any connections"
msgstr "Cualquier conexión"
-#: ../../mod/settings.php:886
+#: ../../mod/settings.php:887
msgid "Anybody on this website"
msgstr "Cualquiera en este sitio web"
-#: ../../mod/settings.php:887
+#: ../../mod/settings.php:888
msgid "Anybody in this network"
msgstr "Cualquiera en esta red"
-#: ../../mod/settings.php:888
+#: ../../mod/settings.php:889
msgid "Anybody authenticated"
msgstr "Cualquiera que esté autenticado"
-#: ../../mod/settings.php:889
+#: ../../mod/settings.php:890
msgid "Anybody on the internet"
msgstr "Cualquiera en internet"
-#: ../../mod/settings.php:963
+#: ../../mod/settings.php:964
msgid "Publish your default profile in the network directory"
msgstr "Publicar su perfil principal en el directorio de la red"
-#: ../../mod/settings.php:968
+#: ../../mod/settings.php:969
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "¿Nos permite sugerirle como amigo potencial a los nuevos miembros?"
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:978
msgid "Your channel address is"
msgstr "Su dirección de canal es"
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1019
msgid "Channel Settings"
msgstr "Ajustes del canal"
-#: ../../mod/settings.php:1025
+#: ../../mod/settings.php:1026
msgid "Basic Settings"
msgstr "Configuración básica"
-#: ../../mod/settings.php:1028
+#: ../../mod/settings.php:1029
msgid "Your Timezone:"
msgstr "Su zona horaria:"
-#: ../../mod/settings.php:1029
+#: ../../mod/settings.php:1030
msgid "Default Post Location:"
msgstr "Ubicación de publicación predeterminada:"
-#: ../../mod/settings.php:1029
+#: ../../mod/settings.php:1030
msgid "Geographical location to display on your posts"
msgstr "Ubicación geográfica que debe mostrarse en sus publicaciones"
-#: ../../mod/settings.php:1030
+#: ../../mod/settings.php:1031
msgid "Use Browser Location:"
msgstr "Usar la ubicación del navegador:"
-#: ../../mod/settings.php:1032
+#: ../../mod/settings.php:1033
msgid "Adult Content"
msgstr "Contenido solo para adultos"
-#: ../../mod/settings.php:1032
+#: ../../mod/settings.php:1033
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Este canal publica contenido solo para adultos con frecuencia o regularmente. (Por favor etiquete cualquier material para adultos con la etiqueta #NSFW)"
-#: ../../mod/settings.php:1034
+#: ../../mod/settings.php:1035
msgid "Security and Privacy Settings"
msgstr "Configuración de seguridad y privacidad"
-#: ../../mod/settings.php:1036
+#: ../../mod/settings.php:1037
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Sus permisos ya están configurados. Pulse para ver/ajustar"
-#: ../../mod/settings.php:1038
+#: ../../mod/settings.php:1039
msgid "Hide my online presence"
msgstr "Ocultar mi presencia en línea"
-#: ../../mod/settings.php:1038
+#: ../../mod/settings.php:1039
msgid "Prevents displaying in your profile that you are online"
msgstr "Evitar mostrar en su perfil que está en línea"
-#: ../../mod/settings.php:1040
+#: ../../mod/settings.php:1041
msgid "Simple Privacy Settings:"
msgstr "Configuración de privacidad sencilla:"
-#: ../../mod/settings.php:1041
+#: ../../mod/settings.php:1042
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Muy Público - <em>extremadamente permisivo (debería ser usado con precaución)</em>"
-#: ../../mod/settings.php:1042
+#: ../../mod/settings.php:1043
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Típico - <em>por defecto público, privado cuando se desee (similar a los permisos de una red social pero con privacidad mejorada)</em>"
-#: ../../mod/settings.php:1043
+#: ../../mod/settings.php:1044
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privado - <em>por defecto, privado, nunca abierto o público</em>"
-#: ../../mod/settings.php:1044
+#: ../../mod/settings.php:1045
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Bloqueado - <em>por defecto, bloqueado/a para cualquiera</em>"
-#: ../../mod/settings.php:1046
+#: ../../mod/settings.php:1047
msgid "Allow others to tag your posts"
msgstr "Permitir a otros etiquetar sus publicaciones"
-#: ../../mod/settings.php:1046
+#: ../../mod/settings.php:1047
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "A menudo usado por la comunidad para marcar contenido inapropiado de forma retroactiva."
-#: ../../mod/settings.php:1048
+#: ../../mod/settings.php:1049
msgid "Advanced Privacy Settings"
msgstr "Configuración de privacidad avanzada"
-#: ../../mod/settings.php:1050
+#: ../../mod/settings.php:1051
msgid "Expire other channel content after this many days"
msgstr "Caducar contenido de otros canales después de este número de días"
-#: ../../mod/settings.php:1050
+#: ../../mod/settings.php:1051
msgid "0 or blank prevents expiration"
msgstr "0 o en claro evitan la caducidad"
-#: ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052
msgid "Maximum Friend Requests/Day:"
msgstr "Máximo de solicitudes de amistad por día:"
-#: ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052
msgid "May reduce spam activity"
msgstr "Podría reducir la actividad de spam"
-#: ../../mod/settings.php:1052
+#: ../../mod/settings.php:1053
msgid "Default Post Permissions"
msgstr "Permisos de publicación predeterminados"
-#: ../../mod/settings.php:1057
+#: ../../mod/settings.php:1058
msgid "Channel permissions category:"
msgstr "Categoría de permisos del canal:"
-#: ../../mod/settings.php:1063
+#: ../../mod/settings.php:1064
msgid "Maximum private messages per day from unknown people:"
msgstr "Máximo de mensajes privados por día de gente desconocida:"
-#: ../../mod/settings.php:1063
+#: ../../mod/settings.php:1064
msgid "Useful to reduce spamming"
msgstr "Útil para reducir el envío de correo no deseado"
-#: ../../mod/settings.php:1066
+#: ../../mod/settings.php:1067
msgid "Notification Settings"
msgstr "Configuración de notificaciones"
-#: ../../mod/settings.php:1067
+#: ../../mod/settings.php:1068
msgid "By default post a status message when:"
msgstr "Por defecto, enviar un mensaje de estado cuando:"
-#: ../../mod/settings.php:1068
+#: ../../mod/settings.php:1069
msgid "accepting a friend request"
msgstr "acepte una solicitud de amistad"
-#: ../../mod/settings.php:1069
+#: ../../mod/settings.php:1070
msgid "joining a forum/community"
msgstr "al unirse a un foro o comunidad"
-#: ../../mod/settings.php:1070
+#: ../../mod/settings.php:1071
msgid "making an <em>interesting</em> profile change"
msgstr "realice un cambio <em>interesante</em> en su perfil"
-#: ../../mod/settings.php:1071
+#: ../../mod/settings.php:1072
msgid "Send a notification email when:"
msgstr "Enviar una notificación por correo electrónico cuando:"
-#: ../../mod/settings.php:1072
+#: ../../mod/settings.php:1073
msgid "You receive a connection request"
msgstr "Reciba una solicitud de conexión"
-#: ../../mod/settings.php:1073
+#: ../../mod/settings.php:1074
msgid "Your connections are confirmed"
msgstr "Sus conexiones hayan sido confirmadas"
-#: ../../mod/settings.php:1074
+#: ../../mod/settings.php:1075
msgid "Someone writes on your profile wall"
msgstr "Alguien escriba en la página de su perfil (muro)"
-#: ../../mod/settings.php:1075
+#: ../../mod/settings.php:1076
msgid "Someone writes a followup comment"
msgstr "Alguien escriba un comentario sobre sus publicaciones"
-#: ../../mod/settings.php:1076
+#: ../../mod/settings.php:1077
msgid "You receive a private message"
msgstr "Reciba un mensaje privado"
-#: ../../mod/settings.php:1077
+#: ../../mod/settings.php:1078
msgid "You receive a friend suggestion"
msgstr "Reciba una sugerencia de amistad"
-#: ../../mod/settings.php:1078
+#: ../../mod/settings.php:1079
msgid "You are tagged in a post"
msgstr "Usted sea etiquetado en una publicación"
-#: ../../mod/settings.php:1079
+#: ../../mod/settings.php:1080
msgid "You are poked/prodded/etc. in a post"
msgstr "Reciba un toque o incitación en una entrada"
-#: ../../mod/settings.php:1082
+#: ../../mod/settings.php:1083
msgid "Show visual notifications including:"
msgstr "Mostrar notificaciones visuales que incluyan:"
-#: ../../mod/settings.php:1084
+#: ../../mod/settings.php:1085
msgid "Unseen matrix activity"
msgstr "Actividad no vista en la red"
-#: ../../mod/settings.php:1085
+#: ../../mod/settings.php:1086
msgid "Unseen channel activity"
msgstr "Actividad no vista en el canal"
-#: ../../mod/settings.php:1086
+#: ../../mod/settings.php:1087
msgid "Unseen private messages"
msgstr "Mensajes privados no leídos"
-#: ../../mod/settings.php:1086 ../../mod/settings.php:1091
-#: ../../mod/settings.php:1092 ../../mod/settings.php:1093
+#: ../../mod/settings.php:1087 ../../mod/settings.php:1092
+#: ../../mod/settings.php:1093 ../../mod/settings.php:1094
msgid "Recommended"
msgstr "Recomendado"
-#: ../../mod/settings.php:1087
+#: ../../mod/settings.php:1088
msgid "Upcoming events"
msgstr "Próximos eventos"
-#: ../../mod/settings.php:1088
+#: ../../mod/settings.php:1089
msgid "Events today"
msgstr "Eventos de hoy"
-#: ../../mod/settings.php:1089
+#: ../../mod/settings.php:1090
msgid "Upcoming birthdays"
msgstr "Próximos cumpleaños"
-#: ../../mod/settings.php:1089
+#: ../../mod/settings.php:1090
msgid "Not available in all themes"
msgstr "No disponible en todos los temas"
-#: ../../mod/settings.php:1090
+#: ../../mod/settings.php:1091
msgid "System (personal) notifications"
msgstr "Notificaciones del sistema (personales)"
-#: ../../mod/settings.php:1091
+#: ../../mod/settings.php:1092
msgid "System info messages"
msgstr "Mensajes de información del sistema"
-#: ../../mod/settings.php:1092
+#: ../../mod/settings.php:1093
msgid "System critical alerts"
msgstr "Alertas críticas del sistema"
-#: ../../mod/settings.php:1093
+#: ../../mod/settings.php:1094
msgid "New connections"
msgstr "Nuevas conexiones"
-#: ../../mod/settings.php:1094
+#: ../../mod/settings.php:1095
msgid "System Registrations"
msgstr "Registros del sistema"
-#: ../../mod/settings.php:1095
+#: ../../mod/settings.php:1096
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Mostrar también en Avisos las nuevas publicaciones, los mensajes privados y las conexiones"
-#: ../../mod/settings.php:1097
+#: ../../mod/settings.php:1098
msgid "Notify me of events this many days in advance"
msgstr "Avisarme de los eventos con algunos días de antelación"
-#: ../../mod/settings.php:1097
+#: ../../mod/settings.php:1098
msgid "Must be greater than 0"
msgstr "Debe ser mayor que 0"
-#: ../../mod/settings.php:1099
+#: ../../mod/settings.php:1100
msgid "Advanced Account/Page Type Settings"
msgstr "Ajustes avanzados de la cuenta y de los tipos de página"
-#: ../../mod/settings.php:1100
+#: ../../mod/settings.php:1101
msgid "Change the behaviour of this account for special situations"
msgstr "Cambiar el comportamiento de esta cuenta en situaciones especiales"
-#: ../../mod/settings.php:1103
+#: ../../mod/settings.php:1104
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Activar modo experto (en <a href=\"settings/features\">Ajustes > Características Adicionales</a>) para ajustar."
-#: ../../mod/settings.php:1104
+#: ../../mod/settings.php:1105
msgid "Miscellaneous Settings"
msgstr "Ajustes diversos"
-#: ../../mod/settings.php:1105
+#: ../../mod/settings.php:1106
msgid "Default photo upload folder"
msgstr "Carpeta por defecto de las fotos subidas"
-#: ../../mod/settings.php:1106
+#: ../../mod/settings.php:1106 ../../mod/settings.php:1107
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - año en curso, %m - mes actual"
+
+#: ../../mod/settings.php:1107
msgid "Default file upload folder"
msgstr "Carpeta por defecto de los archivos subidos"
-#: ../../mod/settings.php:1108
+#: ../../mod/settings.php:1109
msgid "Personal menu to display in your channel pages"
msgstr "Menú personal que debe mostrarse en las páginas de su canal"
-#: ../../mod/settings.php:1110
+#: ../../mod/settings.php:1111
msgid "Remove this channel."
msgstr "Eliminar este canal."
+#: ../../mod/settings.php:1112
+msgid "Firefox Share $Projectname provider"
+msgstr "Servicio de compartición de Firefox: proveedor $Projectname"
+
#: ../../mod/xchan.php:6
msgid "Xchan Lookup"
msgstr "Búsqueda de canales"
@@ -8302,46 +8297,76 @@ msgstr "Sin conexiones."
msgid "Visit %s's profile [%s]"
msgstr "Visitar el perfil de %s [%s]"
-#: ../../mod/locs.php:21 ../../mod/locs.php:49
+#: ../../mod/locs.php:21 ../../mod/locs.php:50
msgid "Location not found."
msgstr "Dirección no encontrada."
-#: ../../mod/locs.php:57
+#: ../../mod/locs.php:58
msgid "Location lookup failed."
msgstr "Ha fallado la búsqueda de la dirección."
-#: ../../mod/locs.php:61
+#: ../../mod/locs.php:62
msgid ""
"Please select another location to become primary before removing the primary"
" location."
msgstr "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal."
-#: ../../mod/locs.php:93
+#: ../../mod/locs.php:91
+msgid "Syncing locations"
+msgstr "Sincronización de ubicaciones"
+
+#: ../../mod/locs.php:101
msgid "No locations found."
msgstr "No encontrada ninguna dirección."
-#: ../../mod/locs.php:104
+#: ../../mod/locs.php:112
msgid "Manage Channel Locations"
msgstr "Gestionar las direcciones del canal"
-#: ../../mod/locs.php:105
+#: ../../mod/locs.php:113
msgid "Location (address)"
msgstr "Ubicación (dirección)"
-#: ../../mod/locs.php:106
+#: ../../mod/locs.php:114
msgid "Primary Location"
msgstr "Dirección primaria"
-#: ../../mod/locs.php:107
+#: ../../mod/locs.php:115
msgid "Drop location"
msgstr "Eliminar dirección"
+#: ../../mod/locs.php:117
+msgid "Sync now"
+msgstr "Sincronizar ahora"
+
+#: ../../mod/locs.php:118
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Por favor, espere algunos minutos entre operaciones consecutivas."
+
+#: ../../mod/locs.php:119
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal."
+
+#: ../../mod/locs.php:120
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo."
+
#: ../../mod/post.php:234
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
" logout and retry."
msgstr "La autenticación desde su servidor está bloqueada. Ha iniciado sesión localmente. Por favor, salga de la sesión y vuelva a intentarlo."
+#: ../../mod/ffsapi.php:8
+msgid "Share content from Firefox to $Projectname"
+msgstr "Compartir contenido desde Firefox a $Projectname"
+
+#: ../../mod/ffsapi.php:11
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Servicio de compartición de Firefox: activar el proveedor $Projectname "
+
#: ../../mod/setup.php:191
msgid "$Projectname Server - Setup"
msgstr "Servidor $Projectname - Instalación"
@@ -8766,6 +8791,65 @@ msgstr "Eliminar todos los ficheros"
msgid "Remove this file"
msgstr "Eliminar este fichero"
+#: ../../mod/siteinfo.php:111
+#, php-format
+msgid "Version %s"
+msgstr "Versión %s"
+
+#: ../../mod/siteinfo.php:132
+msgid "Installed plugins/addons/apps:"
+msgstr "Extensiones/Aplicaciones instaladas:"
+
+#: ../../mod/siteinfo.php:145
+msgid "No installed plugins/addons/apps"
+msgstr "Extensiones/Aplicaciones no instaladas:"
+
+#: ../../mod/siteinfo.php:158
+msgid ""
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Este es un sitio integrado en $Projectname - una red cooperativa mundial de sitios web descentralizados de privacidad mejorada."
+
+#: ../../mod/siteinfo.php:160
+msgid "Tag: "
+msgstr "Etiqueta:"
+
+#: ../../mod/siteinfo.php:162
+msgid "Last background fetch: "
+msgstr "Última actualización en segundo plano:"
+
+#: ../../mod/siteinfo.php:164
+msgid "Current load average: "
+msgstr "Carga media actual:"
+
+#: ../../mod/siteinfo.php:167
+msgid "Running at web location"
+msgstr "Corriendo en el sitio web"
+
+#: ../../mod/siteinfo.php:168
+msgid ""
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr "Por favor, visite <a href=\"http://hubzilla.org\">hubzilla.org</a> para más información sobre $Projectname."
+
+#: ../../mod/siteinfo.php:169
+msgid "Bug reports and issues: please visit"
+msgstr "Informes de errores e incidencias: por, favor visite"
+
+#: ../../mod/siteinfo.php:171
+msgid "$projectname issues"
+msgstr "Problemas en $projectname"
+
+#: ../../mod/siteinfo.php:172
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Sugerencias, elogios, etc - por favor, un correo electrónico a \"redmatrix\" en librelist - punto com"
+
+#: ../../mod/siteinfo.php:174
+msgid "Site Administrators"
+msgstr "Administradores del sitio"
+
#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
@@ -9037,19 +9121,19 @@ msgstr "Pulsar en un contacto para añadirlo o eliminarlo."
msgid "Visible To"
msgstr "Visible para"
-#: ../../mod/rbmark.php:88
+#: ../../mod/rbmark.php:90
msgid "Select a bookmark folder"
msgstr "Seleccionar una carpeta de marcadores"
-#: ../../mod/rbmark.php:93
+#: ../../mod/rbmark.php:95
msgid "Save Bookmark"
msgstr "Guardar marcador"
-#: ../../mod/rbmark.php:94
+#: ../../mod/rbmark.php:96
msgid "URL of bookmark"
msgstr "Dirección del marcador"
-#: ../../mod/rbmark.php:99
+#: ../../mod/rbmark.php:101
msgid "Or enter new bookmark folder name"
msgstr "O introduzca un nuevo nombre para la carpeta de marcadores"
@@ -9206,51 +9290,51 @@ msgstr "Ajustar el tamaño de la foto del autor de la conversación"
msgid "Set size of followup author photos"
msgstr "Ajustar el tamaño de foto de los seguidores del autor"
-#: ../../boot.php:1308
+#: ../../boot.php:1291
#, php-format
msgid "Update %s failed. See error logs."
msgstr "La actualización %s ha fallado. Mire el informe de errores."
-#: ../../boot.php:1311
+#: ../../boot.php:1294
#, php-format
msgid "Update Error at %s"
msgstr "Error de actualización en %s"
-#: ../../boot.php:1478
+#: ../../boot.php:1461
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Crear una cuenta para acceder a los servicios y aplicaciones dentro de Hubzilla"
-#: ../../boot.php:1506
+#: ../../boot.php:1489
msgid "Password"
msgstr "Contraseña"
-#: ../../boot.php:1507
+#: ../../boot.php:1490
msgid "Remember me"
msgstr "Recordarme"
-#: ../../boot.php:1510
+#: ../../boot.php:1493
msgid "Forgot your password?"
msgstr "¿Olvidó su contraseña?"
-#: ../../boot.php:2136
+#: ../../boot.php:2113
msgid "toggle mobile"
msgstr "cambiar a modo móvil"
-#: ../../boot.php:2271
+#: ../../boot.php:2248
msgid "Website SSL certificate is not valid. Please correct."
msgstr "El certificado SSL del sitio web no es válido. Por favor, solucione el problema."
-#: ../../boot.php:2274
+#: ../../boot.php:2251
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Error SSL del sitio web en %s"
-#: ../../boot.php:2311
+#: ../../boot.php:2288
msgid "Cron/Scheduled tasks not running."
msgstr "Las tareas del Planificador/Cron no están funcionando."
-#: ../../boot.php:2315
+#: ../../boot.php:2292
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Las tareas de Cron no están funcionando en %s"
diff --git a/view/es/hstrings.php b/view/es/hstrings.php
index 08fd97058..0084304c9 100644
--- a/view/es/hstrings.php
+++ b/view/es/hstrings.php
@@ -125,6 +125,8 @@ $a->strings["Enable Voting Tools"] = "Activar herramientas de votación";
$a->strings["Provide a class of post which others can vote on"] = "Proveer una clase de publicación en la que otros puedan votar";
$a->strings["Delayed Posting"] = "Publicación aplazada";
$a->strings["Allow posts to be published at a later date"] = "Permitir mensajes que se publicarán en una fecha posterior";
+$a->strings["Suppress Duplicate Posts/Comments"] = "Prevenir entradas o comentarios duplicados";
+$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Prevenir que entradas con contenido idéntico se publiquen con menos de dos minutos de intervalo.";
$a->strings["Network and Stream Filtering"] = "Filtrado del contenido";
$a->strings["Search by Date"] = "Buscar por fecha";
$a->strings["Ability to select posts by date ranges"] = "Capacidad de seleccionar entradas por rango de fechas";
@@ -278,7 +280,169 @@ $a->strings["Collection is empty."] = "La colección está vacía.";
$a->strings["Collection: %s"] = "Colección: %s";
$a->strings["Connection: %s"] = "Conexión: %s";
$a->strings["Connection not found."] = "Conexión no encontrada";
-$a->strings["Public Timeline"] = "Cronología pública";
+$a->strings["photo"] = "foto";
+$a->strings["event"] = "evento";
+$a->strings["channel"] = "canal";
+$a->strings["status"] = "el mensaje de estado";
+$a->strings["comment"] = "comentario";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "a %1\$s le gusta %3\$s de %2\$s";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "a %1\$s no le gusta %3\$s de %2\$s";
+$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s ahora está conectado/a con %2\$s";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s ha dado un toque a %2\$s";
+$a->strings["poked"] = "ha recibido un toque";
+$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s está %2\$s";
+$a->strings["__ctx:title__ Likes"] = "Me gusta";
+$a->strings["__ctx:title__ Dislikes"] = "No me gusta";
+$a->strings["__ctx:title__ Agree"] = "De acuerdo";
+$a->strings["__ctx:title__ Disagree"] = "En desacuerdo";
+$a->strings["__ctx:title__ Abstain"] = "Abstención";
+$a->strings["__ctx:title__ Attending"] = "Participaré";
+$a->strings["__ctx:title__ Not attending"] = "No participaré";
+$a->strings["__ctx:title__ Might attend"] = "Quizá participe";
+$a->strings["Select"] = "Seleccionar";
+$a->strings["Private Message"] = "Mensaje Privado";
+$a->strings["Message signature validated"] = "Firma de mensaje validada";
+$a->strings["Message signature incorrect"] = "Firma de mensaje incorrecta";
+$a->strings["View %s's profile @ %s"] = "Ver el perfil @ %s de %s";
+$a->strings["Categories:"] = "Categorías:";
+$a->strings["Filed under:"] = "Archivado bajo:";
+$a->strings["from %s"] = "desde %s";
+$a->strings["last edited: %s"] = "último cambio: %s";
+$a->strings["Expires: %s"] = "Caduca: %s";
+$a->strings["View in context"] = "Mostrar en su contexto";
+$a->strings["Please wait"] = "Espere por favor";
+$a->strings["remove"] = "eliminar";
+$a->strings["Loading..."] = "Cargando...";
+$a->strings["Delete Selected Items"] = "Eliminar elementos seleccionados";
+$a->strings["View Source"] = "Ver la fuente original de la entrada";
+$a->strings["Follow Thread"] = "Seguir el hilo";
+$a->strings["Unfollow Thread"] = "Dejar de seguir este hilo";
+$a->strings["View Status"] = "Ver el estado actual";
+$a->strings["View Profile"] = "Ver el perfil";
+$a->strings["View Photos"] = "Ver fotos";
+$a->strings["Activity/Posts"] = "Actividad y entradas";
+$a->strings["Edit Connection"] = "Editar conexión";
+$a->strings["Send PM"] = "Enviar un mensaje privado";
+$a->strings["Poke"] = "Toques y otras cosas";
+$a->strings["%s likes this."] = "a %s le gusta esto.";
+$a->strings["%s doesn't like this."] = "a %s no le gusta esto.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "a <span %1\$s>%2\$d personas</span> le gusta esto.",
+ 1 => "a <span %1\$s>%2\$d personas</span> les gusta esto.",
+);
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
+ 1 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
+);
+$a->strings["and"] = "y";
+$a->strings[", and %d other people"] = array(
+ 0 => ", y %d persona más",
+ 1 => ", y %d personas más",
+);
+$a->strings["%s like this."] = "a %s le gusta esto.";
+$a->strings["%s don't like this."] = "a %s no le gusta esto.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Visible para <strong>cualquiera</strong>";
+$a->strings["Please enter a link URL:"] = "Por favor, introduzca la dirección del enlace:";
+$a->strings["Please enter a video link/URL:"] = "Por favor, introduzca un enlace de vídeo:";
+$a->strings["Please enter an audio link/URL:"] = "Por favor, introduzca un enlace de audio:";
+$a->strings["Tag term:"] = "Término de la etiqueta:";
+$a->strings["Save to Folder:"] = "Guardar en carpeta:";
+$a->strings["Where are you right now?"] = "¿Donde está ahora?";
+$a->strings["Expires YYYY-MM-DD HH:MM"] = "Caduca YYYY-MM-DD HH:MM";
+$a->strings["Preview"] = "Previsualizar";
+$a->strings["Share"] = "Compartir";
+$a->strings["Page link name"] = "Nombre de enlace de página";
+$a->strings["Post as"] = "Publicar como";
+$a->strings["Bold"] = "Negrita";
+$a->strings["Italic"] = "Itálico ";
+$a->strings["Underline"] = "Subrayar";
+$a->strings["Quote"] = "Citar";
+$a->strings["Code"] = "Código";
+$a->strings["Upload photo"] = "Subir foto";
+$a->strings["upload photo"] = "subir foto";
+$a->strings["Attach file"] = "Adjuntar fichero";
+$a->strings["attach file"] = "adjuntar fichero";
+$a->strings["Insert web link"] = "Insertar enlace web";
+$a->strings["web link"] = "enlace web";
+$a->strings["Insert video link"] = "Insertar enlace de vídeo";
+$a->strings["video link"] = "enlace de vídeo";
+$a->strings["Insert audio link"] = "Insertar enlace de audio";
+$a->strings["audio link"] = "enlace de audio";
+$a->strings["Set your location"] = "Establecer su ubicación";
+$a->strings["set location"] = "establecer ubicación";
+$a->strings["Toggle voting"] = "Cambiar votación";
+$a->strings["Clear browser location"] = "Eliminar los datos de ubicación del navegador";
+$a->strings["clear location"] = "borrar los datos de ubicación";
+$a->strings["Title (optional)"] = "Título (opcional)";
+$a->strings["Categories (optional, comma-separated list)"] = "Categorías (opcional, lista separada por comas)";
+$a->strings["Permission settings"] = "Configuración de permisos";
+$a->strings["permissions"] = "permisos";
+$a->strings["Public post"] = "Entrada pública";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Ejemplo: roberto@ejemplo.com, maría@ejemplo.com";
+$a->strings["Set expiration date"] = "Configurar fecha de caducidad";
+$a->strings["Set publish date"] = "Establecer la fecha de publicación";
+$a->strings["Encrypt text"] = "Cifrar texto";
+$a->strings["OK"] = "OK";
+$a->strings["Cancel"] = "Cancelar";
+$a->strings["Discover"] = "Descubrir";
+$a->strings["Imported public streams"] = "Flujos públicos importados";
+$a->strings["Commented Order"] = "Comentarios recientes";
+$a->strings["Sort by Comment Date"] = "Ordenar por fecha de comentario";
+$a->strings["Posted Order"] = "Publicaciones recientes";
+$a->strings["Sort by Post Date"] = "Ordenar por fecha de publicación";
+$a->strings["Personal"] = "Personales";
+$a->strings["Posts that mention or involve you"] = "Publicaciones que le mencionan o involucran";
+$a->strings["New"] = "Nuevas";
+$a->strings["Activity Stream - by date"] = "Flujo de actividad - por fecha";
+$a->strings["Starred"] = "Preferidas";
+$a->strings["Favourite Posts"] = "Publicaciones favoritas";
+$a->strings["Spam"] = "Correo basura";
+$a->strings["Posts flagged as SPAM"] = "Publicaciones marcadas como basura";
+$a->strings["Channel"] = "Canal";
+$a->strings["Status Messages and Posts"] = "Mensajes de estado y publicaciones";
+$a->strings["About"] = "Mi perfil";
+$a->strings["Profile Details"] = "Detalles del perfil";
+$a->strings["Photos"] = "Fotos";
+$a->strings["Photo Albums"] = "Ãlbumes de fotos";
+$a->strings["Files and Storage"] = "Ficheros y repositorio";
+$a->strings["Chatrooms"] = "Salas de chat";
+$a->strings["Bookmarks"] = "Marcadores";
+$a->strings["Saved Bookmarks"] = "Marcadores guardados";
+$a->strings["Webpages"] = "Páginas web";
+$a->strings["Manage Webpages"] = "Administrar páginas web";
+$a->strings["View all"] = "Ver todo";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "Me gusta",
+ 1 => "Me gusta",
+);
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "No me gusta",
+ 1 => "No me gusta",
+);
+$a->strings["__ctx:noun__ Attending"] = array(
+ 0 => "Participaré",
+ 1 => "Participaré",
+);
+$a->strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "No participaré",
+ 1 => "No participaré",
+);
+$a->strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indeciso/a",
+ 1 => "Indecisos/as",
+);
+$a->strings["__ctx:noun__ Agree"] = array(
+ 0 => "Está de acuerdo",
+ 1 => "De acuerdo",
+);
+$a->strings["__ctx:noun__ Disagree"] = array(
+ 0 => "No está de acuerdo",
+ 1 => "En desacuerdo",
+);
+$a->strings["__ctx:noun__ Abstain"] = array(
+ 0 => "se abstiene",
+ 1 => "Se abstienen",
+);
$a->strings["view full size"] = "Ver en el tamaño original";
$a->strings["\$Projectname Notification"] = "Notificación de \$Projectname";
$a->strings["\$projectname"] = "\$projectname";
@@ -290,22 +454,18 @@ $a->strings["%1\$s's bookmarks"] = "Marcadores de %1\$s";
$a->strings["Visible to your default audience"] = "Visible para su público predeterminado.";
$a->strings["Show"] = "Mostrar";
$a->strings["Don't show"] = "No mostrar";
+$a->strings["Other networks and post services"] = "Otras redes y servicios de correo";
$a->strings["Permissions"] = "Permisos";
$a->strings["Close"] = "Cerrar";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado.";
-$a->strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado.";
-$a->strings["Cloned channel not found. Import failed."] = "No se ha podido importar el canal porque el canal clonado no se ha encontrado.";
$a->strings["Image exceeds website size limit of %lu bytes"] = "La imagen excede el límite de %lu bytes del sitio";
$a->strings["Image file is empty."] = "El fichero de imagen está vacío. ";
$a->strings["Unable to process image"] = "No ha sido posible procesar la imagen";
$a->strings["Photo storage failed."] = "La foto no ha podido ser guardada.";
-$a->strings["Photo Albums"] = "Ãlbumes de fotos";
$a->strings["Upload New Photos"] = "Subir nuevas fotos";
$a->strings["created a new post"] = "ha creado una nueva entrada";
$a->strings["commented on %s's post"] = "ha comentado la entrada de %s";
$a->strings["New Page"] = "Nueva página";
$a->strings["View"] = "Ver";
-$a->strings["Preview"] = "Previsualizar";
$a->strings["Actions"] = "Acciones";
$a->strings["Page Link"] = "Vínculo de la página";
$a->strings["Title"] = "Título";
@@ -376,29 +536,24 @@ $a->strings["Starts:"] = "Comienza:";
$a->strings["Finishes:"] = "Finaliza:";
$a->strings["Location:"] = "Ubicación:";
$a->strings["This event has been added to your calendar."] = "Este evento ha sido añadido a su calendario.";
-$a->strings["event"] = "evento";
$a->strings["Not specified"] = "Sin especificar";
$a->strings["Needs Action"] = "Necesita de una intervención";
$a->strings["Completed"] = "Completado/a";
$a->strings["In Process"] = "En proceso";
$a->strings["Cancelled"] = "Cancelado/a";
$a->strings["Site Admin"] = "Adminstrador del sitio";
-$a->strings["Bookmarks"] = "Marcadores";
$a->strings["Address Book"] = "Libreta de direcciones";
$a->strings["Login"] = "Iniciar sesión";
$a->strings["Channel Manager"] = "Administración de canales";
$a->strings["Grid"] = "Red";
$a->strings["Settings"] = "Ajustes";
-$a->strings["Webpages"] = "Páginas web";
$a->strings["Channel Home"] = "Mi canal";
$a->strings["Profile"] = "Perfil";
-$a->strings["Photos"] = "Fotos";
$a->strings["Events"] = "Eventos";
$a->strings["Directory"] = "Directorio";
$a->strings["Help"] = "Ayuda";
$a->strings["Mail"] = "Correo";
$a->strings["Mood"] = "Estado de ánimo";
-$a->strings["Poke"] = "Toques y otras cosas";
$a->strings["Chat"] = "Chat";
$a->strings["Search"] = "Buscar";
$a->strings["Probe"] = "Probar";
@@ -412,24 +567,10 @@ $a->strings["Profile Photo"] = "Foto del perfil";
$a->strings["Update"] = "Actualizar";
$a->strings["Install"] = "Instalar";
$a->strings["Purchase"] = "Comprar";
-$a->strings["Item was not found."] = "Elemento no encontrado.";
-$a->strings["No source file."] = "Ningún fichero de origen";
-$a->strings["Cannot locate file to replace"] = "No se puede localizar el fichero que va a ser sustituido.";
-$a->strings["Cannot locate file to revise/update"] = "No se puede localizar el fichero para revisar/actualizar";
-$a->strings["File exceeds size limit of %d"] = "El fichero supera el limite de tamaño de %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado.";
-$a->strings["Stored file could not be verified. Upload failed."] = "El fichero almacenado no ha podido ser verificado. El envío ha fallado.";
-$a->strings["Path not available."] = "Ruta no disponible.";
-$a->strings["Empty pathname"] = "Ruta vacía";
-$a->strings["duplicate filename or path"] = "Nombre duplicado de ruta o fichero";
-$a->strings["Path not found."] = "Ruta no encontrada";
-$a->strings["mkdir failed."] = "mkdir ha fallado.";
-$a->strings["database storage failed."] = "el almacenamiento en la base de datos ha fallado.";
-$a->strings["Empty path"] = "Ruta vacía";
-$a->strings["Logged out."] = "Desconectado/a.";
-$a->strings["Failed authentication"] = "Autenticación fallida.";
-$a->strings["Login failed."] = "El acceso ha fallado.";
+$a->strings["Public Timeline"] = "Cronología pública";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado.";
+$a->strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado.";
+$a->strings["Cloned channel not found. Import failed."] = "No se ha podido importar el canal porque el canal clonado no se ha encontrado.";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
$a->strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Aviso] Nuevo mensaje en %s";
$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s le ha enviado un nuevo mensaje privado en %3\$s.";
@@ -466,8 +607,6 @@ $a->strings["Name:"] = "Nombre:";
$a->strings["Photo:"] = "Foto:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Por favor, visite %s para aprobar o rechazar la sugerencia.";
$a->strings["[Hubzilla:Notify]"] = "[Hubzilla:Aviso]";
-$a->strings["Private Message"] = "Mensaje Privado";
-$a->strings["Select"] = "Seleccionar";
$a->strings["Save to Folder"] = "Guardar en carpeta";
$a->strings["I will attend"] = "Participaré";
$a->strings["I will not attend"] = "No participaré";
@@ -475,21 +614,10 @@ $a->strings["I might attend"] = "Quizá participe";
$a->strings["I agree"] = "Estoy de acuerdo";
$a->strings["I disagree"] = "No estoy de acuerdo";
$a->strings["I abstain"] = "Me abstengo";
-$a->strings["View all"] = "Ver todo";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "Me gusta",
- 1 => "Me gusta",
-);
-$a->strings["__ctx:noun__ Dislike"] = array(
- 0 => "No me gusta",
- 1 => "No me gusta",
-);
$a->strings["Add Star"] = "Destacar añadiendo una estrella";
$a->strings["Remove Star"] = "Eliminar estrella";
$a->strings["Toggle Star Status"] = "Activar o desactivar el estado de entrada preferida";
$a->strings["starred"] = "preferidas";
-$a->strings["Message signature validated"] = "Firma de mensaje validada";
-$a->strings["Message signature incorrect"] = "Firma de mensaje incorrecta";
$a->strings["Add Tag"] = "Añadir etiqueta";
$a->strings["I like this (toggle)"] = "me gusta (cambiar)";
$a->strings["like"] = "me gusta";
@@ -507,93 +635,22 @@ $a->strings["via"] = "mediante";
$a->strings["Wall-to-Wall"] = "De página del perfil a página del perfil (de Muro a Muro)";
$a->strings["via Wall-To-Wall:"] = "Mediante el procedimiento página del perfil a página del perfil (de Muro a Muro)";
$a->strings["Delivery Report"] = "Informe de transmisión";
-$a->strings["from %s"] = "desde %s";
-$a->strings["last edited: %s"] = "último cambio: %s";
-$a->strings["Expires: %s"] = "Caduca: %s";
$a->strings["Save Bookmarks"] = "Guardar en Marcadores";
$a->strings["Add to Calendar"] = "Añadir al calendario";
$a->strings["Mark all seen"] = "Marcar todo como visto";
$a->strings["__ctx:noun__ Likes"] = "Me gusta";
$a->strings["__ctx:noun__ Dislikes"] = "No me gusta";
-$a->strings["Please wait"] = "Espere por favor";
$a->strings["This is you"] = "Este es usted";
-$a->strings["Bold"] = "Negrita";
-$a->strings["Italic"] = "Itálico ";
-$a->strings["Underline"] = "Subrayar";
-$a->strings["Quote"] = "Citar";
-$a->strings["Code"] = "Código";
$a->strings["Image"] = "Imagen";
$a->strings["Insert Link"] = "Insertar enlace";
$a->strings["Video"] = "Vídeo";
-$a->strings["Encrypt text"] = "Cifrar texto";
-$a->strings["prev"] = "anterior";
-$a->strings["first"] = "primera";
-$a->strings["last"] = "última";
-$a->strings["next"] = "próxima";
-$a->strings["older"] = "más antiguas";
-$a->strings["newer"] = "más recientes";
-$a->strings["No connections"] = "Sin conexiones";
-$a->strings["%d Connection"] = array(
- 0 => "%d Conexión",
- 1 => "%d Conexiones",
-);
-$a->strings["View Connections"] = "Ver conexiones";
-$a->strings["Save"] = "Guardar";
-$a->strings["poke"] = "un toque";
-$a->strings["poked"] = "ha recibido un toque";
-$a->strings["ping"] = "un \"ping\"";
-$a->strings["pinged"] = "avisado/a";
-$a->strings["prod"] = "una incitación";
-$a->strings["prodded"] = "ha recibido una incitación";
-$a->strings["slap"] = "una bofetada";
-$a->strings["slapped"] = "ha recibido una bofetada";
-$a->strings["finger"] = "un \"finger\"";
-$a->strings["fingered"] = "ha recibido un \"finger\"";
-$a->strings["rebuff"] = "un rechazo";
-$a->strings["rebuffed"] = "ha sido rechazado/a";
-$a->strings["happy"] = "feliz";
-$a->strings["sad"] = "triste";
-$a->strings["mellow"] = "amable";
-$a->strings["tired"] = "cansado/a";
-$a->strings["perky"] = "fresco/a";
-$a->strings["angry"] = "enfadado/a";
-$a->strings["stupified"] = "estupefacto/a";
-$a->strings["puzzled"] = "perplejo/a";
-$a->strings["interested"] = "interesado/a";
-$a->strings["bitter"] = "amargado/a";
-$a->strings["cheerful"] = "alegre";
-$a->strings["alive"] = "vivo/a";
-$a->strings["annoyed"] = "molesto/a";
-$a->strings["anxious"] = "ansioso/a";
-$a->strings["cranky"] = "de mal humor";
-$a->strings["disturbed"] = "perturbado/a";
-$a->strings["frustrated"] = "frustrado/a";
-$a->strings["depressed"] = "deprimido/a";
-$a->strings["motivated"] = "motivado/a";
-$a->strings["relaxed"] = "relajado/a";
-$a->strings["surprised"] = "sorprendido/a";
-$a->strings["May"] = "mayo";
-$a->strings["Unknown Attachment"] = "Adjunto no reconocido";
-$a->strings["Attachment"] = "Fichero adjunto";
-$a->strings["Size Unknown"] = "Tamaño desconocido";
-$a->strings["remove category"] = "eliminar categoría";
-$a->strings["remove from file"] = "eliminar del fichero";
-$a->strings["Click to open/close"] = "Pulsar para abrir/cerrar";
-$a->strings["Link to Source"] = "Enlazar con la entrada en su ubicación original";
-$a->strings["default"] = "por defecto";
-$a->strings["Page layout"] = "Formato de la página";
-$a->strings["You can create your own with the layouts tool"] = "Puede crear su propio formato gráfico con las herramientas de diseño";
-$a->strings["Page content type"] = "Tipo de contenido de página";
-$a->strings["Select an alternate language"] = "Seleccionar un idioma alternativo";
-$a->strings["photo"] = "foto";
-$a->strings["status"] = "el mensaje de estado";
-$a->strings["comment"] = "comentario";
-$a->strings["activity"] = "actividad";
-$a->strings["Design Tools"] = "Herramientas de diseño";
-$a->strings["Blocks"] = "Bloques";
-$a->strings["Menus"] = "Menús";
-$a->strings["Layouts"] = "Formato gráfico";
-$a->strings["Pages"] = "Páginas";
+$a->strings["Invalid data packet"] = "Paquete de datos no válido";
+$a->strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
+$a->strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
+$a->strings["invalid target signature"] = "La firma recibida no es válida";
+$a->strings["Logged out."] = "Desconectado/a.";
+$a->strings["Failed authentication"] = "Autenticación fallida.";
+$a->strings["Login failed."] = "El acceso ha fallado.";
$a->strings["Image/photo"] = "Imagen/foto";
$a->strings["Encrypted content"] = "Contenido cifrado";
$a->strings["Install %s element: "] = "Instalar el elemento %s:";
@@ -663,10 +720,79 @@ $a->strings["Edit collection"] = "Editar colección";
$a->strings["Add new collection"] = "Añadir nueva colección";
$a->strings["Channels not in any collection"] = "El canal no se encuentra en ninguna colección";
$a->strings["add"] = "añadir";
-$a->strings["Invalid data packet"] = "Paquete de datos no válido";
-$a->strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
-$a->strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
-$a->strings["invalid target signature"] = "La firma recibida no es válida";
+$a->strings["Apps"] = "Aplicaciones";
+$a->strings["System"] = "Sistema";
+$a->strings["Create Personal App"] = "Crear una aplicación personal";
+$a->strings["Edit Personal App"] = "Editar una aplicación personal";
+$a->strings["Ignore/Hide"] = "Ignorar/Ocultar";
+$a->strings["Suggestions"] = "Sugerencias";
+$a->strings["See more..."] = "Ver más...";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas.";
+$a->strings["Add New Connection"] = "Añadir nueva conexión";
+$a->strings["Enter the channel address"] = "Introducir la dirección del canal";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco";
+$a->strings["Notes"] = "Notas";
+$a->strings["Save"] = "Guardar";
+$a->strings["Remove term"] = "Eliminar término";
+$a->strings["Archives"] = "Hemeroteca";
+$a->strings["Me"] = "Yo";
+$a->strings["Family"] = "Familia";
+$a->strings["Acquaintances"] = "Conocidos/as";
+$a->strings["All"] = "Todas";
+$a->strings["Refresh"] = "Recargar";
+$a->strings["Account settings"] = "Configuración de la cuenta";
+$a->strings["Channel settings"] = "Configuración del canal";
+$a->strings["Additional features"] = "Características adicionales";
+$a->strings["Feature/Addon settings"] = "Configuración de características o complementos";
+$a->strings["Display settings"] = "Ajustes de visualización";
+$a->strings["Connected apps"] = "Aplicaciones conectadas";
+$a->strings["Export channel"] = "Exportar canal";
+$a->strings["Connection Default Permissions"] = "Permisos predeterminados de conexión";
+$a->strings["Premium Channel Settings"] = "Configuración del canal premium";
+$a->strings["Private Mail Menu"] = "Menú de correo privado";
+$a->strings["Combined View"] = "Vista combinada";
+$a->strings["Inbox"] = "Bandeja de entrada";
+$a->strings["Outbox"] = "Bandeja de salida";
+$a->strings["New Message"] = "Nuevo mensaje";
+$a->strings["Conversations"] = "Conversaciones";
+$a->strings["Received Messages"] = "Mensajes recibidos";
+$a->strings["Sent Messages"] = "Enviar mensajes";
+$a->strings["No messages."] = "Sin mensajes.";
+$a->strings["Delete conversation"] = "Eliminar conversación";
+$a->strings["Events Menu"] = "Menú de eventos";
+$a->strings["Day View"] = "Eventos del día";
+$a->strings["Week View"] = "Eventos de la semana";
+$a->strings["Month View"] = "Eventos del mes";
+$a->strings["Export"] = "Exportar";
+$a->strings["Import"] = "Importar";
+$a->strings["Chat Rooms"] = "Salas de chat";
+$a->strings["Bookmarked Chatrooms"] = "Salas de chat preferidas";
+$a->strings["Suggested Chatrooms"] = "Salas de chat sugeridas";
+$a->strings["photo/image"] = "foto/imagen";
+$a->strings["Rate Me"] = "Valorar este canal";
+$a->strings["View Ratings"] = "Mostrar las valoraciones";
+$a->strings["Public Hubs"] = "Servidores públicos";
+$a->strings["Forums"] = "Foros";
+$a->strings["Tasks"] = "Tareas";
+$a->strings["Documentation"] = "Documentación";
+$a->strings["Project/Site Information"] = "Información sobre el proyecto o sitio";
+$a->strings["For Members"] = "Para los usuarios";
+$a->strings["For Administrators"] = "Para los administradores";
+$a->strings["For Developers"] = "Para los desarrolladores";
+$a->strings["Site"] = "Sitio";
+$a->strings["Accounts"] = "Cuentas";
+$a->strings["Channels"] = "Canales";
+$a->strings["Plugins"] = "Extensiones";
+$a->strings["Themes"] = "Temas";
+$a->strings["Inspect queue"] = "Examinar la cola";
+$a->strings["Profile Config"] = "Ajustes del perfil";
+$a->strings["DB updates"] = "Actualizaciones de la base de datos";
+$a->strings["Logs"] = "Informes";
+$a->strings["Admin"] = "Administrador";
+$a->strings["Plugin Features"] = "Ajustes de la extensión";
+$a->strings["User registrations waiting for confirmation"] = "Registros de usuarios pendientes de confirmación";
+$a->strings["View Photo"] = "Ver foto";
+$a->strings["Edit Album"] = "Editar álbum";
$a->strings["No recipient provided."] = "No se ha especificado ningún destinatario.";
$a->strings["[no subject]"] = "[sin asunto]";
$a->strings["Unable to determine sender."] = "No ha sido posible determinar el remitente. ";
@@ -728,8 +854,6 @@ $a->strings["Love/Romance:"] = "Vida sentimental/amorosa:";
$a->strings["Work/employment:"] = "Trabajo:";
$a->strings["School/education:"] = "Estudios:";
$a->strings["Like this thing"] = "Me gusta esto";
-$a->strings["Attachments:"] = "Ficheros adjuntos:";
-$a->strings["\$Projectname event notification:"] = "Notificación de eventos de \$Projectname:";
$a->strings["Tags"] = "Etiquetas";
$a->strings["Keywords"] = "Palabras clave";
$a->strings["have"] = "tener";
@@ -738,199 +862,85 @@ $a->strings["want"] = "quiero";
$a->strings["wants"] = "quiere";
$a->strings["likes"] = "le gusta";
$a->strings["dislikes"] = "no le gusta";
-$a->strings["channel"] = "canal";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "a %1\$s le gusta %3\$s de %2\$s";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "a %1\$s no le gusta %3\$s de %2\$s";
-$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s ahora está conectado/a con %2\$s";
-$a->strings["%1\$s poked %2\$s"] = "%1\$s ha dado un toque a %2\$s";
-$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s está %2\$s";
-$a->strings["__ctx:title__ Likes"] = "Me gusta";
-$a->strings["__ctx:title__ Dislikes"] = "No me gusta";
-$a->strings["__ctx:title__ Agree"] = "De acuerdo";
-$a->strings["__ctx:title__ Disagree"] = "En desacuerdo";
-$a->strings["__ctx:title__ Abstain"] = "Abstención";
-$a->strings["__ctx:title__ Attending"] = "Participaré";
-$a->strings["__ctx:title__ Not attending"] = "No participaré";
-$a->strings["__ctx:title__ Might attend"] = "Quizá participe";
-$a->strings["View %s's profile @ %s"] = "Ver el perfil @ %s de %s";
-$a->strings["Categories:"] = "Categorías:";
-$a->strings["Filed under:"] = "Archivado bajo:";
-$a->strings["View in context"] = "Mostrar en su contexto";
-$a->strings["remove"] = "eliminar";
-$a->strings["Loading..."] = "Cargando...";
-$a->strings["Delete Selected Items"] = "Eliminar elementos seleccionados";
-$a->strings["View Source"] = "Ver la fuente original de la entrada";
-$a->strings["Follow Thread"] = "Seguir el hilo";
-$a->strings["View Status"] = "Estado actual";
-$a->strings["View Profile"] = "Ver el perfil";
-$a->strings["View Photos"] = "Ver fotos";
-$a->strings["Activity/Posts"] = "Actividad y entradas";
-$a->strings["Edit Connection"] = "Editar conexión";
-$a->strings["Send PM"] = "Enviar un mensaje privado";
-$a->strings["%s likes this."] = "a %s le gusta esto.";
-$a->strings["%s doesn't like this."] = "a %s no le gusta esto.";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "a <span %1\$s>%2\$d personas</span> le gusta esto.",
- 1 => "a <span %1\$s>%2\$d personas</span> les gusta esto.",
-);
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
- 1 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
-);
-$a->strings["and"] = "y";
-$a->strings[", and %d other people"] = array(
- 0 => ", y %d persona más",
- 1 => ", y %d personas más",
-);
-$a->strings["%s like this."] = "a %s le gusta esto.";
-$a->strings["%s don't like this."] = "a %s no le gusta esto.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Visible para <strong>cualquiera</strong>";
-$a->strings["Please enter a link URL:"] = "Por favor, introduzca la dirección del enlace:";
-$a->strings["Please enter a video link/URL:"] = "Por favor, introduzca un enlace de vídeo:";
-$a->strings["Please enter an audio link/URL:"] = "Por favor, introduzca un enlace de audio:";
-$a->strings["Tag term:"] = "Término de la etiqueta:";
-$a->strings["Save to Folder:"] = "Guardar en carpeta:";
-$a->strings["Where are you right now?"] = "¿Donde está ahora?";
-$a->strings["Expires YYYY-MM-DD HH:MM"] = "Caduca YYYY-MM-DD HH:MM";
-$a->strings["Share"] = "Compartir";
-$a->strings["Page link name"] = "Nombre de enlace de página";
-$a->strings["Post as"] = "Publicar como";
-$a->strings["Upload photo"] = "Subir foto";
-$a->strings["upload photo"] = "subir foto";
-$a->strings["Attach file"] = "Adjuntar fichero";
-$a->strings["attach file"] = "adjuntar fichero";
-$a->strings["Insert web link"] = "Insertar enlace web";
-$a->strings["web link"] = "enlace web";
-$a->strings["Insert video link"] = "Insertar enlace de vídeo";
-$a->strings["video link"] = "enlace de vídeo";
-$a->strings["Insert audio link"] = "Insertar enlace de audio";
-$a->strings["audio link"] = "enlace de audio";
-$a->strings["Set your location"] = "Configure su ubicación";
-$a->strings["set location"] = "establecer ubicación";
-$a->strings["Toggle voting"] = "Cambiar votación";
-$a->strings["Clear browser location"] = "Eliminar los datos de ubicación del navegador";
-$a->strings["clear location"] = "borrar los datos de ubicación";
-$a->strings["Title (optional)"] = "Título (opcional)";
-$a->strings["Categories (optional, comma-separated list)"] = "Categorías (opcional, lista separada por comas)";
-$a->strings["Permission settings"] = "Configuración de permisos";
-$a->strings["permissions"] = "permisos";
-$a->strings["Public post"] = "Entrada pública";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Ejemplo: roberto@ejemplo.com, maría@ejemplo.com";
-$a->strings["Set expiration date"] = "Configurar fecha de caducidad";
-$a->strings["Set publish date"] = "Establecer la fecha de publicación";
-$a->strings["OK"] = "OK";
-$a->strings["Cancel"] = "Cancelar";
-$a->strings["Discover"] = "Descubrir";
-$a->strings["Imported public streams"] = "Flujos públicos importados";
-$a->strings["Commented Order"] = "Comentarios recientes";
-$a->strings["Sort by Comment Date"] = "Ordenar por fecha de comentario";
-$a->strings["Posted Order"] = "Publicaciones recientes";
-$a->strings["Sort by Post Date"] = "Ordenar por fecha de publicación";
-$a->strings["Personal"] = "Personales";
-$a->strings["Posts that mention or involve you"] = "Publicaciones que le mencionan o involucran";
-$a->strings["New"] = "Nuevas";
-$a->strings["Activity Stream - by date"] = "Flujo de actividad - por fecha";
-$a->strings["Starred"] = "Preferidas";
-$a->strings["Favourite Posts"] = "Publicaciones favoritas";
-$a->strings["Spam"] = "Correo basura";
-$a->strings["Posts flagged as SPAM"] = "Publicaciones marcadas como basura";
-$a->strings["Channel"] = "Canal";
-$a->strings["Status Messages and Posts"] = "Mensajes de estado y publicaciones";
-$a->strings["About"] = "Sobre mí";
-$a->strings["Profile Details"] = "Detalles del perfil";
-$a->strings["Files and Storage"] = "Ficheros y repositorio";
-$a->strings["Chatrooms"] = "Salas de chat";
-$a->strings["Saved Bookmarks"] = "Marcadores guardados";
-$a->strings["Manage Webpages"] = "Administrar páginas web";
-$a->strings["__ctx:noun__ Attending"] = array(
- 0 => "Participando",
- 1 => "Participaré",
-);
-$a->strings["__ctx:noun__ Not Attending"] = array(
- 0 => "No participando",
- 1 => "No participaré",
-);
-$a->strings["__ctx:noun__ Undecided"] = array(
- 0 => "Indeciso/a",
- 1 => "Indecisos/as",
-);
-$a->strings["__ctx:noun__ Agree"] = array(
- 0 => "Está de acuerdo",
- 1 => "De acuerdo",
-);
-$a->strings["__ctx:noun__ Disagree"] = array(
- 0 => "No está de acuerdo",
- 1 => "En desacuerdo",
-);
-$a->strings["__ctx:noun__ Abstain"] = array(
- 0 => "se abstiene",
- 1 => "Se abstienen",
+$a->strings["Item was not found."] = "Elemento no encontrado.";
+$a->strings["No source file."] = "Ningún fichero de origen";
+$a->strings["Cannot locate file to replace"] = "No se puede localizar el fichero que va a ser sustituido.";
+$a->strings["Cannot locate file to revise/update"] = "No se puede localizar el fichero para revisar/actualizar";
+$a->strings["File exceeds size limit of %d"] = "El fichero supera el limite de tamaño de %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado.";
+$a->strings["Stored file could not be verified. Upload failed."] = "El fichero almacenado no ha podido ser verificado. El envío ha fallado.";
+$a->strings["Path not available."] = "Ruta no disponible.";
+$a->strings["Empty pathname"] = "Ruta vacía";
+$a->strings["duplicate filename or path"] = "Nombre duplicado de ruta o fichero";
+$a->strings["Path not found."] = "Ruta no encontrada";
+$a->strings["mkdir failed."] = "mkdir ha fallado.";
+$a->strings["database storage failed."] = "el almacenamiento en la base de datos ha fallado.";
+$a->strings["Empty path"] = "Ruta vacía";
+$a->strings["Attachments:"] = "Ficheros adjuntos:";
+$a->strings["\$Projectname event notification:"] = "Notificación de eventos de \$Projectname:";
+$a->strings["prev"] = "anterior";
+$a->strings["first"] = "primera";
+$a->strings["last"] = "última";
+$a->strings["next"] = "próxima";
+$a->strings["older"] = "más antiguas";
+$a->strings["newer"] = "más recientes";
+$a->strings["No connections"] = "Sin conexiones";
+$a->strings["%d Connection"] = array(
+ 0 => "%d Conexión",
+ 1 => "%d Conexiones",
);
-$a->strings["Apps"] = "Aplicaciones";
-$a->strings["System"] = "Sistema";
-$a->strings["Create Personal App"] = "Crear una aplicación personal";
-$a->strings["Edit Personal App"] = "Editar una aplicación personal";
-$a->strings["Ignore/Hide"] = "Ignorar/Ocultar";
-$a->strings["Suggestions"] = "Sugerencias";
-$a->strings["See more..."] = "Ver más...";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas.";
-$a->strings["Add New Connection"] = "Añadir nueva conexión";
-$a->strings["Enter the channel address"] = "Introducir la dirección del canal";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Ejemplo: paco@ejemplo.com, http://ejemplo.com/paco";
-$a->strings["Notes"] = "Notas";
-$a->strings["Remove term"] = "Eliminar término";
-$a->strings["Archives"] = "Hemeroteca";
-$a->strings["Me"] = "Yo";
-$a->strings["Family"] = "Familia";
-$a->strings["Acquaintances"] = "Conocidos/as";
-$a->strings["All"] = "Todas";
-$a->strings["Refresh"] = "Recargar";
-$a->strings["Account settings"] = "Configuración de la cuenta";
-$a->strings["Channel settings"] = "Configuración del canal";
-$a->strings["Additional features"] = "Características adicionales";
-$a->strings["Feature/Addon settings"] = "Configuración de características o complementos";
-$a->strings["Display settings"] = "Ajustes de visualización";
-$a->strings["Connected apps"] = "Aplicaciones conectadas";
-$a->strings["Export channel"] = "Exportar canal";
-$a->strings["Connection Default Permissions"] = "Permisos predeterminados de conexión";
-$a->strings["Premium Channel Settings"] = "Configuración del canal premium";
-$a->strings["Private Mail Menu"] = "Menú de correo privado";
-$a->strings["Combined View"] = "Vista combinada";
-$a->strings["Inbox"] = "Bandeja de entrada";
-$a->strings["Outbox"] = "Bandeja de salida";
-$a->strings["New Message"] = "Nuevo mensaje";
-$a->strings["Conversations"] = "Conversaciones";
-$a->strings["Received Messages"] = "Mensajes recibidos";
-$a->strings["Sent Messages"] = "Enviar mensajes";
-$a->strings["No messages."] = "Sin mensajes.";
-$a->strings["Delete conversation"] = "Eliminar conversación";
-$a->strings["D, d M Y - g:i A"] = "D d M Y - G:i";
-$a->strings["Chat Rooms"] = "Salas de chat";
-$a->strings["Bookmarked Chatrooms"] = "Salas de chat preferidas";
-$a->strings["Suggested Chatrooms"] = "Salas de chat sugeridas";
-$a->strings["photo/image"] = "foto/imagen";
-$a->strings["Rate Me"] = "Valorar este canal";
-$a->strings["View Ratings"] = "Mostrar las valoraciones";
-$a->strings["Public Hubs"] = "Servidores públicos";
-$a->strings["Forums"] = "Foros";
-$a->strings["Tasks"] = "Tareas";
-$a->strings["Documentation"] = "Documentación";
-$a->strings["Project/Site Information"] = "Información sobre el proyecto o sitio";
-$a->strings["For Members"] = "Para los usuarios";
-$a->strings["For Administrators"] = "Para los administradores";
-$a->strings["For Developers"] = "Para los desarrolladores";
-$a->strings["Site"] = "Sitio";
-$a->strings["Accounts"] = "Cuentas";
-$a->strings["Channels"] = "Canales";
-$a->strings["Plugins"] = "Extensiones";
-$a->strings["Themes"] = "Temas";
-$a->strings["Inspect queue"] = "Examinar la cola";
-$a->strings["Profile Config"] = "Ajustes del perfil";
-$a->strings["DB updates"] = "Actualizaciones de la base de datos";
-$a->strings["Logs"] = "Informes";
-$a->strings["Admin"] = "Administrador";
-$a->strings["Plugin Features"] = "Ajustes de la extensión";
-$a->strings["User registrations waiting for confirmation"] = "Registros de usuarios pendientes de confirmación";
+$a->strings["View Connections"] = "Ver conexiones";
+$a->strings["poke"] = "un toque";
+$a->strings["ping"] = "un \"ping\"";
+$a->strings["pinged"] = "avisado/a";
+$a->strings["prod"] = "una incitación";
+$a->strings["prodded"] = "ha recibido una incitación";
+$a->strings["slap"] = "una bofetada";
+$a->strings["slapped"] = "ha recibido una bofetada";
+$a->strings["finger"] = "un \"finger\"";
+$a->strings["fingered"] = "ha recibido un \"finger\"";
+$a->strings["rebuff"] = "un rechazo";
+$a->strings["rebuffed"] = "ha sido rechazado/a";
+$a->strings["happy"] = "feliz";
+$a->strings["sad"] = "triste";
+$a->strings["mellow"] = "amable";
+$a->strings["tired"] = "cansado/a";
+$a->strings["perky"] = "fresco/a";
+$a->strings["angry"] = "enfadado/a";
+$a->strings["stupified"] = "estupefacto/a";
+$a->strings["puzzled"] = "perplejo/a";
+$a->strings["interested"] = "interesado/a";
+$a->strings["bitter"] = "amargado/a";
+$a->strings["cheerful"] = "alegre";
+$a->strings["alive"] = "vivo/a";
+$a->strings["annoyed"] = "molesto/a";
+$a->strings["anxious"] = "ansioso/a";
+$a->strings["cranky"] = "de mal humor";
+$a->strings["disturbed"] = "perturbado/a";
+$a->strings["frustrated"] = "frustrado/a";
+$a->strings["depressed"] = "deprimido/a";
+$a->strings["motivated"] = "motivado/a";
+$a->strings["relaxed"] = "relajado/a";
+$a->strings["surprised"] = "sorprendido/a";
+$a->strings["May"] = "mayo";
+$a->strings["Unknown Attachment"] = "Adjunto no reconocido";
+$a->strings["unknown"] = "desconocido";
+$a->strings["remove category"] = "eliminar categoría";
+$a->strings["remove from file"] = "eliminar del fichero";
+$a->strings["Click to open/close"] = "Pulsar para abrir/cerrar";
+$a->strings["Link to Source"] = "Enlazar con la entrada en su ubicación original";
+$a->strings["default"] = "por defecto";
+$a->strings["Page layout"] = "Formato de la página";
+$a->strings["You can create your own with the layouts tool"] = "Puede crear su propio formato gráfico con las herramientas de diseño";
+$a->strings["Page content type"] = "Tipo de contenido de página";
+$a->strings["Select an alternate language"] = "Seleccionar un idioma alternativo";
+$a->strings["activity"] = "actividad";
+$a->strings["Design Tools"] = "Herramientas de diseño";
+$a->strings["Blocks"] = "Bloques";
+$a->strings["Menus"] = "Menús";
+$a->strings["Layouts"] = "Formato gráfico";
+$a->strings["Pages"] = "Páginas";
$a->strings["Logout"] = "Finalizar sesión";
$a->strings["End this session"] = "Finalizar esta sesión";
$a->strings["Home"] = "Inicio";
@@ -1149,7 +1159,7 @@ $a->strings["Accept connection to allow communication"] = "Aceptar la conexión
$a->strings["Set Affinity"] = "Ajustar la afinidad";
$a->strings["Set Profile"] = "Ajustar el perfil";
$a->strings["Set Affinity & Profile"] = "Ajustar la afinidad y el perfil";
-$a->strings["none"] = "nada";
+$a->strings["none"] = "-";
$a->strings["Apply these permissions automatically"] = "Aplicar estos permisos automaticamente";
$a->strings["This connection's primary address is"] = "La dirección primaria de esta conexión es";
$a->strings["Available locations:"] = "Ubicaciones disponibles:";
@@ -1159,7 +1169,7 @@ $a->strings["Slide to adjust your rating"] = "Deslizar para ajustar su valoraciÃ
$a->strings["Optionally explain your rating"] = "Opcionalmente, puede explicar su valoración";
$a->strings["Custom Filter"] = "Filtro personalizado";
$a->strings["Only import posts with this text"] = "Importar solo entradas que contengan este texto";
-$a->strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "Una por cada línea: palabras, #etiquetas, /patrones/ o lengua=xx. Dejar en blanco para importarlo todo";
+$a->strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "Una sola opción por línea: palabras, #etiquetas, /patrones/ o lang=xx. Dejar en blanco para importarlo todo";
$a->strings["Do not import posts with this text"] = "No importar entradas que contengan este texto";
$a->strings["This information is public!"] = "¡Esta información es pública!";
$a->strings["Connection Pending Approval"] = "Conexión pendiente de aprobación";
@@ -1226,27 +1236,6 @@ $a->strings["Website:"] = "Sitio web:";
$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Canal remoto [%s] (aún no es conocido en este sitio)";
$a->strings["Rating (this information is public)"] = "Valoración (esta información es pública)";
$a->strings["Optionally explain your rating (this information is public)"] = "Opcionalmente puede explicar su valoración (esta información es pública)";
-$a->strings["Unable to lookup recipient."] = "Imposible asociar a un destinatario.";
-$a->strings["Unable to communicate with requested channel."] = "Imposible comunicar con el canal solicitado.";
-$a->strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado.";
-$a->strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló.";
-$a->strings["Messages"] = "Mensajes";
-$a->strings["Message recalled."] = "Mensaje revocado.";
-$a->strings["Conversation removed."] = "Conversación eliminada.";
-$a->strings["Requested channel is not in this network"] = "El canal solicitado no existe en esta red";
-$a->strings["Send Private Message"] = "Enviar un mensaje privado";
-$a->strings["To:"] = "Para:";
-$a->strings["Subject:"] = "Asunto:";
-$a->strings["Your message:"] = "Su mensaje:";
-$a->strings["Send"] = "Enviar";
-$a->strings["Delete message"] = "Borrar mensaje";
-$a->strings["Delivery report"] = "Informe de transmisión";
-$a->strings["Recall message"] = "Revocar el mensaje";
-$a->strings["Message has been recalled."] = "El mensaje ha sido revocado.";
-$a->strings["Delete Conversation"] = "Eliminar Conversación";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente.";
-$a->strings["Send Reply"] = "Responder";
-$a->strings["Your message for %s (%s):"] = "Su mensaje para %s (%s):";
$a->strings["Page owner information could not be retrieved."] = "La información del propietario de la página no pudo ser recuperada.";
$a->strings["Album not found."] = "Ãlbum no encontrado.";
$a->strings["Delete Album"] = "Borrar álbum";
@@ -1265,8 +1254,6 @@ $a->strings["Album name could not be decoded"] = "El nombre del álbum no ha pod
$a->strings["Contact Photos"] = "Fotos de contacto";
$a->strings["Show Newest First"] = "Mostrar lo más reciente primero";
$a->strings["Show Oldest First"] = "Mostrar lo más antiguo primero";
-$a->strings["View Photo"] = "Ver foto";
-$a->strings["Edit Album"] = "Editar álbum";
$a->strings["Permission denied. Access to this item may be restricted."] = "Permiso denegado. El acceso a este elemento puede estar restringido.";
$a->strings["Photo not available"] = "Foto no disponible";
$a->strings["Use as profile photo"] = "Usar como foto del perfil";
@@ -1288,20 +1275,6 @@ $a->strings["In This Photo:"] = "En esta foto:";
$a->strings["Map"] = "Mapa";
$a->strings["View Album"] = "Ver álbum";
$a->strings["Recent Photos"] = "Fotos recientes";
-$a->strings["Invalid message"] = "Mensaje no válido";
-$a->strings["no results"] = "sin resultados";
-$a->strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s";
-$a->strings["channel sync processed"] = "se ha realizado la sincronización del canal";
-$a->strings["queued"] = "encolado";
-$a->strings["posted"] = "enviado";
-$a->strings["accepted for delivery"] = "aceptado para el envío";
-$a->strings["updated"] = "actualizado";
-$a->strings["update ignored"] = "actualización ignorada";
-$a->strings["permission denied"] = "permiso denegado";
-$a->strings["recipient not found"] = "destinatario no encontrado";
-$a->strings["mail recalled"] = "mensaje de correo revocado";
-$a->strings["duplicate mail received"] = "se ha recibido mensaje duplicado";
-$a->strings["mail delivered"] = "correo enviado";
$a->strings["Item not found"] = "Elemento no encontrado";
$a->strings["Delete block?"] = "¿Borrar bloque?";
$a->strings["Insert YouTube video"] = "Insertar vídeo de YouTube";
@@ -1381,6 +1354,8 @@ $a->strings["Disable discovery tab"] = "Desactivar la pestaña \"Descubrir\"";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Quitar la pestaña para ver contenido público extraído de las fuentes elegidas por este sitio.";
$a->strings["login on Homepage"] = "acceso a la página personal";
$a->strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido.";
+$a->strings["Directory Server URL"] = "URL del servidor de directorio";
+$a->strings["Default directory server"] = "Servidor de directorio predeterminado";
$a->strings["Proxy user"] = "Usuario del proxy";
$a->strings["Proxy URL"] = "Dirección del proxy";
$a->strings["Network timeout"] = "Tiempo de espera de la red";
@@ -1550,6 +1525,7 @@ $a->strings["Layout not found."] = "Formato no encontrado";
$a->strings["Module Name:"] = "Nombre del módulo:";
$a->strings["Layout Help"] = "Ayuda para el diseño de la página";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s está siguiendo %2\$s de %3\$s";
+$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ha dejado de seguir %3\$s de %2\$s";
$a->strings["No valid account found."] = "No se ha encontrado una cuenta válida.";
$a->strings["Password reset request issued. Check your email."] = "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico.";
$a->strings["Site Member (%s)"] = "Usuario del sitio (%s)";
@@ -1579,9 +1555,8 @@ $a->strings["l, F j"] = "l j F";
$a->strings["Edit event"] = "Editar evento";
$a->strings["Delete event"] = "Borrar evento";
$a->strings["calendar"] = "calendario";
-$a->strings["Create New Event"] = "Crear un nuevo evento";
-$a->strings["Export"] = "Exportar";
-$a->strings["Import"] = "Importar";
+$a->strings["New Event"] = "Nuevo evento";
+$a->strings["Today"] = "Hoy";
$a->strings["Event removed"] = "Evento borrado";
$a->strings["Failed to remove event"] = "Error al eliminar el evento";
$a->strings["Event details"] = "Detalles del evento";
@@ -1634,6 +1609,7 @@ $a->strings["Description: "] = "Descripción:";
$a->strings["Unable to locate original post."] = "No ha sido posible encontrar la entrada original.";
$a->strings["Empty post discarded."] = "La entrada vacía ha sido desechada.";
$a->strings["Executable content type not permitted to this channel."] = "Contenido de tipo ejecutable no permitido en este canal.";
+$a->strings["Duplicate post suppressed."] = "Se ha suprimido la entrada duplicada.";
$a->strings["System error. Post not saved."] = "Error del sistema. La entrada no se ha podido salvar.";
$a->strings["Unable to obtain post information from database."] = "No ha sido posible obtener información de la entrada en la base de datos.";
$a->strings["You have reached your limit of %1$.0f top level posts."] = "Ha alcanzado su límite de %1$.0f entradas en la página principal.";
@@ -1703,19 +1679,6 @@ $a->strings["Remote Authentication"] = "Acceso desde su servidor";
$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)";
$a->strings["Authenticate"] = "Acceder";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficientes. Petición redirigida a la página del perfil.";
-$a->strings["Version %s"] = "Versión %s";
-$a->strings["Installed plugins/addons/apps:"] = "Extensiones/Aplicaciones instaladas:";
-$a->strings["No installed plugins/addons/apps"] = "Extensiones/Aplicaciones no instaladas:";
-$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Este es un sitio integrado en \$Projectname - una red cooperativa mundial de sitios web descentralizados de privacidad mejorada.";
-$a->strings["Tag: "] = "Etiqueta:";
-$a->strings["Last background fetch: "] = "Última actualización en segundo plano:";
-$a->strings["Current load average: "] = "Carga media actual:";
-$a->strings["Running at web location"] = "Corriendo en el sitio web";
-$a->strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Por favor, visite <a href=\"http://hubzilla.org\">hubzilla.org</a> para más información sobre \$Projectname.";
-$a->strings["Bug reports and issues: please visit"] = "Informes de errores e incidencias: por, favor visite";
-$a->strings["\$projectname issues"] = "Problemas en \$projectname";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Sugerencias, elogios, etc - por favor, un correo electrónico a \"redmatrix\" en librelist - punto com";
-$a->strings["Site Administrators"] = "Administradores del sitio";
$a->strings["Your service plan only allows %d channels."] = "Su paquete de servicios solo permite %d canales.";
$a->strings["Nothing to import."] = "No hay nada para importar.";
$a->strings["Unable to download data from old server"] = "No se han podido descargar datos de su antiguo servidor";
@@ -1734,6 +1697,20 @@ $a->strings["For either option, please choose whether to make this hub your new
$a->strings["Make this hub my primary location"] = "Convertir este servidor en mi ubicación primaria";
$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible";
$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine.";
+$a->strings["Invalid message"] = "Mensaje no válido";
+$a->strings["no results"] = "sin resultados";
+$a->strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s";
+$a->strings["channel sync processed"] = "se ha realizado la sincronización del canal";
+$a->strings["queued"] = "encolado";
+$a->strings["posted"] = "enviado";
+$a->strings["accepted for delivery"] = "aceptado para el envío";
+$a->strings["updated"] = "actualizado";
+$a->strings["update ignored"] = "actualización ignorada";
+$a->strings["permission denied"] = "permiso denegado";
+$a->strings["recipient not found"] = "destinatario no encontrado";
+$a->strings["mail recalled"] = "mensaje de correo revocado";
+$a->strings["duplicate mail received"] = "se ha recibido mensaje duplicado";
+$a->strings["mail delivered"] = "correo enviado";
$a->strings["Thing updated"] = "Elemento actualizado.";
$a->strings["Object store: failed"] = "Guardar objeto: ha fallado";
$a->strings["Thing added"] = "Elemento añadido";
@@ -1760,12 +1737,33 @@ $a->strings["%d message sent."] = array(
$a->strings["You have no more invitations available"] = "No tiene más invitaciones disponibles";
$a->strings["Send invitations"] = "Enviar invitaciones";
$a->strings["Enter email addresses, one per line:"] = "Introduzca las direcciones de correo electrónica, una por línea:";
+$a->strings["Your message:"] = "Su mensaje:";
$a->strings["Please join my community on \$Projectname."] = "Por favor, únase a mi comunidad en \$Projectname.";
$a->strings["You will need to supply this invitation code: "] = "Debe proporcionar este código de invitación:";
$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Regístrese en cualquier sitio de \$Projectname (están todos interconectados)";
$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Introduzca mi dirección \$Projectname en la caja de búsqueda del sitio.";
$a->strings["or visit "] = "o visite";
$a->strings["3. Click [Connect]"] = "3. Pulse [conectar]";
+$a->strings["Unable to lookup recipient."] = "Imposible asociar a un destinatario.";
+$a->strings["Unable to communicate with requested channel."] = "Imposible comunicar con el canal solicitado.";
+$a->strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado.";
+$a->strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló.";
+$a->strings["Messages"] = "Mensajes";
+$a->strings["Message recalled."] = "Mensaje revocado.";
+$a->strings["Conversation removed."] = "Conversación eliminada.";
+$a->strings["Requested channel is not in this network"] = "El canal solicitado no existe en esta red";
+$a->strings["Send Private Message"] = "Enviar un mensaje privado";
+$a->strings["To:"] = "Para:";
+$a->strings["Subject:"] = "Asunto:";
+$a->strings["Send"] = "Enviar";
+$a->strings["Delete message"] = "Borrar mensaje";
+$a->strings["Delivery report"] = "Informe de transmisión";
+$a->strings["Recall message"] = "Revocar el mensaje";
+$a->strings["Message has been recalled."] = "El mensaje ha sido revocado.";
+$a->strings["Delete Conversation"] = "Eliminar Conversación";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente.";
+$a->strings["Send Reply"] = "Responder";
+$a->strings["Your message for %s (%s):"] = "Su mensaje para %s (%s):";
$a->strings["[Embedded content - reload page to view]"] = "[Contenido incorporado - recargue la página para poder verlo]";
$a->strings["Source of Item"] = "Origen del elemento";
$a->strings["Name is required"] = "El nombre es obligatorio";
@@ -1901,9 +1899,11 @@ $a->strings["Change the behaviour of this account for special situations"] = "Ca
$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Activar modo experto (en <a href=\"settings/features\">Ajustes > Características Adicionales</a>) para ajustar.";
$a->strings["Miscellaneous Settings"] = "Ajustes diversos";
$a->strings["Default photo upload folder"] = "Carpeta por defecto de las fotos subidas";
+$a->strings["%Y - current year, %m - current month"] = "%Y - año en curso, %m - mes actual";
$a->strings["Default file upload folder"] = "Carpeta por defecto de los archivos subidos";
$a->strings["Personal menu to display in your channel pages"] = "Menú personal que debe mostrarse en las páginas de su canal";
$a->strings["Remove this channel."] = "Eliminar este canal.";
+$a->strings["Firefox Share \$Projectname provider"] = "Servicio de compartición de Firefox: proveedor \$Projectname";
$a->strings["Xchan Lookup"] = "Búsqueda de canales";
$a->strings["Lookup xchan beginning with (or webbie): "] = "Buscar un canal (o un \"webbie\") que comience por:";
$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Ha creado %1$.0f de %2$.0f canales permitidos.";
@@ -1969,12 +1969,19 @@ $a->strings["Visit %s's profile [%s]"] = "Visitar el perfil de %s [%s]";
$a->strings["Location not found."] = "Dirección no encontrada.";
$a->strings["Location lookup failed."] = "Ha fallado la búsqueda de la dirección.";
$a->strings["Please select another location to become primary before removing the primary location."] = "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal.";
+$a->strings["Syncing locations"] = "Sincronización de ubicaciones";
$a->strings["No locations found."] = "No encontrada ninguna dirección.";
$a->strings["Manage Channel Locations"] = "Gestionar las direcciones del canal";
$a->strings["Location (address)"] = "Ubicación (dirección)";
$a->strings["Primary Location"] = "Dirección primaria";
$a->strings["Drop location"] = "Eliminar dirección";
+$a->strings["Sync now"] = "Sincronizar ahora";
+$a->strings["Please wait several minutes between consecutive operations."] = "Por favor, espere algunos minutos entre operaciones consecutivas.";
+$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal.";
+$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo.";
$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "La autenticación desde su servidor está bloqueada. Ha iniciado sesión localmente. Por favor, salga de la sesión y vuelva a intentarlo.";
+$a->strings["Share content from Firefox to \$Projectname"] = "Compartir contenido desde Firefox a \$Projectname";
+$a->strings["Activate the Firefox \$Projectname provider"] = "Servicio de compartición de Firefox: activar el proveedor \$Projectname ";
$a->strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Instalación";
$a->strings["Could not connect to database."] = "No se ha podido conectar a la base de datos.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No se puede conectar con la dirección del sitio indicada. Podría tratarse de un problema de SSL o DNS.";
@@ -2063,6 +2070,19 @@ $a->strings["Files: shared with me"] = "Ficheros: compartidos conmigo";
$a->strings["NEW"] = "NUEVO";
$a->strings["Remove all files"] = "Eliminar todos los ficheros";
$a->strings["Remove this file"] = "Eliminar este fichero";
+$a->strings["Version %s"] = "Versión %s";
+$a->strings["Installed plugins/addons/apps:"] = "Extensiones/Aplicaciones instaladas:";
+$a->strings["No installed plugins/addons/apps"] = "Extensiones/Aplicaciones no instaladas:";
+$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Este es un sitio integrado en \$Projectname - una red cooperativa mundial de sitios web descentralizados de privacidad mejorada.";
+$a->strings["Tag: "] = "Etiqueta:";
+$a->strings["Last background fetch: "] = "Última actualización en segundo plano:";
+$a->strings["Current load average: "] = "Carga media actual:";
+$a->strings["Running at web location"] = "Corriendo en el sitio web";
+$a->strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Por favor, visite <a href=\"http://hubzilla.org\">hubzilla.org</a> para más información sobre \$Projectname.";
+$a->strings["Bug reports and issues: please visit"] = "Informes de errores e incidencias: por, favor visite";
+$a->strings["\$projectname issues"] = "Problemas en \$projectname";
+$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Sugerencias, elogios, etc - por favor, un correo electrónico a \"redmatrix\" en librelist - punto com";
+$a->strings["Site Administrators"] = "Administradores del sitio";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "No hay sugerencias disponibles. Si es un sitio nuevo, espere 24 horas y pruebe de nuevo.";
$a->strings["Profile not found."] = "Perfil no encontrado.";
$a->strings["Profile deleted."] = "Perfil eliminado.";
diff --git a/view/js/acl.js b/view/js/acl.js
index 626d1a750..ed8af478a 100644
--- a/view/js/acl.js
+++ b/view/js/acl.js
@@ -25,20 +25,18 @@ function ACL(backend_url, preset) {
/*events*/
$(document).ready(function() {
-// setTimeout( function() {
that.showall.click(that.on_showall);
$(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);
/* startup! */
- that.get(0,100);
+ that.get(0,15000);
that.on_submit();
-// }, 5000 );
});
}
-// no longer called on submit - call to update whenever a change occurs to the acl list.
+// no longer called only on submit - call to update whenever a change occurs to the acl list.
ACL.prototype.on_submit = function() {
aclfileds = $("#acl-fields").html("");
@@ -62,11 +60,13 @@ ACL.prototype.on_submit = function() {
ACL.prototype.search = function() {
var srcstr = $("#acl-search").val();
that.list_content.html("");
- that.get(0, 100, srcstr);
+ that.get(0, 15000, srcstr);
};
ACL.prototype.on_search = function(event) {
- if (that.kp_timer) clearTimeout(that.kp_timer);
+ if (that.kp_timer) {
+ clearTimeout(that.kp_timer);
+ }
that.kp_timer = setTimeout( that.search, 1000);
};
@@ -90,15 +90,37 @@ ACL.prototype.on_showall = function(event) {
return false;
};
+ACL.prototype.on_selectall = function(event) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ /* This function has not yet been completed. */
+ /* The goal is to select all ACL "show" entries with one action. */
+
+ $('.acl-button-show').each(function(){});
+
+ if (that.showall.hasClass("btn-warning")) {
+ return false;
+ }
+ that.showall.removeClass("btn-default").addClass("btn-warning");
+
+ that.allow_cid = [];
+ that.allow_gid = [];
+ that.deny_cid = [];
+ that.deny_gid = [];
+
+ that.update_view();
+ that.on_submit();
+
+ return false;
+};
+
+
ACL.prototype.on_button_show = function(event) {
event.preventDefault();
event.stopImmediatePropagation();
event.stopPropagation();
- /*that.showall.removeClass("selected");
- $(this).siblings(".acl-button-hide").removeClass("selected");
- $(this).toggleClass("selected");*/
-
that.set_allow($(this).parent().attr('id'));
that.on_submit();
@@ -110,10 +132,6 @@ ACL.prototype.on_button_hide = function(event) {
event.stopImmediatePropagation();
event.stopPropagation();
- /*that.showall.removeClass("selected");
- $(this).siblings(".acl-button-show").removeClass("selected");
- $(this).toggleClass("selected");*/
-
that.set_deny($(this).parent().attr('id'));
that.on_submit();
diff --git a/view/js/main.js b/view/js/main.js
index 8bd4357cc..ca7d50b90 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -247,6 +247,7 @@ var pageHasMoreContent = true;
var updateCountsOnly = false;
var divmore_height = 400;
var last_filestorage_id = null;
+var mediaPlaying = false;
$(function() {
$.ajaxSetup({cache: false});
@@ -359,7 +360,7 @@ function NavUpdate() {
if(liking)
$('.like-rotator').spin(false);
- if(! stopped) {
+ if((! stopped) && (! mediaPlaying)) {
var pingCmd = 'ping' + ((localUser != 0) ? '?f=&uid=' + localUser : '');
$.get(pingCmd,function(data) {
@@ -595,6 +596,24 @@ function updateConvItems(mode,data) {
$('body').css('cursor', 'auto');
}
+ $('video').off('playing');
+ $('video').off('pause');
+ $('audio').off('playing');
+ $('audio').off('pause');
+
+ $('video').on('playing', function() {
+ mediaPlaying = true;
+ });
+ $('video').on('pause', function() {
+ mediaPlaying = false;
+ });
+ $('audio').on('playing', function() {
+ mediaPlaying = true;
+ });
+ $('audio').on('pause', function() {
+ mediaPlaying = false;
+ });
+
/* autocomplete @nicknames */
$(".comment-edit-form textarea").editor_autocomplete(baseurl+"/acl?f=&n=1");
diff --git a/view/js/mod_events.js b/view/js/mod_events.js
index 270bf798b..0b7b3d24c 100644
--- a/view/js/mod_events.js
+++ b/view/js/mod_events.js
@@ -2,33 +2,15 @@
* JavaScript for mod/events
*/
-$(document).ready( function() { showHideFinishDate(); });
+$(document).ready( function() {
-function showHideFinishDate() {
+ enableDisableFinishDate();
+
+});
+
+function enableDisableFinishDate() {
if( $('#id_nofinish').is(':checked'))
- $('#event-finish-wrapper').hide();
+ $('#id_finish_text').prop("disabled", true);
else
- $('#event-finish-wrapper').show();
-}
-function eventGetStart() {
- //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
- $('#startModal').modal();
- $('#start-modal-OKButton').on('click', function() {
- reply=$('#start-date').val();
- if(reply && reply.length) {
- $('#start-text').val(reply);
- $('#startModal').modal('hide');
- }
- });
+ $('#id_finish_text').prop("disabled", false);
}
-function eventGetFinish() {
- //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
- $('#finishModal').modal();
- $('#finish-modal-OKButton').on('click', function() {
- reply=$('#finish-date').val();
- if(reply && reply.length) {
- $('#finish-text').val(reply);
- $('#finishModal').modal('hide');
- }
- });
-} \ No newline at end of file
diff --git a/view/nl/hmessages.po b/view/nl/hmessages.po
index 3c6739909..a3f8a4a27 100644
--- a/view/nl/hmessages.po
+++ b/view/nl/hmessages.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-30 00:03-0700\n"
-"PO-Revision-Date: 2015-11-03 20:14+0000\n"
+"POT-Creation-Date: 2015-11-20 00:03-0800\n"
+"PO-Revision-Date: 2015-11-20 13:52+0000\n"
"Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/Friendica/red-matrix/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "Geen gebruikersnaam in het importbestand gevonden."
msgid "Unable to create a unique channel address. Import failed."
msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt."
-#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:486
+#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:487
msgid "Import completed."
msgstr "Import voltooid."
@@ -35,7 +35,7 @@ msgstr "Import voltooid."
msgid "parent"
msgstr "omhoog"
-#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2529
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2546
msgid "Collection"
msgstr "map"
@@ -59,14 +59,15 @@ msgstr "Planning-postvak IN"
msgid "Schedule Outbox"
msgstr "Planning-postvak UIT"
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/apps.php:360
-#: ../../include/apps.php:415 ../../include/conversation.php:1023
-#: ../../mod/photos.php:759 ../../mod/photos.php:1198
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1026
+#: ../../include/apps.php:360 ../../include/apps.php:415
+#: ../../include/widgets.php:1317 ../../mod/photos.php:759
+#: ../../mod/photos.php:1198
msgid "Unknown"
msgstr "Onbekend"
-#: ../../include/RedDAV/RedBrowser.php:226 ../../include/apps.php:135
-#: ../../include/conversation.php:1620 ../../include/nav.php:93
+#: ../../include/RedDAV/RedBrowser.php:226 ../../include/conversation.php:1628
+#: ../../include/apps.php:135 ../../include/nav.php:93
#: ../../mod/fbrowser.php:114
msgid "Files"
msgstr "Bestanden"
@@ -87,13 +88,14 @@ msgid "Create"
msgstr "Aanmaken"
#: ../../include/RedDAV/RedBrowser.php:231
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/photos.php:784
-#: ../../mod/photos.php:1317 ../../mod/profile_photo.php:450
+#: ../../include/RedDAV/RedBrowser.php:305 ../../include/widgets.php:1329
+#: ../../mod/photos.php:784 ../../mod/photos.php:1317
+#: ../../mod/profile_photo.php:450
msgid "Upload"
msgstr "Uploaden"
-#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:948
-#: ../../mod/settings.php:585 ../../mod/settings.php:611
+#: ../../include/RedDAV/RedBrowser.php:235 ../../mod/admin.php:974
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr "Naam"
@@ -102,7 +104,8 @@ msgstr "Naam"
msgid "Type"
msgstr "Type"
-#: ../../include/RedDAV/RedBrowser.php:237 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:237 ../../include/text.php:1247
+#: ../../mod/sharedwithme.php:97
msgid "Size"
msgstr "Grootte"
@@ -116,18 +119,18 @@ msgstr "Laatst gewijzigd"
#: ../../mod/layouts.php:183 ../../mod/editblock.php:135
#: ../../mod/editpost.php:112 ../../mod/menu.php:108
#: ../../mod/webpages.php:181 ../../mod/blocks.php:153 ../../mod/thing.php:257
-#: ../../mod/settings.php:645 ../../mod/connections.php:235
+#: ../../mod/settings.php:646 ../../mod/connections.php:235
#: ../../mod/connections.php:248 ../../mod/connections.php:267
#: ../../mod/editlayout.php:134 ../../mod/editwebpage.php:176
msgid "Edit"
msgstr "Bewerken"
-#: ../../include/RedDAV/RedBrowser.php:241 ../../include/apps.php:260
-#: ../../include/ItemObject.php:120 ../../include/conversation.php:657
-#: ../../mod/connedit.php:546 ../../mod/photos.php:1129
-#: ../../mod/editblock.php:181 ../../mod/admin.php:783 ../../mod/admin.php:942
+#: ../../include/RedDAV/RedBrowser.php:241 ../../include/conversation.php:657
+#: ../../include/apps.php:260 ../../include/ItemObject.php:120
+#: ../../mod/connedit.php:551 ../../mod/photos.php:1129
+#: ../../mod/editblock.php:181 ../../mod/admin.php:809 ../../mod/admin.php:968
#: ../../mod/webpages.php:183 ../../mod/blocks.php:155 ../../mod/thing.php:258
-#: ../../mod/settings.php:646 ../../mod/editlayout.php:179
+#: ../../mod/settings.php:647 ../../mod/editlayout.php:179
#: ../../mod/editwebpage.php:223 ../../mod/group.php:173
msgid "Delete"
msgstr "Verwijderen"
@@ -300,7 +303,7 @@ msgstr "Ongeldige omschrijving chatkanaal"
msgid "Room not found."
msgstr "Chatkanaal niet gevonden"
-#: ../../include/chat.php:133 ../../include/items.php:4377
+#: ../../include/chat.php:133 ../../include/items.php:4396
#: ../../include/photos.php:29 ../../include/attach.php:140
#: ../../include/attach.php:188 ../../include/attach.php:251
#: ../../include/attach.php:265 ../../include/attach.php:272
@@ -311,33 +314,33 @@ msgstr "Chatkanaal niet gevonden"
#: ../../mod/fsuggest.php:78 ../../mod/authtest.php:13
#: ../../mod/bookmarks.php:48 ../../mod/block.php:22 ../../mod/block.php:72
#: ../../mod/id.php:71 ../../mod/like.php:177 ../../mod/common.php:35
-#: ../../mod/mitem.php:111 ../../mod/connedit.php:347 ../../mod/mood.php:112
+#: ../../mod/mitem.php:111 ../../mod/connedit.php:352 ../../mod/mood.php:112
#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
#: ../../mod/poke.php:133 ../../mod/network.php:12 ../../mod/chat.php:94
-#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/mail.php:118
-#: ../../mod/photos.php:70 ../../mod/editblock.php:65
-#: ../../mod/editpost.php:13 ../../mod/appman.php:66 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/menu.php:74 ../../mod/page.php:31
-#: ../../mod/page.php:86 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/notifications.php:66
-#: ../../mod/pdledit.php:21 ../../mod/events.php:256
-#: ../../mod/profile_photo.php:338 ../../mod/profile_photo.php:351
-#: ../../mod/item.php:205 ../../mod/item.php:213 ../../mod/item.php:1004
-#: ../../mod/message.php:16 ../../mod/webpages.php:69
-#: ../../mod/register.php:72 ../../mod/blocks.php:69 ../../mod/blocks.php:76
-#: ../../mod/service_limits.php:7 ../../mod/sources.php:66
-#: ../../mod/regmod.php:17 ../../mod/channel.php:100 ../../mod/channel.php:214
-#: ../../mod/channel.php:254 ../../mod/thing.php:271 ../../mod/thing.php:291
-#: ../../mod/thing.php:328 ../../mod/invite.php:13 ../../mod/invite.php:104
-#: ../../mod/viewsrc.php:14 ../../mod/settings.php:565 ../../mod/manage.php:6
-#: ../../mod/api.php:26 ../../mod/api.php:31 ../../mod/connections.php:29
+#: ../../mod/chat.php:99 ../../mod/rate.php:111 ../../mod/photos.php:70
+#: ../../mod/editblock.php:65 ../../mod/editpost.php:13
+#: ../../mod/appman.php:66 ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/menu.php:74 ../../mod/page.php:31 ../../mod/page.php:86
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/notifications.php:66 ../../mod/pdledit.php:21
+#: ../../mod/events.php:256 ../../mod/profile_photo.php:338
+#: ../../mod/profile_photo.php:351 ../../mod/item.php:205
+#: ../../mod/item.php:213 ../../mod/item.php:1049 ../../mod/message.php:16
+#: ../../mod/webpages.php:69 ../../mod/register.php:72 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/service_limits.php:7
+#: ../../mod/sources.php:66 ../../mod/regmod.php:17 ../../mod/channel.php:100
+#: ../../mod/channel.php:214 ../../mod/channel.php:254 ../../mod/thing.php:271
+#: ../../mod/thing.php:291 ../../mod/thing.php:328 ../../mod/invite.php:13
+#: ../../mod/invite.php:104 ../../mod/mail.php:118 ../../mod/viewsrc.php:14
+#: ../../mod/settings.php:566 ../../mod/manage.php:6 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/connections.php:29
#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
#: ../../mod/group.php:9 ../../mod/viewconnections.php:22
-#: ../../mod/viewconnections.php:27 ../../mod/locs.php:82
+#: ../../mod/viewconnections.php:27 ../../mod/locs.php:83
#: ../../mod/setup.php:227 ../../mod/sharedwithme.php:7
#: ../../mod/suggest.php:26 ../../mod/profiles.php:188
#: ../../mod/profiles.php:576 ../../index.php:178 ../../index.php:361
@@ -361,7 +364,7 @@ msgstr "JJJJ-MM-DD of MM-DD"
msgid "Required"
msgstr "Vereist"
-#: ../../include/datetime.php:262 ../../boot.php:2312
+#: ../../include/datetime.php:262 ../../boot.php:2289
msgid "never"
msgstr "nooit"
@@ -549,7 +552,7 @@ msgid ""
"(640px) photo thumbnails"
msgstr "Gebruik grotere foto's (1024px) in berichten. Wanneer dit is uitgeschakeld worden er kleinere foto's (640px) gebruikt."
-#: ../../include/features.php:59 ../../include/widgets.php:545
+#: ../../include/features.php:59 ../../include/widgets.php:546
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr "Kanaalbronnen"
@@ -583,128 +586,138 @@ msgstr "Berichten uitstellen"
msgid "Allow posts to be published at a later date"
msgstr "Maakt het mogelijk dat berichten op een toekomstig moment gepubliceerd kunnen worden."
-#: ../../include/features.php:68
+#: ../../include/features.php:63
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Dubbele berichten/reacties tegenhouden"
+
+#: ../../include/features.php:63
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Voorkomt dat berichten en reacties met identieke inhoud en die binnen twee minuten zijn verstuurd, worden gepubliceerd. "
+
+#: ../../include/features.php:69
msgid "Network and Stream Filtering"
msgstr "Netwerk- en streamfilter"
-#: ../../include/features.php:69
+#: ../../include/features.php:70
msgid "Search by Date"
msgstr "Zoek op datum"
-#: ../../include/features.php:69
+#: ../../include/features.php:70
msgid "Ability to select posts by date ranges"
msgstr "Mogelijkheid om berichten op datum te filteren "
-#: ../../include/features.php:70
+#: ../../include/features.php:71
msgid "Collections Filter"
msgstr "Filter op collecties"
-#: ../../include/features.php:70
+#: ../../include/features.php:71
msgid "Enable widget to display Network posts only from selected collections"
msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties"
-#: ../../include/features.php:71 ../../include/widgets.php:273
+#: ../../include/features.php:72 ../../include/widgets.php:274
msgid "Saved Searches"
msgstr "Opgeslagen zoekopdrachten"
-#: ../../include/features.php:71
+#: ../../include/features.php:72
msgid "Save search terms for re-use"
msgstr "Sla zoekopdrachten op voor hergebruik"
-#: ../../include/features.php:72
+#: ../../include/features.php:73
msgid "Network Personal Tab"
msgstr "Persoonlijke netwerktab"
-#: ../../include/features.php:72
+#: ../../include/features.php:73
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"
-#: ../../include/features.php:73
+#: ../../include/features.php:74
msgid "Network New Tab"
msgstr "Nieuwe netwerktab"
-#: ../../include/features.php:73
+#: ../../include/features.php:74
msgid "Enable tab to display all new Network activity"
msgstr "Laat de tab alle nieuwe netwerkactiviteit tonen"
-#: ../../include/features.php:74
+#: ../../include/features.php:75
msgid "Affinity Tool"
msgstr "Verwantschapsfilter"
-#: ../../include/features.php:74
+#: ../../include/features.php:75
msgid "Filter stream activity by depth of relationships"
msgstr "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag"
-#: ../../include/features.php:75
+#: ../../include/features.php:76
msgid "Connection Filtering"
msgstr "Berichtenfilters"
-#: ../../include/features.php:75
+#: ../../include/features.php:76
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Filter binnenkomende berichten van connecties aan de hand van trefwoorden en taal"
-#: ../../include/features.php:76
+#: ../../include/features.php:77
msgid "Suggest Channels"
msgstr "Kanalen voorstellen"
-#: ../../include/features.php:76
+#: ../../include/features.php:77
msgid "Show channel suggestions"
msgstr "Voor jou mogelijk interessante kanalen voorstellen"
-#: ../../include/features.php:81
+#: ../../include/features.php:82
msgid "Post/Comment Tools"
msgstr "Bericht- en reactiehulpmiddelen"
-#: ../../include/features.php:82
+#: ../../include/features.php:83
msgid "Tagging"
msgstr "Taggen"
-#: ../../include/features.php:82
+#: ../../include/features.php:83
msgid "Ability to tag existing posts"
msgstr "Mogelijkheid om bestaande berichten te taggen"
-#: ../../include/features.php:83
+#: ../../include/features.php:84
msgid "Post Categories"
msgstr "Categorieën berichten"
-#: ../../include/features.php:83
+#: ../../include/features.php:84
msgid "Add categories to your posts"
msgstr "Voeg categorieën toe aan je berichten"
-#: ../../include/features.php:84 ../../include/contact_widgets.php:57
-#: ../../include/widgets.php:303
+#: ../../include/features.php:85 ../../include/contact_widgets.php:57
+#: ../../include/widgets.php:304
msgid "Saved Folders"
msgstr "Bewaarde mappen"
-#: ../../include/features.php:84
+#: ../../include/features.php:85
msgid "Ability to file posts under folders"
msgstr "Mogelijkheid om berichten in mappen op te slaan"
-#: ../../include/features.php:85
+#: ../../include/features.php:86
msgid "Dislike Posts"
msgstr "Vind berichten niet leuk"
-#: ../../include/features.php:85
+#: ../../include/features.php:86
msgid "Ability to dislike posts/comments"
msgstr "Mogelijkheid om berichten en reacties niet leuk te vinden"
-#: ../../include/features.php:86
+#: ../../include/features.php:87
msgid "Star Posts"
msgstr "Geef berichten een ster"
-#: ../../include/features.php:86
+#: ../../include/features.php:87
msgid "Ability to mark special posts with a star indicator"
msgstr "Mogelijkheid om speciale berichten met een ster te markeren"
-#: ../../include/features.php:87
+#: ../../include/features.php:88
msgid "Tag Cloud"
msgstr "Tagwolk"
-#: ../../include/features.php:87
+#: ../../include/features.php:88
msgid "Provide a personal tag cloud on your channel page"
msgstr "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"
-#: ../../include/comanche.php:34 ../../mod/admin.php:348
+#: ../../include/comanche.php:34 ../../mod/admin.php:351
msgid "Default"
msgstr "Standaard"
@@ -712,12 +725,12 @@ msgstr "Standaard"
msgid "Delete this item?"
msgstr "Dit item verwijderen?"
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:681
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:682
#: ../../mod/photos.php:1047 ../../mod/photos.php:1165
msgid "Comment"
msgstr "Reactie"
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:398
+#: ../../include/js_strings.php:7 ../../include/ItemObject.php:399
msgid "[+] show all"
msgstr "[+] alle"
@@ -769,7 +782,7 @@ msgstr "Niets nieuw hier"
msgid "Rate This Channel (this is public)"
msgstr "Beoordeel dit kanaal (dit is openbaar)"
-#: ../../include/js_strings.php:20 ../../mod/connedit.php:684
+#: ../../include/js_strings.php:20 ../../mod/connedit.php:694
#: ../../mod/rate.php:157
msgid "Rating"
msgstr "Beoordeling"
@@ -778,23 +791,23 @@ msgstr "Beoordeling"
msgid "Describe (optional)"
msgstr "Omschrijving (optioneel)"
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:682
-#: ../../mod/fsuggest.php:108 ../../mod/mitem.php:231
-#: ../../mod/connedit.php:705 ../../mod/mood.php:135 ../../mod/pconfig.php:108
-#: ../../mod/filestorage.php:156 ../../mod/poke.php:171 ../../mod/chat.php:184
-#: ../../mod/chat.php:213 ../../mod/rate.php:168 ../../mod/mail.php:371
-#: ../../mod/photos.php:637 ../../mod/photos.php:1008
-#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:411
-#: ../../mod/admin.php:776 ../../mod/admin.php:940 ../../mod/admin.php:1072
-#: ../../mod/admin.php:1266 ../../mod/admin.php:1351 ../../mod/appman.php:99
-#: ../../mod/pdledit.php:58 ../../mod/events.php:534 ../../mod/events.php:710
+#: ../../include/js_strings.php:22 ../../include/ItemObject.php:683
+#: ../../include/widgets.php:676 ../../mod/fsuggest.php:108
+#: ../../mod/mitem.php:231 ../../mod/connedit.php:715 ../../mod/mood.php:135
+#: ../../mod/pconfig.php:108 ../../mod/filestorage.php:156
+#: ../../mod/poke.php:171 ../../mod/chat.php:184 ../../mod/chat.php:213
+#: ../../mod/rate.php:168 ../../mod/photos.php:637 ../../mod/photos.php:1008
+#: ../../mod/photos.php:1048 ../../mod/photos.php:1166 ../../mod/admin.php:435
+#: ../../mod/admin.php:802 ../../mod/admin.php:966 ../../mod/admin.php:1103
+#: ../../mod/admin.php:1297 ../../mod/admin.php:1382 ../../mod/appman.php:99
+#: ../../mod/pdledit.php:58 ../../mod/events.php:531 ../../mod/events.php:710
#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/import.php:517 ../../mod/thing.php:313 ../../mod/thing.php:359
-#: ../../mod/invite.php:142 ../../mod/settings.php:583
-#: ../../mod/settings.php:695 ../../mod/settings.php:723
-#: ../../mod/settings.php:746 ../../mod/settings.php:831
-#: ../../mod/settings.php:1020 ../../mod/xchan.php:11 ../../mod/group.php:81
-#: ../../mod/connect.php:93 ../../mod/locs.php:108 ../../mod/setup.php:331
+#: ../../mod/import.php:527 ../../mod/thing.php:313 ../../mod/thing.php:359
+#: ../../mod/invite.php:142 ../../mod/mail.php:371 ../../mod/settings.php:584
+#: ../../mod/settings.php:696 ../../mod/settings.php:724
+#: ../../mod/settings.php:747 ../../mod/settings.php:832
+#: ../../mod/settings.php:1021 ../../mod/xchan.php:11 ../../mod/group.php:81
+#: ../../mod/connect.php:93 ../../mod/locs.php:116 ../../mod/setup.php:331
#: ../../mod/setup.php:371 ../../mod/profiles.php:667
#: ../../mod/import_items.php:122 ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
@@ -881,19 +894,19 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/js_strings.php:44 ../../include/text.php:1153
+#: ../../include/js_strings.php:44 ../../include/text.php:1164
msgid "January"
msgstr "januari"
-#: ../../include/js_strings.php:45 ../../include/text.php:1153
+#: ../../include/js_strings.php:45 ../../include/text.php:1164
msgid "February"
msgstr "februari"
-#: ../../include/js_strings.php:46 ../../include/text.php:1153
+#: ../../include/js_strings.php:46 ../../include/text.php:1164
msgid "March"
msgstr "maart"
-#: ../../include/js_strings.php:47 ../../include/text.php:1153
+#: ../../include/js_strings.php:47 ../../include/text.php:1164
msgid "April"
msgstr "april"
@@ -902,31 +915,31 @@ msgctxt "long"
msgid "May"
msgstr "mei"
-#: ../../include/js_strings.php:49 ../../include/text.php:1153
+#: ../../include/js_strings.php:49 ../../include/text.php:1164
msgid "June"
msgstr "juni"
-#: ../../include/js_strings.php:50 ../../include/text.php:1153
+#: ../../include/js_strings.php:50 ../../include/text.php:1164
msgid "July"
msgstr "juli"
-#: ../../include/js_strings.php:51 ../../include/text.php:1153
+#: ../../include/js_strings.php:51 ../../include/text.php:1164
msgid "August"
msgstr "augustus"
-#: ../../include/js_strings.php:52 ../../include/text.php:1153
+#: ../../include/js_strings.php:52 ../../include/text.php:1164
msgid "September"
msgstr "september"
-#: ../../include/js_strings.php:53 ../../include/text.php:1153
+#: ../../include/js_strings.php:53 ../../include/text.php:1164
msgid "October"
msgstr "oktober"
-#: ../../include/js_strings.php:54 ../../include/text.php:1153
+#: ../../include/js_strings.php:54 ../../include/text.php:1164
msgid "November"
msgstr "november"
-#: ../../include/js_strings.php:55 ../../include/text.php:1153
+#: ../../include/js_strings.php:55 ../../include/text.php:1164
msgid "December"
msgstr "december"
@@ -979,31 +992,31 @@ msgstr "nov"
msgid "Dec"
msgstr "dec"
-#: ../../include/js_strings.php:68 ../../include/text.php:1149
+#: ../../include/js_strings.php:68 ../../include/text.php:1160
msgid "Sunday"
msgstr "zondag"
-#: ../../include/js_strings.php:69 ../../include/text.php:1149
+#: ../../include/js_strings.php:69 ../../include/text.php:1160
msgid "Monday"
msgstr "maandag"
-#: ../../include/js_strings.php:70 ../../include/text.php:1149
+#: ../../include/js_strings.php:70 ../../include/text.php:1160
msgid "Tuesday"
msgstr "dinsdag"
-#: ../../include/js_strings.php:71 ../../include/text.php:1149
+#: ../../include/js_strings.php:71 ../../include/text.php:1160
msgid "Wednesday"
msgstr "woensdag"
-#: ../../include/js_strings.php:72 ../../include/text.php:1149
+#: ../../include/js_strings.php:72 ../../include/text.php:1160
msgid "Thursday"
msgstr "donderdag"
-#: ../../include/js_strings.php:73 ../../include/text.php:1149
+#: ../../include/js_strings.php:73 ../../include/text.php:1160
msgid "Friday"
msgstr "vrijdag"
-#: ../../include/js_strings.php:74 ../../include/text.php:1149
+#: ../../include/js_strings.php:74 ../../include/text.php:1160
msgid "Saturday"
msgstr "zaterdag"
@@ -1097,8 +1110,8 @@ msgid "RSS/Atom"
msgstr "RSS/Atom"
#: ../../include/contact_selectors.php:79 ../../mod/id.php:15
-#: ../../mod/id.php:16 ../../mod/admin.php:779 ../../mod/admin.php:788
-#: ../../boot.php:1505
+#: ../../mod/id.php:16 ../../mod/admin.php:805 ../../mod/admin.php:814
+#: ../../boot.php:1488
msgid "Email"
msgstr "E-mail"
@@ -1149,9 +1162,9 @@ msgstr "Bezoek het %2$s van %1$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
-#: ../../include/Contact.php:101 ../../include/identity.php:965
-#: ../../include/conversation.php:949 ../../include/widgets.php:136
-#: ../../include/widgets.php:174 ../../mod/directory.php:316
+#: ../../include/Contact.php:101 ../../include/conversation.php:952
+#: ../../include/widgets.php:137 ../../include/widgets.php:175
+#: ../../include/identity.php:952 ../../mod/directory.php:318
#: ../../mod/match.php:64 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Verbinden"
@@ -1174,10 +1187,10 @@ msgstr "Account '%s' verwijderd"
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden"
-#: ../../include/items.php:423 ../../mod/like.php:280 ../../mod/dreport.php:6
-#: ../../mod/dreport.php:45 ../../mod/subthread.php:49 ../../mod/group.php:68
-#: ../../mod/profperm.php:23 ../../mod/import_items.php:114
-#: ../../index.php:360
+#: ../../include/items.php:423 ../../mod/like.php:280
+#: ../../mod/subthread.php:58 ../../mod/dreport.php:6 ../../mod/dreport.php:45
+#: ../../mod/group.php:68 ../../mod/profperm.php:23
+#: ../../mod/import_items.php:114 ../../index.php:360
msgid "Permission denied"
msgstr "Toegang geweigerd"
@@ -1218,66 +1231,699 @@ msgstr "Voor alle goedgekeurde connecties zichtbaar."
msgid "Visible to specific connections."
msgstr "Voor specifieke connecties zichtbaar."
-#: ../../include/items.php:4298 ../../mod/display.php:36
+#: ../../include/items.php:4317 ../../mod/display.php:36
#: ../../mod/filestorage.php:27 ../../mod/admin.php:127
-#: ../../mod/admin.php:979 ../../mod/admin.php:1179 ../../mod/thing.php:86
+#: ../../mod/admin.php:1005 ../../mod/admin.php:1210 ../../mod/thing.php:86
#: ../../mod/viewsrc.php:20
msgid "Item not found."
msgstr "Item niet gevonden."
-#: ../../include/items.php:4807 ../../mod/group.php:38 ../../mod/group.php:137
+#: ../../include/items.php:4826 ../../mod/group.php:38 ../../mod/group.php:137
msgid "Collection not found."
msgstr "Collectie niet gevonden."
-#: ../../include/items.php:4823
+#: ../../include/items.php:4842
msgid "Collection is empty."
msgstr "Collectie is leeg"
-#: ../../include/items.php:4830
+#: ../../include/items.php:4849
#, php-format
msgid "Collection: %s"
msgstr "Collectie: %s"
-#: ../../include/items.php:4840 ../../mod/connedit.php:673
+#: ../../include/items.php:4859 ../../mod/connedit.php:683
#, php-format
msgid "Connection: %s"
msgstr "Connectie: %s"
-#: ../../include/items.php:4842
+#: ../../include/items.php:4861
msgid "Connection not found."
msgstr "Connectie niet gevonden."
-#: ../../include/api.php:1324
-msgid "Public Timeline"
-msgstr "Openbare tijdlijn"
+#: ../../include/conversation.php:120 ../../include/text.php:1880
+#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:83
+msgid "photo"
+msgstr "foto"
+
+#: ../../include/conversation.php:123 ../../include/event.php:896
+#: ../../include/text.php:1883 ../../mod/like.php:363 ../../mod/tagger.php:47
+#: ../../mod/events.php:245
+msgid "event"
+msgstr "gebeurtenis"
+
+#: ../../include/conversation.php:126 ../../mod/like.php:113
+msgid "channel"
+msgstr "kanaal"
+
+#: ../../include/conversation.php:148 ../../include/text.php:1886
+#: ../../mod/like.php:361 ../../mod/subthread.php:83
+msgid "status"
+msgstr "bericht"
+
+#: ../../include/conversation.php:150 ../../include/text.php:1888
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr "reactie"
+
+#: ../../include/conversation.php:164 ../../mod/like.php:410
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s vindt %3$s van %2$s leuk"
+
+#: ../../include/conversation.php:167 ../../mod/like.php:412
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s vindt %3$s van %2$s niet leuk"
+
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s is nu met %2$s verbonden"
+
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s heeft %2$s aangestoten"
+
+#: ../../include/conversation.php:243 ../../include/text.php:953
+msgid "poked"
+msgstr "aangestoten"
+
+#: ../../include/conversation.php:260 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s is %2$s"
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:1063
+msgctxt "title"
+msgid "Likes"
+msgstr "vinden dit leuk"
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:1063
+msgctxt "title"
+msgid "Dislikes"
+msgstr "vinden dit niet leuk"
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Agree"
+msgstr "eens"
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Disagree"
+msgstr "oneens"
+
+#: ../../include/conversation.php:575 ../../mod/photos.php:1064
+msgctxt "title"
+msgid "Abstain"
+msgstr "onthoudingen"
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Attending"
+msgstr "aanwezig"
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Not attending"
+msgstr "niet aanwezig"
+
+#: ../../include/conversation.php:576 ../../mod/photos.php:1065
+msgctxt "title"
+msgid "Might attend"
+msgstr "mogelijk aanwezig"
+
+#: ../../include/conversation.php:656 ../../include/ItemObject.php:126
+msgid "Select"
+msgstr "Kies"
+
+#: ../../include/conversation.php:664 ../../include/ItemObject.php:89
+msgid "Private Message"
+msgstr "Privébericht"
+
+#: ../../include/conversation.php:671 ../../include/ItemObject.php:227
+msgid "Message signature validated"
+msgstr "Berichtkenmerk gevalideerd"
+
+#: ../../include/conversation.php:672 ../../include/ItemObject.php:228
+msgid "Message signature incorrect"
+msgstr "Berichtkenmerk onjuist"
+
+#: ../../include/conversation.php:691
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Bekijk het profiel van %s @ %s"
+
+#: ../../include/conversation.php:709
+msgid "Categories:"
+msgstr "Categorieën:"
+
+#: ../../include/conversation.php:710
+msgid "Filed under:"
+msgstr "Bewaard onder:"
+
+#: ../../include/conversation.php:718 ../../include/ItemObject.php:321
+#, php-format
+msgid "from %s"
+msgstr "van %s"
+
+#: ../../include/conversation.php:721 ../../include/ItemObject.php:324
+#, php-format
+msgid "last edited: %s"
+msgstr "laatst bewerkt: %s"
+
+#: ../../include/conversation.php:722 ../../include/ItemObject.php:325
+#, php-format
+msgid "Expires: %s"
+msgstr "Verloopt: %s"
+
+#: ../../include/conversation.php:737
+msgid "View in context"
+msgstr "In context bekijken"
+
+#: ../../include/conversation.php:739 ../../include/conversation.php:1226
+#: ../../include/ItemObject.php:375 ../../mod/photos.php:1029
+#: ../../mod/editblock.php:150 ../../mod/editpost.php:129
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190
+msgid "Please wait"
+msgstr "Even wachten"
+
+#: ../../include/conversation.php:849
+msgid "remove"
+msgstr "verwijderen"
+
+#: ../../include/conversation.php:853 ../../include/nav.php:241
+msgid "Loading..."
+msgstr "Aan het laden..."
+
+#: ../../include/conversation.php:854
+msgid "Delete Selected Items"
+msgstr "Verwijder de geselecteerde items"
+
+#: ../../include/conversation.php:945
+msgid "View Source"
+msgstr "Bron weergeven"
+
+#: ../../include/conversation.php:946
+msgid "Follow Thread"
+msgstr "Conversatie volgen"
+
+#: ../../include/conversation.php:947
+msgid "Unfollow Thread"
+msgstr "Conversatie niet meer volgen"
+
+#: ../../include/conversation.php:948
+msgid "View Status"
+msgstr "Status weergeven"
+
+#: ../../include/conversation.php:949 ../../include/nav.php:86
+#: ../../mod/connedit.php:498
+msgid "View Profile"
+msgstr "Profiel weergeven"
+
+#: ../../include/conversation.php:950
+msgid "View Photos"
+msgstr "Foto's weergeven"
+
+#: ../../include/conversation.php:951
+msgid "Activity/Posts"
+msgstr "Kanaal-activiteit"
+
+#: ../../include/conversation.php:953
+msgid "Edit Connection"
+msgstr "Connectie bewerken"
+
+#: ../../include/conversation.php:954
+msgid "Send PM"
+msgstr "Privébericht verzenden"
+
+#: ../../include/conversation.php:955 ../../include/apps.php:145
+msgid "Poke"
+msgstr "Aanstoten"
+
+#: ../../include/conversation.php:1069
+#, php-format
+msgid "%s likes this."
+msgstr "%s vindt dit leuk."
+
+#: ../../include/conversation.php:1069
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s vindt dit niet leuk."
+
+#: ../../include/conversation.php:1073
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit leuk."
+msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk."
+
+#: ../../include/conversation.php:1075
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit niet leuk."
+msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk."
+
+#: ../../include/conversation.php:1081
+msgid "and"
+msgstr "en"
+
+#: ../../include/conversation.php:1084
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", en %d ander persoon"
+msgstr[1] ", en %d andere personen"
+
+#: ../../include/conversation.php:1085
+#, php-format
+msgid "%s like this."
+msgstr "%s vinden dit leuk."
+
+#: ../../include/conversation.php:1085
+#, php-format
+msgid "%s don't like this."
+msgstr "%s vinden dit niet leuk."
+
+#: ../../include/conversation.php:1153
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Voor <strong>iedereen</strong> zichtbaar"
+
+#: ../../include/conversation.php:1154 ../../mod/mail.php:194
+#: ../../mod/mail.php:308
+msgid "Please enter a link URL:"
+msgstr "Vul een internetadres/URL in:"
+
+#: ../../include/conversation.php:1155
+msgid "Please enter a video link/URL:"
+msgstr "Vul een videolink/URL in:"
+
+#: ../../include/conversation.php:1156
+msgid "Please enter an audio link/URL:"
+msgstr "Vul een audiolink/URL in:"
+
+#: ../../include/conversation.php:1157
+msgid "Tag term:"
+msgstr "Tag:"
+
+#: ../../include/conversation.php:1158 ../../mod/filer.php:48
+msgid "Save to Folder:"
+msgstr "Bewaar in map: "
+
+#: ../../include/conversation.php:1159
+msgid "Where are you right now?"
+msgstr "Waar bevind je je op dit moment?"
+
+#: ../../include/conversation.php:1160 ../../mod/editpost.php:56
+#: ../../mod/mail.php:195 ../../mod/mail.php:309
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Verloopt op DD-MM-YYYY om HH:MM"
+
+#: ../../include/conversation.php:1168 ../../include/page_widgets.php:40
+#: ../../include/ItemObject.php:692 ../../mod/photos.php:1049
+#: ../../mod/editblock.php:171 ../../mod/editpost.php:149
+#: ../../mod/events.php:707 ../../mod/webpages.php:188
+#: ../../mod/editwebpage.php:212
+msgid "Preview"
+msgstr "Voorvertoning"
+
+#: ../../include/conversation.php:1191 ../../mod/layouts.php:184
+#: ../../mod/photos.php:1028 ../../mod/webpages.php:182
+#: ../../mod/blocks.php:154
+msgid "Share"
+msgstr "Delen"
+
+#: ../../include/conversation.php:1193
+msgid "Page link name"
+msgstr "Linknaam pagina"
+
+#: ../../include/conversation.php:1196
+msgid "Post as"
+msgstr "Bericht plaatsen als"
+
+#: ../../include/conversation.php:1198 ../../include/ItemObject.php:684
+#: ../../mod/editblock.php:136 ../../mod/editpost.php:113
+#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177
+msgid "Bold"
+msgstr "Vet"
+
+#: ../../include/conversation.php:1199 ../../include/ItemObject.php:685
+#: ../../mod/editblock.php:137 ../../mod/editpost.php:114
+#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178
+msgid "Italic"
+msgstr "Cursief"
+
+#: ../../include/conversation.php:1200 ../../include/ItemObject.php:686
+#: ../../mod/editblock.php:138 ../../mod/editpost.php:115
+#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179
+msgid "Underline"
+msgstr "Onderstrepen"
+
+#: ../../include/conversation.php:1201 ../../include/ItemObject.php:687
+#: ../../mod/editblock.php:139 ../../mod/editpost.php:116
+#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180
+msgid "Quote"
+msgstr "Citeren"
+
+#: ../../include/conversation.php:1202 ../../include/ItemObject.php:688
+#: ../../mod/editblock.php:140 ../../mod/editpost.php:117
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181
+msgid "Code"
+msgstr "Broncode"
+
+#: ../../include/conversation.php:1203 ../../mod/editblock.php:142
+#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140
+#: ../../mod/editwebpage.php:182
+msgid "Upload photo"
+msgstr "Foto uploaden"
+
+#: ../../include/conversation.php:1204
+msgid "upload photo"
+msgstr "foto uploaden"
+
+#: ../../include/conversation.php:1205 ../../mod/editblock.php:143
+#: ../../mod/editpost.php:119 ../../mod/mail.php:240 ../../mod/mail.php:369
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:183
+msgid "Attach file"
+msgstr "Bestand toevoegen"
+
+#: ../../include/conversation.php:1206
+msgid "attach file"
+msgstr "bestand toevoegen"
+
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:144
+#: ../../mod/editpost.php:120 ../../mod/mail.php:241 ../../mod/mail.php:370
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:184
+msgid "Insert web link"
+msgstr "Weblink invoegen"
+
+#: ../../include/conversation.php:1208
+msgid "web link"
+msgstr "Weblink"
+
+#: ../../include/conversation.php:1209
+msgid "Insert video link"
+msgstr "Videolink invoegen"
+
+#: ../../include/conversation.php:1210
+msgid "video link"
+msgstr "videolink"
+
+#: ../../include/conversation.php:1211
+msgid "Insert audio link"
+msgstr "Audiolink invoegen"
+
+#: ../../include/conversation.php:1212
+msgid "audio link"
+msgstr "audiolink"
+
+#: ../../include/conversation.php:1213 ../../mod/editblock.php:148
+#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:188
+msgid "Set your location"
+msgstr "Locatie instellen"
+
+#: ../../include/conversation.php:1214
+msgid "set location"
+msgstr "locatie instellen"
+
+#: ../../include/conversation.php:1215 ../../mod/editpost.php:126
+msgid "Toggle voting"
+msgstr "Peiling in- of uitschakelen"
+
+#: ../../include/conversation.php:1218 ../../mod/editblock.php:149
+#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:189
+msgid "Clear browser location"
+msgstr "Locatie van webbrowser wissen"
+
+#: ../../include/conversation.php:1219
+msgid "clear location"
+msgstr "locatie wissen"
+
+#: ../../include/conversation.php:1221 ../../mod/editblock.php:162
+#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
+msgid "Title (optional)"
+msgstr "Titel (optioneel)"
+
+#: ../../include/conversation.php:1225 ../../mod/editblock.php:165
+#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:207
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
+
+#: ../../include/conversation.php:1227 ../../mod/editblock.php:151
+#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:191
+msgid "Permission settings"
+msgstr "Permissies"
+
+#: ../../include/conversation.php:1228
+msgid "permissions"
+msgstr "permissies"
+
+#: ../../include/conversation.php:1236 ../../mod/editblock.php:159
+#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:200
+msgid "Public post"
+msgstr "Openbaar bericht"
+
+#: ../../include/conversation.php:1238 ../../mod/editblock.php:166
+#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164
+#: ../../mod/editwebpage.php:208
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be"
+
+#: ../../include/conversation.php:1251 ../../mod/editblock.php:176
+#: ../../mod/editpost.php:155 ../../mod/mail.php:245 ../../mod/mail.php:374
+#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:217
+msgid "Set expiration date"
+msgstr "Verloopdatum instellen"
+
+#: ../../include/conversation.php:1254
+msgid "Set publish date"
+msgstr "Publicatiedatum instellen"
+
+#: ../../include/conversation.php:1256 ../../include/ItemObject.php:695
+#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:376
+msgid "Encrypt text"
+msgstr "Tekst versleutelen"
+
+#: ../../include/conversation.php:1258 ../../mod/editpost.php:159
+#: ../../mod/events.php:691
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1259 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
+#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/settings.php:585 ../../mod/settings.php:611
+msgid "Cancel"
+msgstr "Annuleren"
+
+#: ../../include/conversation.php:1502
+msgid "Discover"
+msgstr "Ontdekken"
+
+#: ../../include/conversation.php:1505
+msgid "Imported public streams"
+msgstr "Openbare streams importeren"
+
+#: ../../include/conversation.php:1510
+msgid "Commented Order"
+msgstr "Nieuwe reacties bovenaan"
+
+#: ../../include/conversation.php:1513
+msgid "Sort by Comment Date"
+msgstr "Berichten met nieuwe reacties bovenaan"
+
+#: ../../include/conversation.php:1517
+msgid "Posted Order"
+msgstr "Nieuwe berichten bovenaan"
+
+#: ../../include/conversation.php:1520
+msgid "Sort by Post Date"
+msgstr "Nieuwe berichten bovenaan"
+
+#: ../../include/conversation.php:1525 ../../include/widgets.php:95
+msgid "Personal"
+msgstr "Persoonlijk"
+
+#: ../../include/conversation.php:1528
+msgid "Posts that mention or involve you"
+msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
+
+#: ../../include/conversation.php:1534 ../../mod/menu.php:112
+#: ../../mod/connections.php:72 ../../mod/connections.php:82
+msgid "New"
+msgstr "Nieuw"
+
+#: ../../include/conversation.php:1537
+msgid "Activity Stream - by date"
+msgstr "Activiteitenstroom - volgens datum"
+
+#: ../../include/conversation.php:1543
+msgid "Starred"
+msgstr "Met ster"
+
+#: ../../include/conversation.php:1546
+msgid "Favourite Posts"
+msgstr "Favoriete berichten"
+
+#: ../../include/conversation.php:1553
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1556
+msgid "Posts flagged as SPAM"
+msgstr "Berichten gemarkeerd als SPAM"
+
+#: ../../include/conversation.php:1600 ../../mod/admin.php:973
+msgid "Channel"
+msgstr "Kanaal"
+
+#: ../../include/conversation.php:1603
+msgid "Status Messages and Posts"
+msgstr "Berichten in dit kanaal"
-#: ../../include/network.php:635
+#: ../../include/conversation.php:1612
+msgid "About"
+msgstr "Over"
+
+#: ../../include/conversation.php:1615
+msgid "Profile Details"
+msgstr "Profiel"
+
+#: ../../include/conversation.php:1621 ../../include/apps.php:139
+#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Foto's"
+
+#: ../../include/conversation.php:1624 ../../include/photos.php:483
+msgid "Photo Albums"
+msgstr "Fotoalbums"
+
+#: ../../include/conversation.php:1631
+msgid "Files and Storage"
+msgstr "Bestanden en opslagruimte"
+
+#: ../../include/conversation.php:1641 ../../include/conversation.php:1644
+msgid "Chatrooms"
+msgstr "Chatkanalen"
+
+#: ../../include/conversation.php:1654 ../../include/apps.php:129
+#: ../../include/nav.php:103
+msgid "Bookmarks"
+msgstr "Bladwijzers"
+
+#: ../../include/conversation.php:1657
+msgid "Saved Bookmarks"
+msgstr "Opgeslagen bladwijzers"
+
+#: ../../include/conversation.php:1664 ../../include/apps.php:136
+#: ../../include/nav.php:107 ../../mod/webpages.php:178
+msgid "Webpages"
+msgstr "Webpagina's"
+
+#: ../../include/conversation.php:1667
+msgid "Manage Webpages"
+msgstr "Webpagina's beheren"
+
+#: ../../include/conversation.php:1696 ../../include/ItemObject.php:175
+#: ../../include/ItemObject.php:187 ../../mod/photos.php:1082
+#: ../../mod/photos.php:1094
+msgid "View all"
+msgstr "Toon alles"
+
+#: ../../include/conversation.php:1720 ../../include/ItemObject.php:179
+#: ../../include/identity.php:1263 ../../include/taxonomy.php:412
+#: ../../mod/photos.php:1086
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "vindt dit leuk"
+msgstr[1] "vinden dit leuk"
+
+#: ../../include/conversation.php:1723 ../../include/ItemObject.php:184
+#: ../../mod/photos.php:1091
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "vindt dit niet leuk"
+msgstr[1] "vinden dit niet leuk"
+
+#: ../../include/conversation.php:1726
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "aanwezig"
+msgstr[1] "aanwezig"
+
+#: ../../include/conversation.php:1729
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "niet aanwezig"
+msgstr[1] "niet aanwezig"
+
+#: ../../include/conversation.php:1732
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "nog niet beslist"
+msgstr[1] "nog niet beslist"
+
+#: ../../include/conversation.php:1735
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "eens"
+msgstr[1] "eens"
+
+#: ../../include/conversation.php:1738
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "oneens"
+msgstr[1] "oneens"
+
+#: ../../include/conversation.php:1741
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "onthouding"
+msgstr[1] "onthoudingen"
+
+#: ../../include/network.php:613
msgid "view full size"
msgstr "volledige grootte tonen"
-#: ../../include/network.php:1613 ../../include/enotify.php:57
+#: ../../include/network.php:1591 ../../include/enotify.php:57
msgid "$Projectname Notification"
msgstr "$Projectname-notificatie"
-#: ../../include/network.php:1614 ../../include/enotify.php:58
+#: ../../include/network.php:1592 ../../include/enotify.php:58
msgid "$projectname"
msgstr "$projectname"
-#: ../../include/network.php:1616 ../../include/enotify.php:60
+#: ../../include/network.php:1594 ../../include/enotify.php:60
msgid "Thank You,"
msgstr "Bedankt,"
-#: ../../include/network.php:1618 ../../include/enotify.php:62
+#: ../../include/network.php:1596 ../../include/enotify.php:62
#, php-format
msgid "%s Administrator"
msgstr "Beheerder %s"
-#: ../../include/network.php:1660 ../../include/account.php:316
+#: ../../include/network.php:1638 ../../include/account.php:316
#: ../../include/account.php:343 ../../include/account.php:403
msgid "Administrator"
msgstr "Beheerder"
-#: ../../include/network.php:1674
+#: ../../include/network.php:1652
msgid "No Subject"
msgstr "Geen onderwerp"
@@ -1286,42 +1932,33 @@ msgstr "Geen onderwerp"
msgid "%1$s's bookmarks"
msgstr "Bladwijzers van %1$s"
-#: ../../include/acl_selectors.php:239
+#: ../../include/acl_selectors.php:240
msgid "Visible to your default audience"
msgstr "Voor iedereen zichtbaar, mits niet anders ingesteld"
-#: ../../include/acl_selectors.php:240
+#: ../../include/acl_selectors.php:241
msgid "Show"
msgstr "Tonen"
-#: ../../include/acl_selectors.php:241
+#: ../../include/acl_selectors.php:242
msgid "Don't show"
msgstr "Niet tonen"
-#: ../../include/acl_selectors.php:247 ../../mod/filestorage.php:147
+#: ../../include/acl_selectors.php:247
+msgid "Other networks and post services"
+msgstr "Andere netwerken en diensten"
+
+#: ../../include/acl_selectors.php:249 ../../mod/filestorage.php:147
#: ../../mod/chat.php:211 ../../mod/photos.php:631 ../../mod/photos.php:1001
#: ../../mod/events.php:708 ../../mod/thing.php:310 ../../mod/thing.php:356
msgid "Permissions"
msgstr "Permissies"
-#: ../../include/acl_selectors.php:248 ../../include/ItemObject.php:369
+#: ../../include/acl_selectors.php:250 ../../include/ItemObject.php:370
#: ../../mod/photos.php:1218
msgid "Close"
msgstr "Sluiten"
-#: ../../include/import.php:23
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
-
-#: ../../include/import.php:70
-msgid "Channel clone failed. Import failed."
-msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
-
-#: ../../include/import.php:80 ../../mod/import.php:138
-msgid "Cloned channel not found. Import failed."
-msgstr "Gekloond kanaal niet gevonden. Importeren mislukt."
-
#: ../../include/photos.php:112
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
@@ -1339,10 +1976,6 @@ msgstr "Afbeelding kan niet verwerkt worden"
msgid "Photo storage failed."
msgstr "Foto kan niet worden opgeslagen"
-#: ../../include/photos.php:483 ../../include/conversation.php:1616
-msgid "Photo Albums"
-msgstr "Fotoalbums"
-
#: ../../include/photos.php:487
msgid "Upload New Photos"
msgstr "Nieuwe foto's uploaden"
@@ -1365,14 +1998,6 @@ msgstr "Nieuwe pagina"
msgid "View"
msgstr "Weergeven"
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:691
-#: ../../include/conversation.php:1160 ../../mod/photos.php:1049
-#: ../../mod/editblock.php:171 ../../mod/editpost.php:149
-#: ../../mod/events.php:707 ../../mod/webpages.php:188
-#: ../../mod/editwebpage.php:212
-msgid "Preview"
-msgstr "Voorvertoning"
-
#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
msgid "Actions"
msgstr "Acties"
@@ -1395,7 +2020,7 @@ msgstr "Aangemaakt"
msgid "Edited"
msgstr "Bewerkt"
-#: ../../include/photo/photo_driver.php:708 ../../mod/photos.php:94
+#: ../../include/photo/photo_driver.php:719 ../../mod/photos.php:94
#: ../../mod/photos.php:699 ../../mod/profile_photo.php:146
#: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:376
msgid "Profile Photos"
@@ -1547,12 +2172,12 @@ msgstr "Ontrouw"
msgid "Sex Addict"
msgstr "Seksverslaafd"
-#: ../../include/profile_selectors.php:80 ../../include/identity.php:390
-#: ../../include/identity.php:391 ../../include/identity.php:398
-#: ../../include/widgets.php:429 ../../mod/connedit.php:568
-#: ../../mod/settings.php:337 ../../mod/settings.php:341
-#: ../../mod/settings.php:342 ../../mod/settings.php:345
-#: ../../mod/settings.php:356
+#: ../../include/profile_selectors.php:80 ../../include/widgets.php:430
+#: ../../include/identity.php:390 ../../include/identity.php:391
+#: ../../include/identity.php:398 ../../mod/connedit.php:573
+#: ../../mod/settings.php:338 ../../mod/settings.php:342
+#: ../../mod/settings.php:343 ../../mod/settings.php:346
+#: ../../mod/settings.php:357
msgid "Friends"
msgstr "Vrienden"
@@ -1654,20 +2279,20 @@ msgstr "Ingesloten inhoud"
msgid "Embedding disabled"
msgstr "Insluiten uitgeschakeld"
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:468
+#: ../../include/event.php:22 ../../include/bb2diaspora.php:471
msgid "l F d, Y \\@ g:i A"
msgstr "l d F Y \\@ G:i"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:474
+#: ../../include/event.php:30 ../../include/bb2diaspora.php:477
msgid "Starts:"
msgstr "Start:"
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:482
+#: ../../include/event.php:40 ../../include/bb2diaspora.php:485
msgid "Finishes:"
msgstr "Einde:"
-#: ../../include/event.php:50 ../../include/identity.php:1016
-#: ../../include/bb2diaspora.php:490 ../../mod/directory.php:302
+#: ../../include/event.php:50 ../../include/identity.php:1003
+#: ../../include/bb2diaspora.php:493 ../../mod/directory.php:304
#: ../../mod/events.php:701
msgid "Location:"
msgstr "Plaats:"
@@ -1676,12 +2301,6 @@ msgstr "Plaats:"
msgid "This event has been added to your calendar."
msgstr "Dit evenement is aan jouw agenda toegevoegd."
-#: ../../include/event.php:896 ../../include/text.php:1866
-#: ../../include/conversation.php:123 ../../mod/like.php:363
-#: ../../mod/tagger.php:47 ../../mod/events.php:245
-msgid "event"
-msgstr "gebeurtenis"
-
#: ../../include/event.php:953
msgid "Not specified"
msgstr "Niet aangegeven"
@@ -1706,16 +2325,11 @@ msgstr "Geannuleerd"
msgid "Site Admin"
msgstr "Hubbeheerder"
-#: ../../include/apps.php:129 ../../include/conversation.php:1646
-#: ../../include/nav.php:103
-msgid "Bookmarks"
-msgstr "Bladwijzers"
-
#: ../../include/apps.php:130
msgid "Address Book"
msgstr "Connecties"
-#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1503
+#: ../../include/apps.php:131 ../../include/nav.php:111 ../../boot.php:1486
msgid "Login"
msgstr "Inloggen"
@@ -1728,32 +2342,22 @@ msgstr "Kanaalbeheer"
msgid "Grid"
msgstr "Grid"
-#: ../../include/apps.php:134 ../../include/widgets.php:553
-#: ../../include/nav.php:202 ../../mod/admin.php:1033 ../../mod/admin.php:1233
+#: ../../include/apps.php:134 ../../include/widgets.php:554
+#: ../../include/nav.php:202 ../../mod/admin.php:1064 ../../mod/admin.php:1264
msgid "Settings"
msgstr "Instellingen"
-#: ../../include/apps.php:136 ../../include/conversation.php:1656
-#: ../../include/nav.php:107 ../../mod/webpages.php:178
-msgid "Webpages"
-msgstr "Webpagina's"
-
#: ../../include/apps.php:137 ../../include/nav.php:177
msgid "Channel Home"
msgstr "Tijdlijn kanaal"
-#: ../../include/apps.php:138 ../../include/identity.php:1250
-#: ../../include/identity.php:1367 ../../mod/profperm.php:112
+#: ../../include/apps.php:138 ../../include/identity.php:1237
+#: ../../include/identity.php:1354 ../../mod/profperm.php:112
msgid "Profile"
msgstr "Profiel"
-#: ../../include/apps.php:139 ../../include/conversation.php:1613
-#: ../../include/nav.php:92 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Foto's"
-
#: ../../include/apps.php:140 ../../include/nav.php:196
-#: ../../mod/events.php:526
+#: ../../mod/events.php:523
msgid "Events"
msgstr "Agenda"
@@ -1774,16 +2378,12 @@ msgstr "Privéberichten"
msgid "Mood"
msgstr "Stemming"
-#: ../../include/apps.php:145 ../../include/conversation.php:952
-msgid "Poke"
-msgstr "Aanstoten"
-
#: ../../include/apps.php:146 ../../include/nav.php:97
msgid "Chat"
msgstr "Chatten"
-#: ../../include/apps.php:147 ../../include/text.php:857
-#: ../../include/text.php:869 ../../include/nav.php:159
+#: ../../include/apps.php:147 ../../include/text.php:866
+#: ../../include/text.php:878 ../../include/nav.php:159
#: ../../mod/search.php:40
msgid "Search"
msgstr "Zoeken"
@@ -1822,7 +2422,7 @@ msgid "Profile Photo"
msgstr "Profielfoto"
#: ../../include/apps.php:252 ../../mod/settings.php:84
-#: ../../mod/settings.php:609
+#: ../../mod/settings.php:610
msgid "Update"
msgstr "Bijwerken"
@@ -1834,79 +2434,22 @@ msgstr "Installeren"
msgid "Purchase"
msgstr "Aanschaffen"
-#: ../../include/attach.php:246 ../../include/attach.php:332
-msgid "Item was not found."
-msgstr "Item niet gevonden"
-
-#: ../../include/attach.php:496
-msgid "No source file."
-msgstr "Geen bronbestand."
-
-#: ../../include/attach.php:514
-msgid "Cannot locate file to replace"
-msgstr "Kan het te vervangen bestand niet vinden"
-
-#: ../../include/attach.php:532
-msgid "Cannot locate file to revise/update"
-msgstr "Kan het bestand wat aangepast moet worden niet vinden"
-
-#: ../../include/attach.php:667
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Bestand is groter dan de toegelaten %d"
-
-#: ../../include/attach.php:681
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."
-
-#: ../../include/attach.php:837
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."
-
-#: ../../include/attach.php:850
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
-
-#: ../../include/attach.php:898 ../../include/attach.php:914
-msgid "Path not available."
-msgstr "Pad niet beschikbaar."
-
-#: ../../include/attach.php:960 ../../include/attach.php:1112
-msgid "Empty pathname"
-msgstr "Padnaam leeg"
-
-#: ../../include/attach.php:986
-msgid "duplicate filename or path"
-msgstr "dubbele bestandsnaam of pad"
-
-#: ../../include/attach.php:1008
-msgid "Path not found."
-msgstr "Pad niet gevonden"
-
-#: ../../include/attach.php:1066
-msgid "mkdir failed."
-msgstr "directory aanmaken (mkdir) mislukt."
-
-#: ../../include/attach.php:1070
-msgid "database storage failed."
-msgstr "opslag in database mislukt."
-
-#: ../../include/attach.php:1118
-msgid "Empty path"
-msgstr "Ontbrekend bestandspad"
+#: ../../include/api.php:1302
+msgid "Public Timeline"
+msgstr "Openbare tijdlijn"
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Uitgelogd."
+#: ../../include/import.php:23
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Mislukte authenticatie"
+#: ../../include/import.php:70
+msgid "Channel clone failed. Import failed."
+msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
-#: ../../include/auth.php:286 ../../mod/openid.php:189
-msgid "Login failed."
-msgstr "Inloggen mislukt."
+#: ../../include/import.php:80 ../../mod/import.php:139
+msgid "Cloned channel not found. Import failed."
+msgstr "Gekloond kanaal niet gevonden. Importeren mislukt."
#: ../../include/enotify.php:96
#, php-format
@@ -1937,164 +2480,156 @@ msgstr "een privébericht"
msgid "Please visit %s to view and/or reply to your private messages."
msgstr "Bezoek %s om je privéberichten te bekijken en/of er op te reageren."
-#: ../../include/enotify.php:158
+#: ../../include/enotify.php:160
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %4$s[/zrl]"
-#: ../../include/enotify.php:166
+#: ../../include/enotify.php:168
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %5$s van %4$s[/zrl]"
-#: ../../include/enotify.php:175
+#: ../../include/enotify.php:177
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]jouw %4$s[/zrl]"
-#: ../../include/enotify.php:186
+#: ../../include/enotify.php:188
#, php-format
msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
msgstr "[Hubzilla:Notificatie] Reactie op conversatie #%1$d door %2$s"
-#: ../../include/enotify.php:187
+#: ../../include/enotify.php:189
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr "%1$s, %2$s gaf een reactie op een bericht/conversatie die jij volgt."
-#: ../../include/enotify.php:190 ../../include/enotify.php:205
-#: ../../include/enotify.php:231 ../../include/enotify.php:249
-#: ../../include/enotify.php:263
+#: ../../include/enotify.php:192 ../../include/enotify.php:207
+#: ../../include/enotify.php:233 ../../include/enotify.php:251
+#: ../../include/enotify.php:265
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr "Bezoek %s om de conversatie te bekijken en/of er op te reageren."
-#: ../../include/enotify.php:196
+#: ../../include/enotify.php:198
#, php-format
msgid "[Hubzilla:Notify] %s posted to your profile wall"
msgstr "[Hubzilla:Notificatie] %s heeft een bericht op jouw kanaal geplaatst"
-#: ../../include/enotify.php:198
+#: ../../include/enotify.php:200
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr "%1$s, %2$s heeft om %3$s een bericht op jouw kanaal geplaatst"
-#: ../../include/enotify.php:200
+#: ../../include/enotify.php:202
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr "%1$s, %2$s heeft een bericht op [zrl=%3$s]jouw kanaal[/zrl] geplaatst"
-#: ../../include/enotify.php:224
+#: ../../include/enotify.php:226
#, php-format
msgid "[Hubzilla:Notify] %s tagged you"
msgstr "[Hubzilla:Notificatie] %s heeft je genoemd"
-#: ../../include/enotify.php:225
+#: ../../include/enotify.php:227
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr "%1$s, %2$s noemde jou op %3$s"
-#: ../../include/enotify.php:226
+#: ../../include/enotify.php:228
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr "%1$s, %2$s [zrl=%3$s]noemde jou[/zrl]."
-#: ../../include/enotify.php:238
+#: ../../include/enotify.php:240
#, php-format
msgid "[Hubzilla:Notify] %1$s poked you"
msgstr "[Hubzilla:Notificatie] %1$s heeft je aangestoten"
-#: ../../include/enotify.php:239
+#: ../../include/enotify.php:241
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr "%1$s, %2$s heeft je aangestoten op %3$s"
-#: ../../include/enotify.php:240
+#: ../../include/enotify.php:242
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr "%1$s, %2$s [zrl=%2$s]heeft je aangestoten[/zrl]."
-#: ../../include/enotify.php:256
+#: ../../include/enotify.php:258
#, php-format
msgid "[Hubzilla:Notify] %s tagged your post"
msgstr "[Hubzilla:Notificatie] %s heeft jouw bericht getagd"
-#: ../../include/enotify.php:257
+#: ../../include/enotify.php:259
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr "%1$s, %2$s heeft jouw bericht om %3$s getagd"
-#: ../../include/enotify.php:258
+#: ../../include/enotify.php:260
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr "%1$s, %2$s heeft [zrl=%3$s]jouw bericht[/zrl] getagd"
-#: ../../include/enotify.php:270
+#: ../../include/enotify.php:272
msgid "[Hubzilla:Notify] Introduction received"
msgstr "[Hubzilla:Notificatie] Connectieverzoek ontvangen"
-#: ../../include/enotify.php:271
+#: ../../include/enotify.php:273
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr "%1$s, je hebt een nieuw connectieverzoek ontvangen van '%2$s' op %3$s"
-#: ../../include/enotify.php:272
+#: ../../include/enotify.php:274
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr "%1$s, je hebt een [zrl=%2$s]nieuw connectieverzoek[/zrl] ontvangen van %3$s."
-#: ../../include/enotify.php:276 ../../include/enotify.php:295
+#: ../../include/enotify.php:278 ../../include/enotify.php:297
#, php-format
msgid "You may visit their profile at %s"
msgstr "Je kan het profiel bekijken op %s"
-#: ../../include/enotify.php:278
+#: ../../include/enotify.php:280
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr "Bezoek %s om het connectieverzoek te accepteren of af te wijzen."
-#: ../../include/enotify.php:285
+#: ../../include/enotify.php:287
msgid "[Hubzilla:Notify] Friend suggestion received"
msgstr "[Hubzilla:Notificatie] Kanaalvoorstel ontvangen"
-#: ../../include/enotify.php:286
+#: ../../include/enotify.php:288
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr "%1$s, je hebt een kanaalvoorstel ontvangen van '%2$s' om %3$s"
-#: ../../include/enotify.php:287
+#: ../../include/enotify.php:289
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
"%4$s."
msgstr "%1$s, je hebt [zrl=%2$s]een kanaalvoorstel[/zrl] ontvangen voor %3$s van %4$s."
-#: ../../include/enotify.php:293
+#: ../../include/enotify.php:295
msgid "Name:"
msgstr "Naam:"
-#: ../../include/enotify.php:294
+#: ../../include/enotify.php:296
msgid "Photo:"
msgstr "Foto:"
-#: ../../include/enotify.php:297
+#: ../../include/enotify.php:299
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Bezoek %s om het voorstel te accepteren of af te wijzen."
-#: ../../include/enotify.php:511
+#: ../../include/enotify.php:514
msgid "[Hubzilla:Notify]"
msgstr "[Hubzilla:Notificatie]"
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr "Privébericht"
-
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:656
-msgid "Select"
-msgstr "Kies"
-
#: ../../include/ItemObject.php:130
msgid "Save to Folder"
msgstr "In map opslaan"
@@ -2123,29 +2658,6 @@ msgstr "Oneens"
msgid "I abstain"
msgstr "Onthouding"
-#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1688 ../../mod/photos.php:1082
-#: ../../mod/photos.php:1094
-msgid "View all"
-msgstr "Toon alles"
-
-#: ../../include/ItemObject.php:179 ../../include/identity.php:1276
-#: ../../include/taxonomy.php:403 ../../include/conversation.php:1712
-#: ../../mod/photos.php:1086
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "vindt dit leuk"
-msgstr[1] "vinden dit leuk"
-
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1715
-#: ../../mod/photos.php:1091
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "vindt dit niet leuk"
-msgstr[1] "vinden dit niet leuk"
-
#: ../../include/ItemObject.php:212
msgid "Add Star"
msgstr "Ster toevoegen"
@@ -2162,14 +2674,6 @@ msgstr "Ster toevoegen of verwijderen"
msgid "starred"
msgstr "met ster"
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr "Berichtkenmerk gevalideerd"
-
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr "Berichtkenmerk onjuist"
-
#: ../../include/ItemObject.php:236
msgid "Add Tag"
msgstr "Tag toevoegen"
@@ -2178,7 +2682,7 @@ msgstr "Tag toevoegen"
msgid "I like this (toggle)"
msgstr "Vind ik leuk"
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:317
+#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:326
msgid "like"
msgstr "vind dit leuk"
@@ -2186,7 +2690,7 @@ msgstr "vind dit leuk"
msgid "I don't like this (toggle)"
msgstr "Vind ik niet leuk"
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:318
+#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:327
msgid "dislike"
msgstr "vind dit niet leuk"
@@ -2198,416 +2702,117 @@ msgstr "Delen"
msgid "share"
msgstr "delen"
-#: ../../include/ItemObject.php:276
+#: ../../include/ItemObject.php:277
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d reactie"
msgstr[1] "%d reacties weergeven"
-#: ../../include/ItemObject.php:301 ../../include/ItemObject.php:302
+#: ../../include/ItemObject.php:302 ../../include/ItemObject.php:303
#, php-format
msgid "View %s's profile - %s"
msgstr "Profiel van %s bekijken - %s"
-#: ../../include/ItemObject.php:305
+#: ../../include/ItemObject.php:306
msgid "to"
msgstr "aan"
-#: ../../include/ItemObject.php:306
+#: ../../include/ItemObject.php:307
msgid "via"
msgstr "via"
-#: ../../include/ItemObject.php:307
+#: ../../include/ItemObject.php:308
msgid "Wall-to-Wall"
msgstr "Kanaal-naar-kanaal"
-#: ../../include/ItemObject.php:308
+#: ../../include/ItemObject.php:309
msgid "via Wall-To-Wall:"
msgstr "via kanaal-naar-kanaal"
-#: ../../include/ItemObject.php:311
+#: ../../include/ItemObject.php:312
msgid "Delivery Report"
msgstr "Afleveringsrapport"
-#: ../../include/ItemObject.php:320 ../../include/conversation.php:718
-#, php-format
-msgid "from %s"
-msgstr "van %s"
-
-#: ../../include/ItemObject.php:323 ../../include/conversation.php:721
-#, php-format
-msgid "last edited: %s"
-msgstr "laatst bewerkt: %s"
-
-#: ../../include/ItemObject.php:324 ../../include/conversation.php:722
-#, php-format
-msgid "Expires: %s"
-msgstr "Verloopt: %s"
-
-#: ../../include/ItemObject.php:347
+#: ../../include/ItemObject.php:348
msgid "Save Bookmarks"
msgstr "Bladwijzers opslaan"
-#: ../../include/ItemObject.php:348
+#: ../../include/ItemObject.php:349
msgid "Add to Calendar"
msgstr "Aan agenda toevoegen"
-#: ../../include/ItemObject.php:357
+#: ../../include/ItemObject.php:358
msgid "Mark all seen"
msgstr "Markeer alles als bekeken"
-#: ../../include/ItemObject.php:363 ../../mod/photos.php:1212
+#: ../../include/ItemObject.php:364 ../../mod/photos.php:1212
msgctxt "noun"
msgid "Likes"
msgstr "vinden dit leuk"
-#: ../../include/ItemObject.php:364 ../../mod/photos.php:1213
+#: ../../include/ItemObject.php:365 ../../mod/photos.php:1213
msgctxt "noun"
msgid "Dislikes"
msgstr "vinden dit niet leuk"
-#: ../../include/ItemObject.php:374 ../../include/conversation.php:739
-#: ../../include/conversation.php:1218 ../../mod/photos.php:1029
-#: ../../mod/editblock.php:150 ../../mod/editpost.php:129
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:190
-msgid "Please wait"
-msgstr "Even wachten"
-
-#: ../../include/ItemObject.php:679 ../../mod/photos.php:1045
+#: ../../include/ItemObject.php:680 ../../mod/photos.php:1045
#: ../../mod/photos.php:1163
msgid "This is you"
msgstr "Dit ben jij"
-#: ../../include/ItemObject.php:683 ../../include/conversation.php:1190
-#: ../../mod/editblock.php:136 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:135 ../../mod/editwebpage.php:177
-msgid "Bold"
-msgstr "Vet"
-
-#: ../../include/ItemObject.php:684 ../../include/conversation.php:1191
-#: ../../mod/editblock.php:137 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:136 ../../mod/editwebpage.php:178
-msgid "Italic"
-msgstr "Cursief"
-
-#: ../../include/ItemObject.php:685 ../../include/conversation.php:1192
-#: ../../mod/editblock.php:138 ../../mod/editpost.php:115
-#: ../../mod/editlayout.php:137 ../../mod/editwebpage.php:179
-msgid "Underline"
-msgstr "Onderstrepen"
-
-#: ../../include/ItemObject.php:686 ../../include/conversation.php:1193
-#: ../../mod/editblock.php:139 ../../mod/editpost.php:116
-#: ../../mod/editlayout.php:138 ../../mod/editwebpage.php:180
-msgid "Quote"
-msgstr "Citeren"
-
-#: ../../include/ItemObject.php:687 ../../include/conversation.php:1194
-#: ../../mod/editblock.php:140 ../../mod/editpost.php:117
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:181
-msgid "Code"
-msgstr "Broncode"
-
-#: ../../include/ItemObject.php:688
+#: ../../include/ItemObject.php:689
msgid "Image"
msgstr "Afbeelding"
-#: ../../include/ItemObject.php:689
+#: ../../include/ItemObject.php:690
msgid "Insert Link"
msgstr "Link invoegen"
-#: ../../include/ItemObject.php:690
+#: ../../include/ItemObject.php:691
msgid "Video"
msgstr "Video"
-#: ../../include/ItemObject.php:694 ../../include/conversation.php:1248
-#: ../../mod/mail.php:247 ../../mod/mail.php:376 ../../mod/editpost.php:157
-msgid "Encrypt text"
-msgstr "Tekst versleutelen"
-
-#: ../../include/text.php:391
-msgid "prev"
-msgstr "vorige"
-
-#: ../../include/text.php:393
-msgid "first"
-msgstr "eerste"
-
-#: ../../include/text.php:422
-msgid "last"
-msgstr "laatste"
-
-#: ../../include/text.php:425
-msgid "next"
-msgstr "volgende"
-
-#: ../../include/text.php:435
-msgid "older"
-msgstr "ouder"
-
-#: ../../include/text.php:437
-msgid "newer"
-msgstr "nieuwer"
+#: ../../include/zot.php:685
+msgid "Invalid data packet"
+msgstr "Datapakket ongeldig"
-#: ../../include/text.php:775
-msgid "No connections"
-msgstr "Geen connecties"
+#: ../../include/zot.php:701
+msgid "Unable to verify channel signature"
+msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
-#: ../../include/text.php:787
+#: ../../include/zot.php:2265
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d connectie"
-msgstr[1] "%d connecties"
-
-#: ../../include/text.php:800 ../../mod/viewconnections.php:101
-msgid "View Connections"
-msgstr "Connecties weergeven"
-
-#: ../../include/text.php:858 ../../include/text.php:870
-#: ../../include/widgets.php:191 ../../mod/filer.php:49
-#: ../../mod/admin.php:1411 ../../mod/admin.php:1431 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98
-msgid "Save"
-msgstr "Opslaan"
-
-#: ../../include/text.php:942
-msgid "poke"
-msgstr "aanstoten"
-
-#: ../../include/text.php:942 ../../include/conversation.php:243
-msgid "poked"
-msgstr "aangestoten"
-
-#: ../../include/text.php:943
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:943
-msgid "pinged"
-msgstr "gepingd"
-
-#: ../../include/text.php:944
-msgid "prod"
-msgstr "por"
-
-#: ../../include/text.php:944
-msgid "prodded"
-msgstr "gepord"
-
-#: ../../include/text.php:945
-msgid "slap"
-msgstr "slaan"
-
-#: ../../include/text.php:945
-msgid "slapped"
-msgstr "sloeg"
-
-#: ../../include/text.php:946
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:946
-msgid "fingered"
-msgstr "gefingerd"
-
-#: ../../include/text.php:947
-msgid "rebuff"
-msgstr "afpoeieren"
-
-#: ../../include/text.php:947
-msgid "rebuffed"
-msgstr "afgepoeierd"
-
-#: ../../include/text.php:957
-msgid "happy"
-msgstr "gelukkig"
-
-#: ../../include/text.php:958
-msgid "sad"
-msgstr "bedroefd"
-
-#: ../../include/text.php:959
-msgid "mellow"
-msgstr "mellow"
-
-#: ../../include/text.php:960
-msgid "tired"
-msgstr "moe"
-
-#: ../../include/text.php:961
-msgid "perky"
-msgstr "parmantig"
-
-#: ../../include/text.php:962
-msgid "angry"
-msgstr "boos"
-
-#: ../../include/text.php:963
-msgid "stupified"
-msgstr "beteuterd"
-
-#: ../../include/text.php:964
-msgid "puzzled"
-msgstr "verward"
-
-#: ../../include/text.php:965
-msgid "interested"
-msgstr "geïnteresseerd"
-
-#: ../../include/text.php:966
-msgid "bitter"
-msgstr "verbitterd"
-
-#: ../../include/text.php:967
-msgid "cheerful"
-msgstr "vrolijk"
-
-#: ../../include/text.php:968
-msgid "alive"
-msgstr "levendig"
-
-#: ../../include/text.php:969
-msgid "annoyed"
-msgstr "geërgerd"
-
-#: ../../include/text.php:970
-msgid "anxious"
-msgstr "bezorgd"
-
-#: ../../include/text.php:971
-msgid "cranky"
-msgstr "humeurig"
-
-#: ../../include/text.php:972
-msgid "disturbed"
-msgstr "verontrust"
-
-#: ../../include/text.php:973
-msgid "frustrated"
-msgstr "gefrustreerd "
-
-#: ../../include/text.php:974
-msgid "depressed"
-msgstr "gedeprimeerd"
-
-#: ../../include/text.php:975
-msgid "motivated"
-msgstr "gemotiveerd"
-
-#: ../../include/text.php:976
-msgid "relaxed"
-msgstr "ontspannen"
-
-#: ../../include/text.php:977
-msgid "surprised"
-msgstr "verrast"
-
-#: ../../include/text.php:1153
-msgid "May"
-msgstr "mei"
-
-#: ../../include/text.php:1230 ../../include/text.php:1234
-msgid "Unknown Attachment"
-msgstr "Onbekende bijlage"
-
-#: ../../include/text.php:1236
-msgid "Attachment"
-msgstr "Bijlage"
-
-#: ../../include/text.php:1236
-msgid "Size Unknown"
-msgstr "Onbekende grootte"
-
-#: ../../include/text.php:1272
-msgid "remove category"
-msgstr "categorie verwijderen"
-
-#: ../../include/text.php:1349
-msgid "remove from file"
-msgstr "uit map verwijderen"
-
-#: ../../include/text.php:1461 ../../include/text.php:1472
-msgid "Click to open/close"
-msgstr "Klik om te openen of te sluiten"
-
-#: ../../include/text.php:1640 ../../mod/events.php:497
-msgid "Link to Source"
-msgstr "Originele locatie"
-
-#: ../../include/text.php:1661 ../../include/text.php:1732
-msgid "default"
-msgstr "standaard"
-
-#: ../../include/text.php:1669
-msgid "Page layout"
-msgstr "Pagina-lay-out"
-
-#: ../../include/text.php:1669
-msgid "You can create your own with the layouts tool"
-msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
-
-#: ../../include/text.php:1710
-msgid "Page content type"
-msgstr "Opmaaktype pagina"
-
-#: ../../include/text.php:1744
-msgid "Select an alternate language"
-msgstr "Kies een andere taal"
-
-#: ../../include/text.php:1863 ../../include/conversation.php:120
-#: ../../mod/like.php:361 ../../mod/tagger.php:43 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:172
-msgid "photo"
-msgstr "foto"
-
-#: ../../include/text.php:1869 ../../include/conversation.php:148
-#: ../../mod/like.php:361 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:172
-msgid "status"
-msgstr "bericht"
-
-#: ../../include/text.php:1871 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "reactie"
-
-#: ../../include/text.php:1876
-msgid "activity"
-msgstr "activiteit"
-
-#: ../../include/text.php:2171
-msgid "Design Tools"
-msgstr "Ontwerp-hulpmiddelen"
+msgid "Unable to verify site signature for %s"
+msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
-#: ../../include/text.php:2174 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Blokken"
+#: ../../include/zot.php:3592
+msgid "invalid target signature"
+msgstr "ongeldig doelkenmerk"
-#: ../../include/text.php:2175 ../../mod/menu.php:103
-msgid "Menus"
-msgstr "Menu's"
+#: ../../include/auth.php:132
+msgid "Logged out."
+msgstr "Uitgelogd."
-#: ../../include/text.php:2176 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Lay-outs"
+#: ../../include/auth.php:273
+msgid "Failed authentication"
+msgstr "Mislukte authenticatie"
-#: ../../include/text.php:2177
-msgid "Pages"
-msgstr "Pagina's"
+#: ../../include/auth.php:287 ../../mod/openid.php:189
+msgid "Login failed."
+msgstr "Inloggen mislukt."
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:793
-#: ../../include/bbcode.php:796 ../../include/bbcode.php:801
-#: ../../include/bbcode.php:804 ../../include/bbcode.php:807
-#: ../../include/bbcode.php:810 ../../include/bbcode.php:815
-#: ../../include/bbcode.php:818 ../../include/bbcode.php:823
-#: ../../include/bbcode.php:826 ../../include/bbcode.php:829
-#: ../../include/bbcode.php:832
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:794
+#: ../../include/bbcode.php:797 ../../include/bbcode.php:802
+#: ../../include/bbcode.php:805 ../../include/bbcode.php:808
+#: ../../include/bbcode.php:811 ../../include/bbcode.php:816
+#: ../../include/bbcode.php:819 ../../include/bbcode.php:824
+#: ../../include/bbcode.php:827 ../../include/bbcode.php:830
+#: ../../include/bbcode.php:833
msgid "Image/photo"
msgstr "Afbeelding/foto"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:843
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:844
msgid "Encrypted content"
msgstr "Versleutelde inhoud"
@@ -2652,11 +2857,11 @@ msgstr "bericht"
msgid "Different viewers will see this text differently"
msgstr "Deze tekst wordt per persoon anders weergeven."
-#: ../../include/bbcode.php:754
+#: ../../include/bbcode.php:755
msgid "$1 spoiler"
msgstr "$1 spoiler"
-#: ../../include/bbcode.php:781
+#: ../../include/bbcode.php:782
msgid "$1 wrote:"
msgstr "$1 schreef:"
@@ -2777,7 +2982,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d uitnodiging beschikbaar"
msgstr[1] "%d uitnodigingen beschikbaar"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:415
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:439
msgid "Advanced"
msgstr "Geavanceerd"
@@ -2797,12 +3002,12 @@ msgstr "Verbinden/volgen"
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Voorbeeld: Robert Morgenstein, vissen"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:266
+#: ../../include/contact_widgets.php:26 ../../mod/directory.php:381
+#: ../../mod/directory.php:386 ../../mod/connections.php:266
msgid "Find"
msgstr "Vinden"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:385
#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr "Voorgestelde kanalen"
@@ -2820,12 +3025,12 @@ msgid "Advanced example: name=fred and country=iceland"
msgstr "Geavanceerd voorbeeld (Engels): name=jan en country=nederland"
#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:98
-#: ../../include/widgets.php:306
+#: ../../include/widgets.php:307
msgid "Everything"
msgstr "Alles"
-#: ../../include/contact_widgets.php:95 ../../include/taxonomy.php:271
-#: ../../include/widgets.php:35
+#: ../../include/contact_widgets.php:95 ../../include/widgets.php:36
+#: ../../include/taxonomy.php:280
msgid "Categories"
msgstr "Categorieën"
@@ -2851,7 +3056,7 @@ msgstr "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande item
msgid "Add new connections to this collection (privacy group)"
msgstr "Voeg nieuwe connecties aan deze collectie toe (privacy-groep)"
-#: ../../include/group.php:251 ../../mod/admin.php:788
+#: ../../include/group.php:251 ../../mod/admin.php:814
msgid "All Channels"
msgstr "Alle kanalen"
@@ -2875,26 +3080,310 @@ msgstr "Nieuwe collectie toevoegen"
msgid "Channels not in any collection"
msgstr "Kanalen die zich in geen enkele collectie bevinden"
-#: ../../include/group.php:300 ../../include/widgets.php:274
+#: ../../include/group.php:300 ../../include/widgets.php:275
msgid "add"
msgstr "toevoegen"
-#: ../../include/zot.php:683
-msgid "Invalid data packet"
-msgstr "Datapakket ongeldig"
+#: ../../include/widgets.php:92 ../../include/nav.php:157
+#: ../../mod/apps.php:36
+msgid "Apps"
+msgstr "Apps"
-#: ../../include/zot.php:699
-msgid "Unable to verify channel signature"
-msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
+#: ../../include/widgets.php:93
+msgid "System"
+msgstr "Systeem"
+
+#: ../../include/widgets.php:96
+msgid "Create Personal App"
+msgstr "Persoonlijke app maken"
+
+#: ../../include/widgets.php:97
+msgid "Edit Personal App"
+msgstr "Persoonlijke app bewerken"
-#: ../../include/zot.php:2235
+#: ../../include/widgets.php:139 ../../mod/suggest.php:54
+msgid "Ignore/Hide"
+msgstr "Negeren/Verbergen"
+
+#: ../../include/widgets.php:144 ../../mod/connections.php:125
+msgid "Suggestions"
+msgstr "Voorgestelde kanalen"
+
+#: ../../include/widgets.php:145
+msgid "See more..."
+msgstr "Meer..."
+
+#: ../../include/widgets.php:166
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
-#: ../../include/zot.php:3555
-msgid "invalid target signature"
-msgstr "ongeldig doelkenmerk"
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Nieuwe connectie toevoegen"
+
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Vul het adres van het nieuwe kanaal in"
+
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Voorbeeld: bob@example.com, http://example.com/barbara"
+
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "Aantekeningen"
+
+#: ../../include/widgets.php:192 ../../include/text.php:867
+#: ../../include/text.php:879 ../../mod/filer.php:49 ../../mod/admin.php:1442
+#: ../../mod/admin.php:1462 ../../mod/rbmark.php:28 ../../mod/rbmark.php:100
+msgid "Save"
+msgstr "Opslaan"
+
+#: ../../include/widgets.php:266
+msgid "Remove term"
+msgstr "Verwijder zoekterm"
+
+#: ../../include/widgets.php:349
+msgid "Archives"
+msgstr "Archieven"
+
+#: ../../include/widgets.php:428 ../../mod/connedit.php:571
+msgid "Me"
+msgstr "Ik"
+
+#: ../../include/widgets.php:429 ../../mod/connedit.php:572
+msgid "Family"
+msgstr "Familie"
+
+#: ../../include/widgets.php:431 ../../mod/connedit.php:574
+msgid "Acquaintances"
+msgstr "Kennissen"
+
+#: ../../include/widgets.php:432 ../../mod/connedit.php:575
+#: ../../mod/connections.php:88 ../../mod/connections.php:103
+msgid "All"
+msgstr "Alles"
+
+#: ../../include/widgets.php:451
+msgid "Refresh"
+msgstr "Vernieuwen"
+
+#: ../../include/widgets.php:485
+msgid "Account settings"
+msgstr "Account"
+
+#: ../../include/widgets.php:491
+msgid "Channel settings"
+msgstr "Kanaal"
+
+#: ../../include/widgets.php:497
+msgid "Additional features"
+msgstr "Extra functies"
+
+#: ../../include/widgets.php:503
+msgid "Feature/Addon settings"
+msgstr "Extra functie- en plugin-instellingen"
+
+#: ../../include/widgets.php:509
+msgid "Display settings"
+msgstr "Weergave"
+
+#: ../../include/widgets.php:515
+msgid "Connected apps"
+msgstr "Verbonden applicaties"
+
+#: ../../include/widgets.php:521
+msgid "Export channel"
+msgstr "Kanaal exporteren"
+
+#: ../../include/widgets.php:530 ../../mod/connedit.php:683
+msgid "Connection Default Permissions"
+msgstr "Standaard permissies voor connecties"
+
+#: ../../include/widgets.php:538
+msgid "Premium Channel Settings"
+msgstr "Instellingen premiumkanaal"
+
+#: ../../include/widgets.php:568
+msgid "Private Mail Menu"
+msgstr "Privéberichten"
+
+#: ../../include/widgets.php:570
+msgid "Combined View"
+msgstr "Gecombineerd postvak"
+
+#: ../../include/widgets.php:575 ../../include/nav.php:191
+msgid "Inbox"
+msgstr "Postvak IN"
+
+#: ../../include/widgets.php:580 ../../include/nav.php:192
+msgid "Outbox"
+msgstr "Postvak UIT"
+
+#: ../../include/widgets.php:585 ../../include/nav.php:193
+msgid "New Message"
+msgstr "Nieuw bericht"
+
+#: ../../include/widgets.php:604 ../../include/widgets.php:616
+msgid "Conversations"
+msgstr "Conversaties"
+
+#: ../../include/widgets.php:608
+msgid "Received Messages"
+msgstr "Ontvangen berichten"
+
+#: ../../include/widgets.php:612
+msgid "Sent Messages"
+msgstr "Verzonden berichten"
+
+#: ../../include/widgets.php:626
+msgid "No messages."
+msgstr "Geen berichten"
+
+#: ../../include/widgets.php:644
+msgid "Delete conversation"
+msgstr "Verwijder conversatie"
+
+#: ../../include/widgets.php:670
+msgid "Events Menu"
+msgstr "Agenda-menu"
+
+#: ../../include/widgets.php:671
+msgid "Day View"
+msgstr "Dag tonen"
+
+#: ../../include/widgets.php:672
+msgid "Week View"
+msgstr "Week tonen"
+
+#: ../../include/widgets.php:673
+msgid "Month View"
+msgstr "Maand tonen"
+
+#: ../../include/widgets.php:674 ../../mod/events.php:527
+msgid "Export"
+msgstr "Exporteren"
+
+#: ../../include/widgets.php:675 ../../mod/events.php:530
+msgid "Import"
+msgstr "Importeren"
+
+#: ../../include/widgets.php:749
+msgid "Chat Rooms"
+msgstr "Chatkanalen"
+
+#: ../../include/widgets.php:769
+msgid "Bookmarked Chatrooms"
+msgstr "Bladwijzers van chatkanalen"
+
+#: ../../include/widgets.php:789
+msgid "Suggested Chatrooms"
+msgstr "Voorgestelde chatkanalen"
+
+#: ../../include/widgets.php:916 ../../include/widgets.php:974
+msgid "photo/image"
+msgstr "foto/afbeelding"
+
+#: ../../include/widgets.php:1069 ../../include/widgets.php:1071
+msgid "Rate Me"
+msgstr "Beoordeel mij"
+
+#: ../../include/widgets.php:1075
+msgid "View Ratings"
+msgstr "Bekijk beoordelingen"
+
+#: ../../include/widgets.php:1086
+msgid "Public Hubs"
+msgstr "Openbare hubs"
+
+#: ../../include/widgets.php:1134
+msgid "Forums"
+msgstr "Forums"
+
+#: ../../include/widgets.php:1161
+msgid "Tasks"
+msgstr "Taken"
+
+#: ../../include/widgets.php:1170
+msgid "Documentation"
+msgstr "Documentatie"
+
+#: ../../include/widgets.php:1172
+msgid "Project/Site Information"
+msgstr "Project- en hub-informatie"
+
+#: ../../include/widgets.php:1173
+msgid "For Members"
+msgstr "Voor leden"
+
+#: ../../include/widgets.php:1174
+msgid "For Administrators"
+msgstr "Voor beheerders"
+
+#: ../../include/widgets.php:1175
+msgid "For Developers"
+msgstr "Voor ontwikkelaars"
+
+#: ../../include/widgets.php:1200 ../../mod/admin.php:434
+msgid "Site"
+msgstr "Hub-instellingen"
+
+#: ../../include/widgets.php:1201
+msgid "Accounts"
+msgstr "Accounts"
+
+#: ../../include/widgets.php:1202 ../../mod/admin.php:965
+msgid "Channels"
+msgstr "Kanalen"
+
+#: ../../include/widgets.php:1203 ../../mod/admin.php:1062
+#: ../../mod/admin.php:1102
+msgid "Plugins"
+msgstr "Plug-ins"
+
+#: ../../include/widgets.php:1204 ../../mod/admin.php:1262
+#: ../../mod/admin.php:1296
+msgid "Themes"
+msgstr "Thema's"
+
+#: ../../include/widgets.php:1205
+msgid "Inspect queue"
+msgstr "Inspecteer berichtenwachtrij"
+
+#: ../../include/widgets.php:1206
+msgid "Profile Config"
+msgstr "Profielconfiguratie"
+
+#: ../../include/widgets.php:1207
+msgid "DB updates"
+msgstr "Database-updates"
+
+#: ../../include/widgets.php:1225 ../../include/widgets.php:1231
+#: ../../mod/admin.php:1381
+msgid "Logs"
+msgstr "Logboeken"
+
+#: ../../include/widgets.php:1229 ../../include/nav.php:210
+msgid "Admin"
+msgstr "Beheer"
+
+#: ../../include/widgets.php:1230
+msgid "Plugin Features"
+msgstr "Plug-in-opties"
+
+#: ../../include/widgets.php:1232
+msgid "User registrations waiting for confirmation"
+msgstr "Accounts die op goedkeuring wachten"
+
+#: ../../include/widgets.php:1311 ../../mod/photos.php:753
+#: ../../mod/photos.php:1286
+msgid "View Photo"
+msgstr "Foto weergeven"
+
+#: ../../include/widgets.php:1327 ../../mod/photos.php:782
+msgid "Edit Album"
+msgstr "Album bewerken"
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -2962,986 +3451,537 @@ msgstr "Opgevraagd kanaal is niet beschikbaar."
msgid "Requested profile is not available."
msgstr "Opgevraagd profiel is niet beschikbaar"
-#: ../../include/identity.php:978 ../../mod/profiles.php:774
+#: ../../include/identity.php:965 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr "Profielfoto veranderen"
-#: ../../include/identity.php:984
+#: ../../include/identity.php:971
msgid "Profiles"
msgstr "Profielen"
-#: ../../include/identity.php:984
+#: ../../include/identity.php:971
msgid "Manage/edit profiles"
msgstr "Profielen beheren/bewerken"
-#: ../../include/identity.php:985 ../../mod/profiles.php:775
+#: ../../include/identity.php:972 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr "Nieuw profiel aanmaken"
-#: ../../include/identity.php:988 ../../include/nav.php:90
+#: ../../include/identity.php:975 ../../include/nav.php:90
msgid "Edit Profile"
msgstr "Profiel bewerken"
-#: ../../include/identity.php:1000 ../../mod/profiles.php:786
+#: ../../include/identity.php:987 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr "Profielfoto"
-#: ../../include/identity.php:1003
+#: ../../include/identity.php:990
msgid "visible to everybody"
msgstr "Voor iedereen zichtbaar"
-#: ../../include/identity.php:1004 ../../mod/profiles.php:669
+#: ../../include/identity.php:991 ../../mod/profiles.php:669
#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr "Zichtbaarheid bewerken"
-#: ../../include/identity.php:1020 ../../include/identity.php:1260
+#: ../../include/identity.php:1007 ../../include/identity.php:1247
msgid "Gender:"
msgstr "Geslacht:"
-#: ../../include/identity.php:1021 ../../include/identity.php:1304
+#: ../../include/identity.php:1008 ../../include/identity.php:1291
msgid "Status:"
msgstr "Status:"
-#: ../../include/identity.php:1022 ../../include/identity.php:1315
+#: ../../include/identity.php:1009 ../../include/identity.php:1302
msgid "Homepage:"
msgstr "Homepagina:"
-#: ../../include/identity.php:1023
+#: ../../include/identity.php:1010
msgid "Online Now"
msgstr "Nu online"
-#: ../../include/identity.php:1107 ../../include/identity.php:1185
+#: ../../include/identity.php:1094 ../../include/identity.php:1172
#: ../../mod/ping.php:318
msgid "g A l F d"
msgstr "G:i, l d F"
-#: ../../include/identity.php:1108 ../../include/identity.php:1186
+#: ../../include/identity.php:1095 ../../include/identity.php:1173
msgid "F d"
msgstr "d F"
-#: ../../include/identity.php:1153 ../../include/identity.php:1225
+#: ../../include/identity.php:1140 ../../include/identity.php:1212
#: ../../mod/ping.php:341
msgid "[today]"
msgstr "[vandaag]"
-#: ../../include/identity.php:1164
+#: ../../include/identity.php:1151
msgid "Birthday Reminders"
msgstr "Verjaardagsherinneringen"
-#: ../../include/identity.php:1165
+#: ../../include/identity.php:1152
msgid "Birthdays this week:"
msgstr "Verjaardagen deze week:"
-#: ../../include/identity.php:1218
+#: ../../include/identity.php:1205
msgid "[No description]"
msgstr "[Geen omschrijving]"
-#: ../../include/identity.php:1236
+#: ../../include/identity.php:1223
msgid "Event Reminders"
msgstr "Herinneringen"
-#: ../../include/identity.php:1237
+#: ../../include/identity.php:1224
msgid "Events this week:"
msgstr "Gebeurtenissen deze week:"
-#: ../../include/identity.php:1258 ../../mod/settings.php:1026
+#: ../../include/identity.php:1245 ../../mod/settings.php:1027
msgid "Full Name:"
msgstr "Volledige naam:"
-#: ../../include/identity.php:1265
+#: ../../include/identity.php:1252
msgid "Like this channel"
msgstr "Vind dit kanaal leuk"
-#: ../../include/identity.php:1289
+#: ../../include/identity.php:1276
msgid "j F, Y"
msgstr "F j Y"
-#: ../../include/identity.php:1290
+#: ../../include/identity.php:1277
msgid "j F"
msgstr "F j"
-#: ../../include/identity.php:1297
+#: ../../include/identity.php:1284
msgid "Birthday:"
msgstr "Geboortedatum:"
-#: ../../include/identity.php:1301 ../../mod/directory.php:297
+#: ../../include/identity.php:1288 ../../mod/directory.php:299
msgid "Age:"
msgstr "Leeftijd:"
-#: ../../include/identity.php:1310
+#: ../../include/identity.php:1297
#, php-format
msgid "for %1$d %2$s"
msgstr "voor %1$d %2$s"
-#: ../../include/identity.php:1313 ../../mod/profiles.php:691
+#: ../../include/identity.php:1300 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr "Seksuele voorkeur:"
-#: ../../include/identity.php:1317 ../../mod/directory.php:313
+#: ../../include/identity.php:1304 ../../mod/directory.php:315
#: ../../mod/profiles.php:693
msgid "Hometown:"
msgstr "Oorspronkelijk uit:"
-#: ../../include/identity.php:1319
+#: ../../include/identity.php:1306
msgid "Tags:"
msgstr "Tags:"
-#: ../../include/identity.php:1321 ../../mod/profiles.php:694
+#: ../../include/identity.php:1308 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr "Politieke overtuigingen:"
-#: ../../include/identity.php:1323
+#: ../../include/identity.php:1310
msgid "Religion:"
msgstr "Religie:"
-#: ../../include/identity.php:1325 ../../mod/directory.php:315
+#: ../../include/identity.php:1312 ../../mod/directory.php:317
msgid "About:"
msgstr "Over:"
-#: ../../include/identity.php:1327
+#: ../../include/identity.php:1314
msgid "Hobbies/Interests:"
msgstr "Hobby's/interesses:"
-#: ../../include/identity.php:1329 ../../mod/profiles.php:697
+#: ../../include/identity.php:1316 ../../mod/profiles.php:697
msgid "Likes:"
msgstr "Houdt van:"
-#: ../../include/identity.php:1331 ../../mod/profiles.php:698
+#: ../../include/identity.php:1318 ../../mod/profiles.php:698
msgid "Dislikes:"
msgstr "Houdt niet van:"
-#: ../../include/identity.php:1333
+#: ../../include/identity.php:1320
msgid "Contact information and Social Networks:"
msgstr "Contactinformatie en sociale netwerken:"
-#: ../../include/identity.php:1335
+#: ../../include/identity.php:1322
msgid "My other channels:"
msgstr "Mijn andere kanalen"
-#: ../../include/identity.php:1337
+#: ../../include/identity.php:1324
msgid "Musical interests:"
msgstr "Muzikale interesses:"
-#: ../../include/identity.php:1339
+#: ../../include/identity.php:1326
msgid "Books, literature:"
msgstr "Boeken, literatuur:"
-#: ../../include/identity.php:1341
+#: ../../include/identity.php:1328
msgid "Television:"
msgstr "Televisie:"
-#: ../../include/identity.php:1343
+#: ../../include/identity.php:1330
msgid "Film/dance/culture/entertainment:"
msgstr "Films/dansen/cultuur/vermaak:"
-#: ../../include/identity.php:1345
+#: ../../include/identity.php:1332
msgid "Love/Romance:"
msgstr "Liefde/romantiek:"
-#: ../../include/identity.php:1347
+#: ../../include/identity.php:1334
msgid "Work/employment:"
msgstr "Werk/beroep:"
-#: ../../include/identity.php:1349
+#: ../../include/identity.php:1336
msgid "School/education:"
msgstr "School/opleiding:"
-#: ../../include/identity.php:1369
+#: ../../include/identity.php:1356
msgid "Like this thing"
msgstr "Vind dit ding leuk"
-#: ../../include/bb2diaspora.php:382
-msgid "Attachments:"
-msgstr "Bijlagen:"
-
-#: ../../include/bb2diaspora.php:470
-msgid "$Projectname event notification:"
-msgstr "Notificatie $Projectname-gebeurtenis:"
-
-#: ../../include/taxonomy.php:229 ../../include/taxonomy.php:250
+#: ../../include/taxonomy.php:238 ../../include/taxonomy.php:259
msgid "Tags"
msgstr "Tags"
-#: ../../include/taxonomy.php:294
+#: ../../include/taxonomy.php:303
msgid "Keywords"
msgstr "Trefwoorden"
-#: ../../include/taxonomy.php:315
+#: ../../include/taxonomy.php:324
msgid "have"
msgstr "heb"
-#: ../../include/taxonomy.php:315
+#: ../../include/taxonomy.php:324
msgid "has"
msgstr "heeft"
-#: ../../include/taxonomy.php:316
+#: ../../include/taxonomy.php:325
msgid "want"
msgstr "wil"
-#: ../../include/taxonomy.php:316
+#: ../../include/taxonomy.php:325
msgid "wants"
msgstr "wil"
-#: ../../include/taxonomy.php:317
+#: ../../include/taxonomy.php:326
msgid "likes"
msgstr "vindt dit leuk"
-#: ../../include/taxonomy.php:318
+#: ../../include/taxonomy.php:327
msgid "dislikes"
msgstr "vindt dit niet leuk"
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "kanaal"
-
-#: ../../include/conversation.php:164 ../../mod/like.php:410
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s vindt %3$s van %2$s leuk"
-
-#: ../../include/conversation.php:167 ../../mod/like.php:412
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s vindt %3$s van %2$s niet leuk"
-
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s is nu met %2$s verbonden"
-
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s heeft %2$s aangestoten"
-
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s is %2$s"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1063
-msgctxt "title"
-msgid "Likes"
-msgstr "vinden dit leuk"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:1063
-msgctxt "title"
-msgid "Dislikes"
-msgstr "vinden dit niet leuk"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Agree"
-msgstr "eens"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Disagree"
-msgstr "oneens"
-
-#: ../../include/conversation.php:575 ../../mod/photos.php:1064
-msgctxt "title"
-msgid "Abstain"
-msgstr "onthoudingen"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Attending"
-msgstr "aanwezig"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Not attending"
-msgstr "niet aanwezig"
-
-#: ../../include/conversation.php:576 ../../mod/photos.php:1065
-msgctxt "title"
-msgid "Might attend"
-msgstr "mogelijk aanwezig"
-
-#: ../../include/conversation.php:692
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Bekijk het profiel van %s @ %s"
-
-#: ../../include/conversation.php:709
-msgid "Categories:"
-msgstr "Categorieën:"
-
-#: ../../include/conversation.php:710
-msgid "Filed under:"
-msgstr "Bewaard onder:"
-
-#: ../../include/conversation.php:737
-msgid "View in context"
-msgstr "In context bekijken"
-
-#: ../../include/conversation.php:850
-msgid "remove"
-msgstr "verwijderen"
-
-#: ../../include/conversation.php:854 ../../include/nav.php:241
-msgid "Loading..."
-msgstr "Aan het laden..."
-
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
-msgstr "Verwijder de geselecteerde items"
-
-#: ../../include/conversation.php:943
-msgid "View Source"
-msgstr "Bron weergeven"
-
-#: ../../include/conversation.php:944
-msgid "Follow Thread"
-msgstr "Conversatie volgen"
-
-#: ../../include/conversation.php:945
-msgid "View Status"
-msgstr "Status weergeven"
-
-#: ../../include/conversation.php:946 ../../include/nav.php:86
-#: ../../mod/connedit.php:493
-msgid "View Profile"
-msgstr "Profiel weergeven"
-
-#: ../../include/conversation.php:947
-msgid "View Photos"
-msgstr "Foto's weergeven"
-
-#: ../../include/conversation.php:948
-msgid "Activity/Posts"
-msgstr "Kanaal-activiteit"
-
-#: ../../include/conversation.php:950
-msgid "Edit Connection"
-msgstr "Connectie bewerken"
-
-#: ../../include/conversation.php:951
-msgid "Send PM"
-msgstr "Privébericht verzenden"
-
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "%s likes this."
-msgstr "%s vindt dit leuk."
-
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s vindt dit niet leuk."
-
-#: ../../include/conversation.php:1070
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit leuk."
-msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk."
+#: ../../include/attach.php:246 ../../include/attach.php:332
+msgid "Item was not found."
+msgstr "Item niet gevonden"
-#: ../../include/conversation.php:1072
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit niet leuk."
-msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk."
+#: ../../include/attach.php:496
+msgid "No source file."
+msgstr "Geen bronbestand."
-#: ../../include/conversation.php:1078
-msgid "and"
-msgstr "en"
+#: ../../include/attach.php:514
+msgid "Cannot locate file to replace"
+msgstr "Kan het te vervangen bestand niet vinden"
-#: ../../include/conversation.php:1081
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", en %d ander persoon"
-msgstr[1] ", en %d andere personen"
+#: ../../include/attach.php:532
+msgid "Cannot locate file to revise/update"
+msgstr "Kan het bestand wat aangepast moet worden niet vinden"
-#: ../../include/conversation.php:1082
+#: ../../include/attach.php:667
#, php-format
-msgid "%s like this."
-msgstr "%s vinden dit leuk."
+msgid "File exceeds size limit of %d"
+msgstr "Bestand is groter dan de toegelaten %d"
-#: ../../include/conversation.php:1082
+#: ../../include/attach.php:681
#, php-format
-msgid "%s don't like this."
-msgstr "%s vinden dit niet leuk."
-
-#: ../../include/conversation.php:1145
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Voor <strong>iedereen</strong> zichtbaar"
-
-#: ../../include/conversation.php:1146 ../../mod/mail.php:194
-#: ../../mod/mail.php:308
-msgid "Please enter a link URL:"
-msgstr "Vul een internetadres/URL in:"
-
-#: ../../include/conversation.php:1147
-msgid "Please enter a video link/URL:"
-msgstr "Vul een videolink/URL in:"
-
-#: ../../include/conversation.php:1148
-msgid "Please enter an audio link/URL:"
-msgstr "Vul een audiolink/URL in:"
-
-#: ../../include/conversation.php:1149
-msgid "Tag term:"
-msgstr "Tag:"
-
-#: ../../include/conversation.php:1150 ../../mod/filer.php:48
-msgid "Save to Folder:"
-msgstr "Bewaar in map: "
-
-#: ../../include/conversation.php:1151
-msgid "Where are you right now?"
-msgstr "Waar bevind je je op dit moment?"
-
-#: ../../include/conversation.php:1152 ../../mod/mail.php:195
-#: ../../mod/mail.php:309 ../../mod/editpost.php:54
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Verloopt op DD-MM-YYYY om HH:MM"
-
-#: ../../include/conversation.php:1183 ../../mod/layouts.php:184
-#: ../../mod/photos.php:1028 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154
-msgid "Share"
-msgstr "Delen"
-
-#: ../../include/conversation.php:1185
-msgid "Page link name"
-msgstr "Linknaam pagina"
-
-#: ../../include/conversation.php:1188
-msgid "Post as"
-msgstr "Bericht plaatsen als"
-
-#: ../../include/conversation.php:1195 ../../mod/editblock.php:142
-#: ../../mod/editpost.php:118 ../../mod/editlayout.php:140
-#: ../../mod/editwebpage.php:182
-msgid "Upload photo"
-msgstr "Foto uploaden"
-
-#: ../../include/conversation.php:1196
-msgid "upload photo"
-msgstr "foto uploaden"
-
-#: ../../include/conversation.php:1197 ../../mod/mail.php:240
-#: ../../mod/mail.php:369 ../../mod/editblock.php:143
-#: ../../mod/editpost.php:119 ../../mod/editlayout.php:141
-#: ../../mod/editwebpage.php:183
-msgid "Attach file"
-msgstr "Bestand toevoegen"
-
-#: ../../include/conversation.php:1198
-msgid "attach file"
-msgstr "bestand toevoegen"
-
-#: ../../include/conversation.php:1199 ../../mod/mail.php:241
-#: ../../mod/mail.php:370 ../../mod/editblock.php:144
-#: ../../mod/editpost.php:120 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:184
-msgid "Insert web link"
-msgstr "Weblink invoegen"
-
-#: ../../include/conversation.php:1200
-msgid "web link"
-msgstr "Weblink"
-
-#: ../../include/conversation.php:1201
-msgid "Insert video link"
-msgstr "Videolink invoegen"
-
-#: ../../include/conversation.php:1202
-msgid "video link"
-msgstr "videolink"
-
-#: ../../include/conversation.php:1203
-msgid "Insert audio link"
-msgstr "Audiolink invoegen"
-
-#: ../../include/conversation.php:1204
-msgid "audio link"
-msgstr "audiolink"
-
-#: ../../include/conversation.php:1205 ../../mod/editblock.php:148
-#: ../../mod/editpost.php:124 ../../mod/editlayout.php:146
-#: ../../mod/editwebpage.php:188
-msgid "Set your location"
-msgstr "Locatie instellen"
-
-#: ../../include/conversation.php:1206
-msgid "set location"
-msgstr "locatie instellen"
-
-#: ../../include/conversation.php:1207 ../../mod/editpost.php:126
-msgid "Toggle voting"
-msgstr "Peiling in- of uitschakelen"
-
-#: ../../include/conversation.php:1210 ../../mod/editblock.php:149
-#: ../../mod/editpost.php:125 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:189
-msgid "Clear browser location"
-msgstr "Locatie van webbrowser wissen"
-
-#: ../../include/conversation.php:1211
-msgid "clear location"
-msgstr "locatie wissen"
-
-#: ../../include/conversation.php:1213 ../../mod/editblock.php:162
-#: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205
-msgid "Title (optional)"
-msgstr "Titel (optioneel)"
-
-#: ../../include/conversation.php:1217 ../../mod/editblock.php:165
-#: ../../mod/editpost.php:143 ../../mod/editlayout.php:163
-#: ../../mod/editwebpage.php:207
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
-
-#: ../../include/conversation.php:1219 ../../mod/editblock.php:151
-#: ../../mod/editpost.php:130 ../../mod/editlayout.php:149
-#: ../../mod/editwebpage.php:191
-msgid "Permission settings"
-msgstr "Permissies"
-
-#: ../../include/conversation.php:1220
-msgid "permissions"
-msgstr "permissies"
-
-#: ../../include/conversation.php:1228 ../../mod/editblock.php:159
-#: ../../mod/editpost.php:138 ../../mod/editlayout.php:156
-#: ../../mod/editwebpage.php:200
-msgid "Public post"
-msgstr "Openbaar bericht"
-
-#: ../../include/conversation.php:1230 ../../mod/editblock.php:166
-#: ../../mod/editpost.php:144 ../../mod/editlayout.php:164
-#: ../../mod/editwebpage.php:208
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be"
-
-#: ../../include/conversation.php:1243 ../../mod/mail.php:245
-#: ../../mod/mail.php:374 ../../mod/editblock.php:176
-#: ../../mod/editpost.php:155 ../../mod/editlayout.php:173
-#: ../../mod/editwebpage.php:217
-msgid "Set expiration date"
-msgstr "Verloopdatum instellen"
-
-#: ../../include/conversation.php:1246
-msgid "Set publish date"
-msgstr "Publicatiedatum instellen"
-
-#: ../../include/conversation.php:1250 ../../mod/editpost.php:159
-#: ../../mod/events.php:691
-msgid "OK"
-msgstr "OK"
-
-#: ../../include/conversation.php:1251 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
-#: ../../mod/events.php:690 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
-#: ../../mod/settings.php:584 ../../mod/settings.php:610
-msgid "Cancel"
-msgstr "Annuleren"
-
-#: ../../include/conversation.php:1494
-msgid "Discover"
-msgstr "Ontdekken"
-
-#: ../../include/conversation.php:1497
-msgid "Imported public streams"
-msgstr "Openbare streams importeren"
-
-#: ../../include/conversation.php:1502
-msgid "Commented Order"
-msgstr "Nieuwe reacties bovenaan"
-
-#: ../../include/conversation.php:1505
-msgid "Sort by Comment Date"
-msgstr "Berichten met nieuwe reacties bovenaan"
-
-#: ../../include/conversation.php:1509
-msgid "Posted Order"
-msgstr "Nieuwe berichten bovenaan"
-
-#: ../../include/conversation.php:1512
-msgid "Sort by Post Date"
-msgstr "Nieuwe berichten bovenaan"
-
-#: ../../include/conversation.php:1517 ../../include/widgets.php:94
-msgid "Personal"
-msgstr "Persoonlijk"
-
-#: ../../include/conversation.php:1520
-msgid "Posts that mention or involve you"
-msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
-
-#: ../../include/conversation.php:1526 ../../mod/menu.php:112
-#: ../../mod/connections.php:72 ../../mod/connections.php:82
-msgid "New"
-msgstr "Nieuw"
-
-#: ../../include/conversation.php:1529
-msgid "Activity Stream - by date"
-msgstr "Activiteitenstroom - volgens datum"
-
-#: ../../include/conversation.php:1535
-msgid "Starred"
-msgstr "Met ster"
-
-#: ../../include/conversation.php:1538
-msgid "Favourite Posts"
-msgstr "Favoriete berichten"
-
-#: ../../include/conversation.php:1545
-msgid "Spam"
-msgstr "Spam"
-
-#: ../../include/conversation.php:1548
-msgid "Posts flagged as SPAM"
-msgstr "Berichten gemarkeerd als SPAM"
-
-#: ../../include/conversation.php:1592 ../../mod/admin.php:947
-msgid "Channel"
-msgstr "Kanaal"
-
-#: ../../include/conversation.php:1595
-msgid "Status Messages and Posts"
-msgstr "Berichten in dit kanaal"
-
-#: ../../include/conversation.php:1604
-msgid "About"
-msgstr "Over"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."
-#: ../../include/conversation.php:1607
-msgid "Profile Details"
-msgstr "Profiel"
+#: ../../include/attach.php:837
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."
-#: ../../include/conversation.php:1623
-msgid "Files and Storage"
-msgstr "Bestanden en opslagruimte"
+#: ../../include/attach.php:850
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
-#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
-msgid "Chatrooms"
-msgstr "Chatkanalen"
+#: ../../include/attach.php:898 ../../include/attach.php:914
+msgid "Path not available."
+msgstr "Pad niet beschikbaar."
-#: ../../include/conversation.php:1649
-msgid "Saved Bookmarks"
-msgstr "Opgeslagen bladwijzers"
+#: ../../include/attach.php:960 ../../include/attach.php:1112
+msgid "Empty pathname"
+msgstr "Padnaam leeg"
-#: ../../include/conversation.php:1659
-msgid "Manage Webpages"
-msgstr "Webpagina's beheren"
+#: ../../include/attach.php:986
+msgid "duplicate filename or path"
+msgstr "dubbele bestandsnaam of pad"
-#: ../../include/conversation.php:1718
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "aanwezig"
-msgstr[1] "aanwezig"
+#: ../../include/attach.php:1008
+msgid "Path not found."
+msgstr "Pad niet gevonden"
-#: ../../include/conversation.php:1721
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "niet aanwezig"
-msgstr[1] "niet aanwezig"
+#: ../../include/attach.php:1066
+msgid "mkdir failed."
+msgstr "directory aanmaken (mkdir) mislukt."
-#: ../../include/conversation.php:1724
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "nog niet beslist"
-msgstr[1] "nog niet beslist"
+#: ../../include/attach.php:1070
+msgid "database storage failed."
+msgstr "opslag in database mislukt."
-#: ../../include/conversation.php:1727
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "eens"
-msgstr[1] "eens"
+#: ../../include/attach.php:1118
+msgid "Empty path"
+msgstr "Ontbrekend bestandspad"
-#: ../../include/conversation.php:1730
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "oneens"
-msgstr[1] "oneens"
+#: ../../include/bb2diaspora.php:382
+msgid "Attachments:"
+msgstr "Bijlagen:"
-#: ../../include/conversation.php:1733
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "onthouding"
-msgstr[1] "onthoudingen"
+#: ../../include/bb2diaspora.php:473
+msgid "$Projectname event notification:"
+msgstr "Notificatie $Projectname-gebeurtenis:"
-#: ../../include/widgets.php:91 ../../include/nav.php:157
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Apps"
+#: ../../include/text.php:393
+msgid "prev"
+msgstr "vorige"
-#: ../../include/widgets.php:92
-msgid "System"
-msgstr "Systeem"
+#: ../../include/text.php:395
+msgid "first"
+msgstr "eerste"
-#: ../../include/widgets.php:95
-msgid "Create Personal App"
-msgstr "Persoonlijke app maken"
+#: ../../include/text.php:424
+msgid "last"
+msgstr "laatste"
-#: ../../include/widgets.php:96
-msgid "Edit Personal App"
-msgstr "Persoonlijke app bewerken"
+#: ../../include/text.php:427
+msgid "next"
+msgstr "volgende"
-#: ../../include/widgets.php:138 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr "Negeren/Verbergen"
+#: ../../include/text.php:437
+msgid "older"
+msgstr "ouder"
-#: ../../include/widgets.php:143 ../../mod/connections.php:125
-msgid "Suggestions"
-msgstr "Voorgestelde kanalen"
+#: ../../include/text.php:439
+msgid "newer"
+msgstr "nieuwer"
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr "Meer..."
+#: ../../include/text.php:784
+msgid "No connections"
+msgstr "Geen connecties"
-#: ../../include/widgets.php:165
+#: ../../include/text.php:796
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
-
-#: ../../include/widgets.php:171
-msgid "Add New Connection"
-msgstr "Nieuwe connectie toevoegen"
-
-#: ../../include/widgets.php:172
-msgid "Enter the channel address"
-msgstr "Vul het adres van het nieuwe kanaal in"
-
-#: ../../include/widgets.php:173
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Voorbeeld: bob@example.com, http://example.com/barbara"
-
-#: ../../include/widgets.php:189
-msgid "Notes"
-msgstr "Aantekeningen"
-
-#: ../../include/widgets.php:265
-msgid "Remove term"
-msgstr "Verwijder zoekterm"
-
-#: ../../include/widgets.php:348
-msgid "Archives"
-msgstr "Archieven"
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d connectie"
+msgstr[1] "%d connecties"
-#: ../../include/widgets.php:427 ../../mod/connedit.php:566
-msgid "Me"
-msgstr "Ik"
+#: ../../include/text.php:809 ../../mod/viewconnections.php:101
+msgid "View Connections"
+msgstr "Connecties weergeven"
-#: ../../include/widgets.php:428 ../../mod/connedit.php:567
-msgid "Family"
-msgstr "Familie"
+#: ../../include/text.php:953
+msgid "poke"
+msgstr "aanstoten"
-#: ../../include/widgets.php:430 ../../mod/connedit.php:569
-msgid "Acquaintances"
-msgstr "Kennissen"
+#: ../../include/text.php:954
+msgid "ping"
+msgstr "ping"
-#: ../../include/widgets.php:431 ../../mod/connedit.php:570
-#: ../../mod/connections.php:88 ../../mod/connections.php:103
-msgid "All"
-msgstr "Alles"
+#: ../../include/text.php:954
+msgid "pinged"
+msgstr "gepingd"
-#: ../../include/widgets.php:450
-msgid "Refresh"
-msgstr "Vernieuwen"
+#: ../../include/text.php:955
+msgid "prod"
+msgstr "por"
-#: ../../include/widgets.php:484
-msgid "Account settings"
-msgstr "Account"
+#: ../../include/text.php:955
+msgid "prodded"
+msgstr "gepord"
-#: ../../include/widgets.php:490
-msgid "Channel settings"
-msgstr "Kanaal"
+#: ../../include/text.php:956
+msgid "slap"
+msgstr "slaan"
-#: ../../include/widgets.php:496
-msgid "Additional features"
-msgstr "Extra functies"
+#: ../../include/text.php:956
+msgid "slapped"
+msgstr "sloeg"
-#: ../../include/widgets.php:502
-msgid "Feature/Addon settings"
-msgstr "Extra functie- en plugin-instellingen"
+#: ../../include/text.php:957
+msgid "finger"
+msgstr "finger"
-#: ../../include/widgets.php:508
-msgid "Display settings"
-msgstr "Weergave"
+#: ../../include/text.php:957
+msgid "fingered"
+msgstr "gefingerd"
-#: ../../include/widgets.php:514
-msgid "Connected apps"
-msgstr "Verbonden applicaties"
+#: ../../include/text.php:958
+msgid "rebuff"
+msgstr "afpoeieren"
-#: ../../include/widgets.php:520
-msgid "Export channel"
-msgstr "Kanaal exporteren"
+#: ../../include/text.php:958
+msgid "rebuffed"
+msgstr "afgepoeierd"
-#: ../../include/widgets.php:529 ../../mod/connedit.php:673
-msgid "Connection Default Permissions"
-msgstr "Standaard permissies voor connecties"
+#: ../../include/text.php:968
+msgid "happy"
+msgstr "gelukkig"
-#: ../../include/widgets.php:537
-msgid "Premium Channel Settings"
-msgstr "Instellingen premiumkanaal"
+#: ../../include/text.php:969
+msgid "sad"
+msgstr "bedroefd"
-#: ../../include/widgets.php:567
-msgid "Private Mail Menu"
-msgstr "Privéberichten"
+#: ../../include/text.php:970
+msgid "mellow"
+msgstr "mellow"
-#: ../../include/widgets.php:569
-msgid "Combined View"
-msgstr "Gecombineerd postvak"
+#: ../../include/text.php:971
+msgid "tired"
+msgstr "moe"
-#: ../../include/widgets.php:574 ../../include/nav.php:191
-msgid "Inbox"
-msgstr "Postvak IN"
+#: ../../include/text.php:972
+msgid "perky"
+msgstr "parmantig"
-#: ../../include/widgets.php:579 ../../include/nav.php:192
-msgid "Outbox"
-msgstr "Postvak UIT"
+#: ../../include/text.php:973
+msgid "angry"
+msgstr "boos"
-#: ../../include/widgets.php:584 ../../include/nav.php:193
-msgid "New Message"
-msgstr "Nieuw bericht"
+#: ../../include/text.php:974
+msgid "stupified"
+msgstr "beteuterd"
-#: ../../include/widgets.php:603 ../../include/widgets.php:615
-msgid "Conversations"
-msgstr "Conversaties"
+#: ../../include/text.php:975
+msgid "puzzled"
+msgstr "verward"
-#: ../../include/widgets.php:607
-msgid "Received Messages"
-msgstr "Ontvangen berichten"
+#: ../../include/text.php:976
+msgid "interested"
+msgstr "geïnteresseerd"
-#: ../../include/widgets.php:611
-msgid "Sent Messages"
-msgstr "Verzonden berichten"
+#: ../../include/text.php:977
+msgid "bitter"
+msgstr "verbitterd"
-#: ../../include/widgets.php:625
-msgid "No messages."
-msgstr "Geen berichten"
+#: ../../include/text.php:978
+msgid "cheerful"
+msgstr "vrolijk"
-#: ../../include/widgets.php:643
-msgid "Delete conversation"
-msgstr "Verwijder conversatie"
+#: ../../include/text.php:979
+msgid "alive"
+msgstr "levendig"
-#: ../../include/widgets.php:645
-msgid "D, d M Y - g:i A"
-msgstr "D, j M Y - G:i"
+#: ../../include/text.php:980
+msgid "annoyed"
+msgstr "geërgerd"
-#: ../../include/widgets.php:734
-msgid "Chat Rooms"
-msgstr "Chatkanalen"
+#: ../../include/text.php:981
+msgid "anxious"
+msgstr "bezorgd"
-#: ../../include/widgets.php:754
-msgid "Bookmarked Chatrooms"
-msgstr "Bladwijzers van chatkanalen"
+#: ../../include/text.php:982
+msgid "cranky"
+msgstr "humeurig"
-#: ../../include/widgets.php:774
-msgid "Suggested Chatrooms"
-msgstr "Voorgestelde chatkanalen"
+#: ../../include/text.php:983
+msgid "disturbed"
+msgstr "verontrust"
-#: ../../include/widgets.php:901 ../../include/widgets.php:959
-msgid "photo/image"
-msgstr "foto/afbeelding"
+#: ../../include/text.php:984
+msgid "frustrated"
+msgstr "gefrustreerd "
-#: ../../include/widgets.php:1054 ../../include/widgets.php:1056
-msgid "Rate Me"
-msgstr "Beoordeel mij"
+#: ../../include/text.php:985
+msgid "depressed"
+msgstr "gedeprimeerd"
-#: ../../include/widgets.php:1060
-msgid "View Ratings"
-msgstr "Bekijk beoordelingen"
+#: ../../include/text.php:986
+msgid "motivated"
+msgstr "gemotiveerd"
-#: ../../include/widgets.php:1071
-msgid "Public Hubs"
-msgstr "Openbare hubs"
+#: ../../include/text.php:987
+msgid "relaxed"
+msgstr "ontspannen"
-#: ../../include/widgets.php:1119
-msgid "Forums"
-msgstr "Forums"
+#: ../../include/text.php:988
+msgid "surprised"
+msgstr "verrast"
-#: ../../include/widgets.php:1146
-msgid "Tasks"
-msgstr "Taken"
+#: ../../include/text.php:1164
+msgid "May"
+msgstr "mei"
-#: ../../include/widgets.php:1155
-msgid "Documentation"
-msgstr "Documentatie"
+#: ../../include/text.php:1241 ../../include/text.php:1245
+msgid "Unknown Attachment"
+msgstr "Onbekende bijlage"
-#: ../../include/widgets.php:1157
-msgid "Project/Site Information"
-msgstr "Project- en hub-informatie"
+#: ../../include/text.php:1247
+msgid "unknown"
+msgstr "onbekend"
-#: ../../include/widgets.php:1158
-msgid "For Members"
-msgstr "Voor leden"
+#: ../../include/text.php:1283
+msgid "remove category"
+msgstr "categorie verwijderen"
-#: ../../include/widgets.php:1159
-msgid "For Administrators"
-msgstr "Voor beheerders"
+#: ../../include/text.php:1360
+msgid "remove from file"
+msgstr "uit map verwijderen"
-#: ../../include/widgets.php:1160
-msgid "For Developers"
-msgstr "Voor ontwikkelaars"
+#: ../../include/text.php:1472 ../../include/text.php:1483
+msgid "Click to open/close"
+msgstr "Klik om te openen of te sluiten"
-#: ../../include/widgets.php:1185 ../../mod/admin.php:410
-msgid "Site"
-msgstr "Hub-instellingen"
+#: ../../include/text.php:1656 ../../mod/events.php:495
+msgid "Link to Source"
+msgstr "Originele locatie"
-#: ../../include/widgets.php:1186
-msgid "Accounts"
-msgstr "Accounts"
+#: ../../include/text.php:1677 ../../include/text.php:1749
+msgid "default"
+msgstr "standaard"
-#: ../../include/widgets.php:1187 ../../mod/admin.php:939
-msgid "Channels"
-msgstr "Kanalen"
+#: ../../include/text.php:1685
+msgid "Page layout"
+msgstr "Pagina-lay-out"
-#: ../../include/widgets.php:1188 ../../mod/admin.php:1031
-#: ../../mod/admin.php:1071
-msgid "Plugins"
-msgstr "Plug-ins"
+#: ../../include/text.php:1685
+msgid "You can create your own with the layouts tool"
+msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
-#: ../../include/widgets.php:1189 ../../mod/admin.php:1231
-#: ../../mod/admin.php:1265
-msgid "Themes"
-msgstr "Thema's"
+#: ../../include/text.php:1727
+msgid "Page content type"
+msgstr "Opmaaktype pagina"
-#: ../../include/widgets.php:1190
-msgid "Inspect queue"
-msgstr "Inspecteer berichtenwachtrij"
+#: ../../include/text.php:1761
+msgid "Select an alternate language"
+msgstr "Kies een andere taal"
-#: ../../include/widgets.php:1191
-msgid "Profile Config"
-msgstr "Profielconfiguratie"
+#: ../../include/text.php:1893
+msgid "activity"
+msgstr "activiteit"
-#: ../../include/widgets.php:1192
-msgid "DB updates"
-msgstr "Database-updates"
+#: ../../include/text.php:2188
+msgid "Design Tools"
+msgstr "Ontwerp-hulpmiddelen"
-#: ../../include/widgets.php:1210 ../../include/widgets.php:1216
-#: ../../mod/admin.php:1350
-msgid "Logs"
-msgstr "Logboeken"
+#: ../../include/text.php:2191 ../../mod/blocks.php:147
+msgid "Blocks"
+msgstr "Blokken"
-#: ../../include/widgets.php:1214 ../../include/nav.php:210
-msgid "Admin"
-msgstr "Beheer"
+#: ../../include/text.php:2192 ../../mod/menu.php:103
+msgid "Menus"
+msgstr "Menu's"
-#: ../../include/widgets.php:1215
-msgid "Plugin Features"
-msgstr "Plug-in-opties"
+#: ../../include/text.php:2193 ../../mod/layouts.php:174
+msgid "Layouts"
+msgstr "Lay-outs"
-#: ../../include/widgets.php:1217
-msgid "User registrations waiting for confirmation"
-msgstr "Accounts die op goedkeuring wachten"
+#: ../../include/text.php:2194
+msgid "Pages"
+msgstr "Pagina's"
-#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1502
+#: ../../include/nav.php:82 ../../include/nav.php:114 ../../boot.php:1485
msgid "Logout"
msgstr "Uitloggen"
@@ -4014,7 +4054,7 @@ msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub"
msgid "Home Page"
msgstr "Homepage"
-#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1479
+#: ../../include/nav.php:149 ../../mod/register.php:224 ../../boot.php:1462
msgid "Register"
msgstr "Registreren"
@@ -4118,44 +4158,44 @@ msgstr "@kanaal, #tag, inhoud, ?hulp"
msgid "Please wait..."
msgstr "Wachten aub..."
-#: ../../include/dir_fns.php:126
+#: ../../include/dir_fns.php:139
msgid "Directory Options"
msgstr "Opties kanalengids"
-#: ../../include/dir_fns.php:128
+#: ../../include/dir_fns.php:141
msgid "Safe Mode"
msgstr "Veilig zoeken"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60
+#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
+#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60
#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228
-#: ../../mod/mitem.php:229 ../../mod/connedit.php:630
-#: ../../mod/connedit.php:674 ../../mod/filestorage.php:151
+#: ../../mod/mitem.php:229 ../../mod/connedit.php:635
+#: ../../mod/connedit.php:684 ../../mod/filestorage.php:151
#: ../../mod/filestorage.php:159 ../../mod/photos.php:626
-#: ../../mod/admin.php:386 ../../mod/menu.php:96 ../../mod/menu.php:153
-#: ../../mod/settings.php:574 ../../mod/api.php:106
+#: ../../mod/admin.php:410 ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../mod/settings.php:575 ../../mod/api.php:106
#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1507
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490
msgid "No"
msgstr "Nee"
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/removeme.php:60
+#: ../../include/dir_fns.php:141 ../../include/dir_fns.php:142
+#: ../../include/dir_fns.php:143 ../../mod/removeme.php:60
#: ../../mod/mitem.php:154 ../../mod/mitem.php:155 ../../mod/mitem.php:228
#: ../../mod/mitem.php:229 ../../mod/filestorage.php:151
#: ../../mod/filestorage.php:159 ../../mod/photos.php:626
-#: ../../mod/admin.php:388 ../../mod/menu.php:96 ../../mod/menu.php:153
-#: ../../mod/settings.php:574 ../../mod/api.php:105
+#: ../../mod/admin.php:412 ../../mod/menu.php:96 ../../mod/menu.php:153
+#: ../../mod/settings.php:575 ../../mod/api.php:105
#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1507
+#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1490
msgid "Yes"
msgstr "Ja"
-#: ../../include/dir_fns.php:129
+#: ../../include/dir_fns.php:142
msgid "Public Forums Only"
msgstr "Alleen openbare forums"
-#: ../../include/dir_fns.php:130
+#: ../../include/dir_fns.php:143
msgid "This Website Only"
msgstr "Alleen deze hub"
@@ -4186,86 +4226,86 @@ msgstr "Stel een kanaal voor aan %s"
msgid "Public access denied."
msgstr "Openbare toegang geweigerd."
-#: ../../mod/directory.php:234
+#: ../../mod/directory.php:236
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d beoordeling"
msgstr[1] "%d beoordelingen"
-#: ../../mod/directory.php:245
+#: ../../mod/directory.php:247
msgid "Gender: "
msgstr "Geslacht:"
-#: ../../mod/directory.php:247
+#: ../../mod/directory.php:249
msgid "Status: "
msgstr "Status: "
-#: ../../mod/directory.php:249
+#: ../../mod/directory.php:251
msgid "Homepage: "
msgstr "Homepage: "
-#: ../../mod/directory.php:308 ../../mod/events.php:699
+#: ../../mod/directory.php:310 ../../mod/events.php:699
msgid "Description:"
msgstr "Omschrijving:"
-#: ../../mod/directory.php:317
+#: ../../mod/directory.php:319
msgid "Public Forum:"
msgstr "Openbaar forum:"
-#: ../../mod/directory.php:320
+#: ../../mod/directory.php:322
msgid "Keywords: "
msgstr "Trefwoorden: "
-#: ../../mod/directory.php:323
+#: ../../mod/directory.php:325
msgid "Don't suggest"
msgstr "Niet voorstellen"
-#: ../../mod/directory.php:325
+#: ../../mod/directory.php:327
msgid "Common connections:"
msgstr "Gemeenschappelijke connecties:"
-#: ../../mod/directory.php:374
+#: ../../mod/directory.php:376
msgid "Global Directory"
msgstr "Volledige kanalengids"
-#: ../../mod/directory.php:374
+#: ../../mod/directory.php:376
msgid "Local Directory"
msgstr "Lokale kanalengids"
-#: ../../mod/directory.php:380
+#: ../../mod/directory.php:382
msgid "Finding:"
msgstr "Gezocht naar:"
-#: ../../mod/directory.php:385
+#: ../../mod/directory.php:387
msgid "next page"
msgstr "volgende pagina"
-#: ../../mod/directory.php:385
+#: ../../mod/directory.php:387
msgid "previous page"
msgstr "vorige pagina"
-#: ../../mod/directory.php:386
+#: ../../mod/directory.php:388
msgid "Sort options"
msgstr "Sorteeropties"
-#: ../../mod/directory.php:387
+#: ../../mod/directory.php:389
msgid "Alphabetic"
msgstr "Alfabetisch"
-#: ../../mod/directory.php:388
+#: ../../mod/directory.php:390
msgid "Reverse Alphabetic"
msgstr "Omgekeerd alfabetisch"
-#: ../../mod/directory.php:389
+#: ../../mod/directory.php:391
msgid "Newest to Oldest"
msgstr "Nieuw naar oud"
-#: ../../mod/directory.php:390
+#: ../../mod/directory.php:392
msgid "Oldest to Newest"
msgstr "Oud naar nieuw"
-#: ../../mod/directory.php:407
+#: ../../mod/directory.php:409
msgid "No entries (some entries may be hidden)."
msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
@@ -4586,7 +4626,7 @@ msgid ""
"removed from the network"
msgstr "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het $Projectname-netwerk verwijderd"
-#: ../../mod/removeme.php:61 ../../mod/settings.php:1109
+#: ../../mod/removeme.php:61 ../../mod/settings.php:1110
msgid "Remove Channel"
msgstr "Kanaal verwijderen"
@@ -4618,7 +4658,7 @@ msgstr "Niet gevonden."
msgid "Menu Item Permissions"
msgstr "Permissies menu-item"
-#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1053
+#: ../../mod/mitem.php:150 ../../mod/mitem.php:223 ../../mod/settings.php:1054
msgid "(click to open/close)"
msgstr "(klik om te openen/sluiten)"
@@ -4726,249 +4766,249 @@ msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
msgid "Could not locate selected profile."
msgstr "Kon het gekozen profiel niet vinden."
-#: ../../mod/connedit.php:218
+#: ../../mod/connedit.php:223
msgid "Connection updated."
msgstr "Connectie bijgewerkt."
-#: ../../mod/connedit.php:220
+#: ../../mod/connedit.php:225
msgid "Failed to update connection record."
msgstr "Bijwerken van connectie-gegevens mislukt."
-#: ../../mod/connedit.php:267
+#: ../../mod/connedit.php:272
msgid "is now connected to"
msgstr "is nu verbonden met"
-#: ../../mod/connedit.php:390
+#: ../../mod/connedit.php:395
msgid "Could not access address book record."
msgstr "Kon geen toegang krijgen tot de record van de connectie."
-#: ../../mod/connedit.php:404
+#: ../../mod/connedit.php:409
msgid "Refresh failed - channel is currently unavailable."
msgstr "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar"
-#: ../../mod/connedit.php:413 ../../mod/connedit.php:422
-#: ../../mod/connedit.php:431 ../../mod/connedit.php:440
-#: ../../mod/connedit.php:453
+#: ../../mod/connedit.php:418 ../../mod/connedit.php:427
+#: ../../mod/connedit.php:436 ../../mod/connedit.php:445
+#: ../../mod/connedit.php:458
msgid "Unable to set address book parameters."
msgstr "Niet in staat om de parameters van connecties in te stellen."
-#: ../../mod/connedit.php:477
+#: ../../mod/connedit.php:482
msgid "Connection has been removed."
msgstr "Connectie is verwijderd"
-#: ../../mod/connedit.php:496
+#: ../../mod/connedit.php:501
#, php-format
msgid "View %s's profile"
msgstr "Profiel van %s weergeven"
-#: ../../mod/connedit.php:500
+#: ../../mod/connedit.php:505
msgid "Refresh Permissions"
msgstr "Permissies vernieuwen"
-#: ../../mod/connedit.php:503
+#: ../../mod/connedit.php:508
msgid "Fetch updated permissions"
msgstr "Aangepaste permissies ophalen"
-#: ../../mod/connedit.php:507
+#: ../../mod/connedit.php:512
msgid "Recent Activity"
msgstr "Kanaal-activiteit"
-#: ../../mod/connedit.php:510
+#: ../../mod/connedit.php:515
msgid "View recent posts and comments"
msgstr "Recente berichten en reacties weergeven"
-#: ../../mod/connedit.php:514 ../../mod/admin.php:785
+#: ../../mod/connedit.php:519 ../../mod/admin.php:811
msgid "Unblock"
msgstr "Deblokkeren"
-#: ../../mod/connedit.php:514 ../../mod/admin.php:784
+#: ../../mod/connedit.php:519 ../../mod/admin.php:810
msgid "Block"
msgstr "Blokkeren"
-#: ../../mod/connedit.php:517
+#: ../../mod/connedit.php:522
msgid "Block (or Unblock) all communications with this connection"
msgstr "Blokkeer (of deblokkeer) alle communicatie met deze connectie"
-#: ../../mod/connedit.php:518
+#: ../../mod/connedit.php:523
msgid "This connection is blocked!"
msgstr "Deze connectie is geblokkeerd!"
-#: ../../mod/connedit.php:522
+#: ../../mod/connedit.php:527
msgid "Unignore"
msgstr "Niet meer negeren"
-#: ../../mod/connedit.php:522 ../../mod/notifications.php:51
+#: ../../mod/connedit.php:527 ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Negeren"
-#: ../../mod/connedit.php:525
+#: ../../mod/connedit.php:530
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie"
-#: ../../mod/connedit.php:526
+#: ../../mod/connedit.php:531
msgid "This connection is ignored!"
msgstr "Deze connectie wordt genegeerd!"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:535
msgid "Unarchive"
msgstr "Niet meer archiveren"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:535
msgid "Archive"
msgstr "Archiveren"
-#: ../../mod/connedit.php:533
+#: ../../mod/connedit.php:538
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud"
-#: ../../mod/connedit.php:534
+#: ../../mod/connedit.php:539
msgid "This connection is archived!"
msgstr "Deze connectie is gearchiveerd!"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:543
msgid "Unhide"
msgstr "Niet meer verbergen"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:543
msgid "Hide"
msgstr "Verbergen"
-#: ../../mod/connedit.php:541
+#: ../../mod/connedit.php:546
msgid "Hide or Unhide this connection from your other connections"
msgstr "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties"
-#: ../../mod/connedit.php:542
+#: ../../mod/connedit.php:547
msgid "This connection is hidden!"
msgstr "Deze connectie is verborgen!"
-#: ../../mod/connedit.php:549
+#: ../../mod/connedit.php:554
msgid "Delete this connection"
msgstr "Deze connectie verwijderen"
-#: ../../mod/connedit.php:630
+#: ../../mod/connedit.php:635
msgid "Approve this connection"
msgstr "Deze connectie accepteren"
-#: ../../mod/connedit.php:630
+#: ../../mod/connedit.php:635
msgid "Accept connection to allow communication"
msgstr "Keur deze connectie goed om communicatie toe te staan"
-#: ../../mod/connedit.php:635
+#: ../../mod/connedit.php:640
msgid "Set Affinity"
msgstr "Verwantschapsfilter instellen"
-#: ../../mod/connedit.php:638
+#: ../../mod/connedit.php:643
msgid "Set Profile"
msgstr "Profiel instellen"
-#: ../../mod/connedit.php:641
+#: ../../mod/connedit.php:646
msgid "Set Affinity & Profile"
msgstr "Verwantschapsfilter en profiel instellen"
-#: ../../mod/connedit.php:669
+#: ../../mod/connedit.php:679
msgid "none"
msgstr "geen"
-#: ../../mod/connedit.php:674
+#: ../../mod/connedit.php:684
msgid "Apply these permissions automatically"
msgstr "Deze permissies automatisch toepassen"
-#: ../../mod/connedit.php:676
+#: ../../mod/connedit.php:686
msgid "This connection's primary address is"
msgstr "Het primaire kanaaladres van deze connectie is"
-#: ../../mod/connedit.php:677
+#: ../../mod/connedit.php:687
msgid "Available locations:"
msgstr "Beschikbare locaties:"
-#: ../../mod/connedit.php:681
+#: ../../mod/connedit.php:691
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast."
-#: ../../mod/connedit.php:683
+#: ../../mod/connedit.php:693
msgid "Slide to adjust your degree of friendship"
msgstr "Schuif om te bepalen hoe goed je iemand kent en/of mag"
-#: ../../mod/connedit.php:685
+#: ../../mod/connedit.php:695
msgid "Slide to adjust your rating"
msgstr "Gebruik de schuif om je beoordeling te geven"
-#: ../../mod/connedit.php:686 ../../mod/connedit.php:691
+#: ../../mod/connedit.php:696 ../../mod/connedit.php:701
msgid "Optionally explain your rating"
msgstr "Verklaar jouw beoordeling (niet verplicht)"
-#: ../../mod/connedit.php:688
+#: ../../mod/connedit.php:698
msgid "Custom Filter"
msgstr "Berichtenfilter"
-#: ../../mod/connedit.php:689
+#: ../../mod/connedit.php:699
msgid "Only import posts with this text"
msgstr "Importeer alleen berichten met deze tekst"
-#: ../../mod/connedit.php:689 ../../mod/connedit.php:690
+#: ../../mod/connedit.php:699 ../../mod/connedit.php:700
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "woorden (één per regel), #tags, /regex/ of talen (lang=iso639-1) - laat leeg om alle berichten te importeren"
-#: ../../mod/connedit.php:690
+#: ../../mod/connedit.php:700
msgid "Do not import posts with this text"
msgstr "Importeer geen berichten met deze tekst"
-#: ../../mod/connedit.php:692
+#: ../../mod/connedit.php:702
msgid "This information is public!"
msgstr "Deze informatie is openbaar!"
-#: ../../mod/connedit.php:697
+#: ../../mod/connedit.php:707
msgid "Connection Pending Approval"
msgstr "Connectie moet nog goedgekeurd worden"
-#: ../../mod/connedit.php:698
+#: ../../mod/connedit.php:708
msgid "Connection Request"
msgstr "Connectieverzoek"
-#: ../../mod/connedit.php:699
+#: ../../mod/connedit.php:709
#, php-format
msgid ""
"(%s) would like to connect with you. Please approve this connection to allow"
" communication."
msgstr "(%s) wil met jou verbinden. Keur dit connectieverzoek goed om onderling te kunnen communiceren."
-#: ../../mod/connedit.php:700 ../../mod/admin.php:781
+#: ../../mod/connedit.php:710 ../../mod/admin.php:807
msgid "Approve"
msgstr "Goedkeuren"
-#: ../../mod/connedit.php:701
+#: ../../mod/connedit.php:711
msgid "Approve Later"
msgstr "Later goedkeuren"
-#: ../../mod/connedit.php:704
+#: ../../mod/connedit.php:714
msgid "inherited"
msgstr "geërfd"
-#: ../../mod/connedit.php:706
+#: ../../mod/connedit.php:716
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
-#: ../../mod/connedit.php:708
+#: ../../mod/connedit.php:718
msgid "Their Settings"
msgstr "Hun instellingen"
-#: ../../mod/connedit.php:709
+#: ../../mod/connedit.php:719
msgid "My Settings"
msgstr "Mijn instellingen"
-#: ../../mod/connedit.php:711
+#: ../../mod/connedit.php:721
msgid "Individual Permissions"
msgstr "Individuele permissies"
-#: ../../mod/connedit.php:712
+#: ../../mod/connedit.php:722
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4976,7 +5016,7 @@ msgid ""
" settings here."
msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen."
-#: ../../mod/connedit.php:713
+#: ../../mod/connedit.php:723
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -4984,7 +5024,7 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. "
-#: ../../mod/connedit.php:714
+#: ../../mod/connedit.php:724
msgid "Last update:"
msgstr "Laatste wijziging:"
@@ -5173,12 +5213,12 @@ msgstr "Aantal minuten voordat chatberichten worden verwijderd"
msgid "%1$s's Chatrooms"
msgstr "Chatkanalen van %1$s"
-#: ../../mod/search.php:211
+#: ../../mod/search.php:212
#, php-format
msgid "Items tagged with: %s"
msgstr "Items getagd met %s"
-#: ../../mod/search.php:213
+#: ../../mod/search.php:214
#, php-format
msgid "Search results for: %s"
msgstr "Zoekresultaten voor %s"
@@ -5200,93 +5240,6 @@ msgstr "Beoordeling (deze informatie is openbaar)"
msgid "Optionally explain your rating (this information is public)"
msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Niet in staat om ontvanger op te zoeken."
-
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Niet in staat om met het aangevraagde kanaal te communiceren."
-
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "Kan opgevraagd kanaal niet verifieren"
-
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."
-
-#: ../../mod/mail.php:132
-msgid "Messages"
-msgstr "Berichten"
-
-#: ../../mod/mail.php:167
-msgid "Message recalled."
-msgstr "Bericht ingetrokken."
-
-#: ../../mod/mail.php:180
-msgid "Conversation removed."
-msgstr "Conversatie verwijderd"
-
-#: ../../mod/mail.php:223
-msgid "Requested channel is not in this network"
-msgstr "Opgevraagd kanaal is niet in dit netwerk beschikbaar"
-
-#: ../../mod/mail.php:231
-msgid "Send Private Message"
-msgstr "Privébericht versturen"
-
-#: ../../mod/mail.php:232 ../../mod/mail.php:361
-msgid "To:"
-msgstr "Aan:"
-
-#: ../../mod/mail.php:235 ../../mod/mail.php:363
-msgid "Subject:"
-msgstr "Onderwerp:"
-
-#: ../../mod/mail.php:238 ../../mod/invite.php:131
-msgid "Your message:"
-msgstr "Jouw bericht:"
-
-#: ../../mod/mail.php:242
-msgid "Send"
-msgstr "Verzenden"
-
-#: ../../mod/mail.php:333
-msgid "Delete message"
-msgstr "Bericht verwijderen"
-
-#: ../../mod/mail.php:334
-msgid "Delivery report"
-msgstr "Afleveringsrapport"
-
-#: ../../mod/mail.php:335
-msgid "Recall message"
-msgstr "Bericht intrekken"
-
-#: ../../mod/mail.php:337
-msgid "Message has been recalled."
-msgstr "Bericht is ingetrokken."
-
-#: ../../mod/mail.php:354
-msgid "Delete Conversation"
-msgstr "Verwijder conversatie"
-
-#: ../../mod/mail.php:356
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."
-
-#: ../../mod/mail.php:360
-msgid "Send Reply"
-msgstr "Antwoord versturen"
-
-#: ../../mod/mail.php:365
-#, php-format
-msgid "Your message for %s (%s):"
-msgstr "Jouw privébericht aan %s (%s):"
-
#: ../../mod/photos.php:79
msgid "Page owner information could not be retrieved."
msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
@@ -5362,14 +5315,6 @@ msgstr "Nieuwste eerst weergeven"
msgid "Show Oldest First"
msgstr "Oudste eerst weergeven"
-#: ../../mod/photos.php:753 ../../mod/photos.php:1286
-msgid "View Photo"
-msgstr "Foto weergeven"
-
-#: ../../mod/photos.php:782
-msgid "Edit Album"
-msgstr "Album bewerken"
-
#: ../../mod/photos.php:827
msgid "Permission denied. Access to this item may be restricted."
msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
@@ -5386,7 +5331,7 @@ msgstr "Als profielfoto gebruiken"
msgid "Private Photo"
msgstr "Privéfoto"
-#: ../../mod/photos.php:905 ../../mod/events.php:528
+#: ../../mod/photos.php:905 ../../mod/events.php:525 ../../mod/events.php:532
msgid "Previous"
msgstr "Vorige"
@@ -5394,7 +5339,8 @@ msgstr "Vorige"
msgid "View Full Size"
msgstr "Volledige grootte weergeven"
-#: ../../mod/photos.php:914 ../../mod/events.php:529 ../../mod/setup.php:285
+#: ../../mod/photos.php:914 ../../mod/events.php:526 ../../mod/events.php:533
+#: ../../mod/setup.php:285
msgid "Next"
msgstr "Volgende"
@@ -5454,63 +5400,6 @@ msgstr "Album weergeven"
msgid "Recent Photos"
msgstr "Recente foto's"
-#: ../../mod/dreport.php:23
-msgid "Invalid message"
-msgstr "Ongeldig bericht"
-
-#: ../../mod/dreport.php:55
-msgid "no results"
-msgstr "geen resultaten"
-
-#: ../../mod/dreport.php:60
-#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Afleveringsrapport voor %1$s"
-
-#: ../../mod/dreport.php:74
-msgid "channel sync processed"
-msgstr "kanaalsync verwerkt"
-
-#: ../../mod/dreport.php:78
-msgid "queued"
-msgstr "in wachtrij"
-
-#: ../../mod/dreport.php:82
-msgid "posted"
-msgstr "verstuurd"
-
-#: ../../mod/dreport.php:86
-msgid "accepted for delivery"
-msgstr "geaccepteerd om afgeleverd te worden"
-
-#: ../../mod/dreport.php:90
-msgid "updated"
-msgstr "geüpdatet"
-
-#: ../../mod/dreport.php:93
-msgid "update ignored"
-msgstr "update genegeerd"
-
-#: ../../mod/dreport.php:96
-msgid "permission denied"
-msgstr "toegang geweigerd"
-
-#: ../../mod/dreport.php:100
-msgid "recipient not found"
-msgstr "ontvanger niet gevonden"
-
-#: ../../mod/dreport.php:103
-msgid "mail recalled"
-msgstr "Privébericht ingetrokken"
-
-#: ../../mod/dreport.php:106
-msgid "duplicate mail received"
-msgstr "dubbel privébericht ontvangen"
-
-#: ../../mod/dreport.php:109
-msgid "mail delivered"
-msgstr "privébericht afgeleverd"
-
#: ../../mod/editblock.php:78 ../../mod/editblock.php:94
#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
#: ../../mod/editwebpage.php:77
@@ -5548,7 +5437,7 @@ msgstr "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig"
msgid "Item is not editable"
msgstr "Item is niet te bewerken"
-#: ../../mod/editpost.php:55
+#: ../../mod/editpost.php:57
msgid "Delete item?"
msgstr "Item verwijderen?"
@@ -5600,10 +5489,10 @@ msgstr "# klonen"
msgid "Message queues"
msgstr "Berichtenwachtrij"
-#: ../../mod/admin.php:198 ../../mod/admin.php:409 ../../mod/admin.php:506
-#: ../../mod/admin.php:774 ../../mod/admin.php:938 ../../mod/admin.php:1030
-#: ../../mod/admin.php:1070 ../../mod/admin.php:1230 ../../mod/admin.php:1264
-#: ../../mod/admin.php:1349
+#: ../../mod/admin.php:198 ../../mod/admin.php:433 ../../mod/admin.php:532
+#: ../../mod/admin.php:800 ../../mod/admin.php:964 ../../mod/admin.php:1061
+#: ../../mod/admin.php:1101 ../../mod/admin.php:1261 ../../mod/admin.php:1295
+#: ../../mod/admin.php:1380
msgid "Administration"
msgstr "Beheer"
@@ -5615,7 +5504,7 @@ msgstr "Samenvatting"
msgid "Registered accounts"
msgstr "Geregistreerde accounts"
-#: ../../mod/admin.php:203 ../../mod/admin.php:510
+#: ../../mod/admin.php:203 ../../mod/admin.php:536
msgid "Pending registrations"
msgstr "Accounts die op goedkeuring wachten"
@@ -5623,7 +5512,7 @@ msgstr "Accounts die op goedkeuring wachten"
msgid "Registered channels"
msgstr "Geregistreerde kanalen"
-#: ../../mod/admin.php:205 ../../mod/admin.php:511
+#: ../../mod/admin.php:205 ../../mod/admin.php:537
msgid "Active plugins"
msgstr "Ingeschakelde plug-ins"
@@ -5631,674 +5520,682 @@ msgstr "Ingeschakelde plug-ins"
msgid "Version"
msgstr "Versie"
-#: ../../mod/admin.php:321
+#: ../../mod/admin.php:324
msgid "Site settings updated."
msgstr "Hub-instellingen bijgewerkt."
-#: ../../mod/admin.php:358 ../../mod/settings.php:790
+#: ../../mod/admin.php:361 ../../mod/settings.php:791
msgid "mobile"
msgstr "mobiel"
-#: ../../mod/admin.php:360
+#: ../../mod/admin.php:363
msgid "experimental"
msgstr "experimenteel"
-#: ../../mod/admin.php:362
+#: ../../mod/admin.php:365
msgid "unsupported"
msgstr "Niet ondersteund"
-#: ../../mod/admin.php:387
+#: ../../mod/admin.php:411
msgid "Yes - with approval"
msgstr "Ja - met goedkeuring"
-#: ../../mod/admin.php:393
+#: ../../mod/admin.php:417
msgid "My site is not a public server"
msgstr "Mijn $Projectname-hub is niet openbaar"
-#: ../../mod/admin.php:394
+#: ../../mod/admin.php:418
msgid "My site has paid access only"
msgstr "Mijn $Projectname-hub kent alleen betaalde toegang"
-#: ../../mod/admin.php:395
+#: ../../mod/admin.php:419
msgid "My site has free access only"
msgstr "Mijn $Projectname-hub kent alleen gratis toegang"
-#: ../../mod/admin.php:396
+#: ../../mod/admin.php:420
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mijn $Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
-#: ../../mod/admin.php:412 ../../mod/register.php:207
+#: ../../mod/admin.php:436 ../../mod/register.php:207
msgid "Registration"
msgstr "Registratie"
-#: ../../mod/admin.php:413
+#: ../../mod/admin.php:437
msgid "File upload"
msgstr "Bestand uploaden"
-#: ../../mod/admin.php:414
+#: ../../mod/admin.php:438
msgid "Policies"
msgstr "Beleid"
-#: ../../mod/admin.php:419
+#: ../../mod/admin.php:443
msgid "Site name"
msgstr "Naam van deze $Projectname-hub"
-#: ../../mod/admin.php:420
+#: ../../mod/admin.php:444
msgid "Banner/Logo"
msgstr "Banner/logo"
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:445
msgid "Administrator Information"
msgstr "Informatie over de beheerder van deze hub"
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:445
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:446
msgid "System language"
msgstr "Standaardtaal"
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:447
msgid "System theme"
msgstr "Standaardthema"
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:447
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standaardthema voor $Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:448
msgid "Mobile system theme"
msgstr "Standaardthema voor mobiel"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:448
msgid "Theme for mobile devices"
msgstr "Thema voor mobiele apparaten"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:450
msgid "Allow Feeds as Connections"
msgstr "Sta feeds toe als connecties"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:450
msgid "(Heavy system resource usage)"
msgstr "(sterk negatieve invloed op systeembronnen hub)"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:451
msgid "Maximum image size"
msgstr "Maximale grootte van afbeeldingen"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:451
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:452
msgid "Does this site allow new member registration?"
msgstr "Staat deze hub nieuwe accounts toe?"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:453
msgid "Which best describes the types of account offered by this hub?"
msgstr "Wat voor soort accounts biedt deze $Projectname-hub aan? Kies wat het meest in de buurt komt."
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:454
msgid "Register text"
msgstr "Tekst tijdens registratie"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:454
msgid "Will be displayed prominently on the registration page."
msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:455
msgid "Site homepage to show visitors (default: login box)"
msgstr "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:455
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken."
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:456
msgid "Preserve site homepage URL"
msgstr "Behoudt de URL van de hub (/)"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:456
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)"
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:457
msgid "Accounts abandoned after x days"
msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:457
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:458
msgid "Allowed friend domains"
msgstr "Toegestane domeinen"
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:458
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze $Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:459
msgid "Allowed email domains"
msgstr "Toegestane e-maildomeinen"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:459
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:460
msgid "Not allowed email domains"
msgstr "Niet toegestane e-maildomeinen"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:460
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. "
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:461
msgid "Block public"
msgstr "Openbare toegang blokkeren"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:461
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor ingelogde leden."
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:462
msgid "Verify Email Addresses"
msgstr "E-mailadres verifieren"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:462
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:463
msgid "Force publish"
msgstr "Dwing kanaalvermelding af"
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:463
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:464
msgid "Disable discovery tab"
msgstr "Ontdekkingstab"
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:464
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Verwijder de tab in de matrix-weergave waarin zich een selectie aan openbare berichten bevindt, die automatisch voor deze hub zijn uitgekozen."
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:465
msgid "login on Homepage"
msgstr "Inlogformulier op de homepagina"
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:465
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. "
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:467
+msgid "Directory Server URL"
+msgstr "Server-URL voor de kanalengids"
+
+#: ../../mod/admin.php:467
+msgid "Default directory server"
+msgstr "Standaardserver voor de kanalengids"
+
+#: ../../mod/admin.php:469
msgid "Proxy user"
msgstr "Gebruikersnaam proxy"
-#: ../../mod/admin.php:444
+#: ../../mod/admin.php:470
msgid "Proxy URL"
msgstr "URL proxy"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:471
msgid "Network timeout"
msgstr "Netwerktimeout"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:471
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:472
msgid "Delivery interval"
msgstr "Afleveringsinterval"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:472
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:473
msgid "Deliveries per process"
msgstr "Leveringen per serverproces"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:473
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5"
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:474
msgid "Poll interval"
msgstr "Poll-interval"
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:474
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:475
msgid "Maximum Load Average"
msgstr "Maximaal gemiddelde systeembelasting"
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:475
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:476
msgid "Expiration period in days for imported (matrix/network) content"
msgstr "Aantal dagen waarna geïmporteerde inhoud uit iemands matrix/netwerk-pagina wordt verwijderd."
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:476
msgid "0 for no expiration of imported content"
msgstr "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud."
-#: ../../mod/admin.php:498
+#: ../../mod/admin.php:524
msgid "No server found"
msgstr "Geen hub gevonden"
-#: ../../mod/admin.php:505 ../../mod/admin.php:788
+#: ../../mod/admin.php:531 ../../mod/admin.php:814
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "for channel"
msgstr "voor kanaal"
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "on server"
msgstr "op hub"
-#: ../../mod/admin.php:505
+#: ../../mod/admin.php:531
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:507
+#: ../../mod/admin.php:533
msgid "Server"
msgstr "Hubbeheer"
-#: ../../mod/admin.php:524
+#: ../../mod/admin.php:550
msgid "Update has been marked successful"
msgstr "Update is als succesvol gemarkeerd"
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:560
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
-#: ../../mod/admin.php:537
+#: ../../mod/admin.php:563
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s was geslaagd."
-#: ../../mod/admin.php:541
+#: ../../mod/admin.php:567
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
-#: ../../mod/admin.php:544
+#: ../../mod/admin.php:570
#, php-format
msgid "Update function %s could not be found."
msgstr "Update-functie %s kon niet gevonden worden."
-#: ../../mod/admin.php:560
+#: ../../mod/admin.php:586
msgid "No failed updates."
msgstr "Geen mislukte updates."
-#: ../../mod/admin.php:564
+#: ../../mod/admin.php:590
msgid "Failed Updates"
msgstr "Mislukte updates"
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:592
msgid "Mark success (if update was manually applied)"
msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
-#: ../../mod/admin.php:567
+#: ../../mod/admin.php:593
msgid "Attempt to execute this update step automatically"
msgstr "Poging om deze stap van de update automatisch uit te voeren."
-#: ../../mod/admin.php:599
+#: ../../mod/admin.php:625
msgid "Queue Statistics"
msgstr "Wachtrij-statistieken"
-#: ../../mod/admin.php:600
+#: ../../mod/admin.php:626
msgid "Total Entries"
msgstr "Aantal vermeldingen"
-#: ../../mod/admin.php:601
+#: ../../mod/admin.php:627
msgid "Priority"
msgstr "Prioriteit"
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:628
msgid "Destination URL"
msgstr "Doel-URL"
-#: ../../mod/admin.php:603
+#: ../../mod/admin.php:629
msgid "Mark hub permanently offline"
msgstr "Hub als permanent offline markeren"
-#: ../../mod/admin.php:604
+#: ../../mod/admin.php:630
msgid "Empty queue for this hub"
msgstr "Berichtenwachtrij voor deze hub legen"
-#: ../../mod/admin.php:605
+#: ../../mod/admin.php:631
msgid "Last known contact"
msgstr "Voor het laatst contact"
-#: ../../mod/admin.php:641
+#: ../../mod/admin.php:667
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
-#: ../../mod/admin.php:649
+#: ../../mod/admin.php:675
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s account verwijderd"
msgstr[1] "%s accounts verwijderd"
-#: ../../mod/admin.php:685
+#: ../../mod/admin.php:711
msgid "Account not found"
msgstr "Account niet gevonden"
-#: ../../mod/admin.php:697
+#: ../../mod/admin.php:723
#, php-format
msgid "Account '%s' deleted"
msgstr "Account '%s' verwijderd"
-#: ../../mod/admin.php:705
+#: ../../mod/admin.php:731
#, php-format
msgid "Account '%s' blocked"
msgstr "Account '%s' geblokkeerd"
-#: ../../mod/admin.php:713
+#: ../../mod/admin.php:739
#, php-format
msgid "Account '%s' unblocked"
msgstr "Account '%s' gedeblokkeerd"
-#: ../../mod/admin.php:775 ../../mod/admin.php:787
+#: ../../mod/admin.php:801 ../../mod/admin.php:813
msgid "Users"
msgstr "Accounts"
-#: ../../mod/admin.php:777 ../../mod/admin.php:941
+#: ../../mod/admin.php:803 ../../mod/admin.php:967
msgid "select all"
msgstr "alles selecteren"
-#: ../../mod/admin.php:778
+#: ../../mod/admin.php:804
msgid "User registrations waiting for confirm"
msgstr "Accounts die op goedkeuring wachten"
-#: ../../mod/admin.php:779
+#: ../../mod/admin.php:805
msgid "Request date"
msgstr "Tijd/datum verzoek"
-#: ../../mod/admin.php:780
+#: ../../mod/admin.php:806
msgid "No registrations."
msgstr "Geen verzoeken."
-#: ../../mod/admin.php:782
+#: ../../mod/admin.php:808
msgid "Deny"
msgstr "Afkeuren"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Register date"
msgstr "Geregistreerd"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Last login"
msgstr "Laatste keer ingelogd"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Expires"
msgstr "Verloopt"
-#: ../../mod/admin.php:788
+#: ../../mod/admin.php:814
msgid "Service Class"
msgstr "Abonnementen"
-#: ../../mod/admin.php:790
+#: ../../mod/admin.php:816
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
-#: ../../mod/admin.php:791
+#: ../../mod/admin.php:817
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:827
+#: ../../mod/admin.php:853
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
-#: ../../mod/admin.php:836
+#: ../../mod/admin.php:862
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] "Scripts toegestaan/niet toegestaan voor %s kanaal"
msgstr[1] "Scripts toegestaan/niet toegestaan voor %s kanalen"
-#: ../../mod/admin.php:843
+#: ../../mod/admin.php:869
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s kanaal verwijderd"
msgstr[1] "%s kanalen verwijderd"
-#: ../../mod/admin.php:863
+#: ../../mod/admin.php:889
msgid "Channel not found"
msgstr "Kanaal niet gevonden"
-#: ../../mod/admin.php:874
+#: ../../mod/admin.php:900
#, php-format
msgid "Channel '%s' deleted"
msgstr "Kanaal '%s' verwijderd"
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:912
#, php-format
msgid "Channel '%s' censored"
msgstr "Kanaal '%s' gecensureerd"
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:912
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Kanaal '%s' ongecensureerd"
-#: ../../mod/admin.php:897
+#: ../../mod/admin.php:923
#, php-format
msgid "Channel '%s' code allowed"
msgstr "Scripts toegestaan voor kanaal '%s'"
-#: ../../mod/admin.php:897
+#: ../../mod/admin.php:923
#, php-format
msgid "Channel '%s' code disallowed"
msgstr "Scripts niet toegestaan voor kanaal '%s'"
-#: ../../mod/admin.php:943
+#: ../../mod/admin.php:969
msgid "Censor"
msgstr "Censureren"
-#: ../../mod/admin.php:944
+#: ../../mod/admin.php:970
msgid "Uncensor"
msgstr "Niet censureren"
-#: ../../mod/admin.php:945
+#: ../../mod/admin.php:971
msgid "Allow Code"
msgstr "Scripts toestaan"
-#: ../../mod/admin.php:946
+#: ../../mod/admin.php:972
msgid "Disallow Code"
msgstr "Scripts niet toestaan"
-#: ../../mod/admin.php:948
+#: ../../mod/admin.php:974
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:948 ../../mod/profiles.php:447
+#: ../../mod/admin.php:974 ../../mod/profiles.php:447
msgid "Address"
msgstr "Kanaaladres"
-#: ../../mod/admin.php:950
+#: ../../mod/admin.php:976
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:951
+#: ../../mod/admin.php:977
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:991
+#: ../../mod/admin.php:1017
#, php-format
msgid "Plugin %s disabled."
msgstr "Plug-in %s uitgeschakeld."
-#: ../../mod/admin.php:995
+#: ../../mod/admin.php:1021
#, php-format
msgid "Plugin %s enabled."
msgstr "Plug-in %s ingeschakeld"
-#: ../../mod/admin.php:1005 ../../mod/admin.php:1203
+#: ../../mod/admin.php:1031 ../../mod/admin.php:1234
msgid "Disable"
msgstr "Uitschakelen"
-#: ../../mod/admin.php:1008 ../../mod/admin.php:1205
+#: ../../mod/admin.php:1034 ../../mod/admin.php:1236
msgid "Enable"
msgstr "Inschakelen"
-#: ../../mod/admin.php:1032 ../../mod/admin.php:1232
+#: ../../mod/admin.php:1063 ../../mod/admin.php:1263
msgid "Toggle"
msgstr "Omschakelen"
-#: ../../mod/admin.php:1040 ../../mod/admin.php:1242
+#: ../../mod/admin.php:1071 ../../mod/admin.php:1273
msgid "Author: "
msgstr "Auteur: "
-#: ../../mod/admin.php:1041 ../../mod/admin.php:1243
+#: ../../mod/admin.php:1072 ../../mod/admin.php:1274
msgid "Maintainer: "
msgstr "Beheerder: "
-#: ../../mod/admin.php:1168
+#: ../../mod/admin.php:1199
msgid "No themes found."
msgstr "Geen thema's gevonden"
-#: ../../mod/admin.php:1224
+#: ../../mod/admin.php:1255
msgid "Screenshot"
msgstr "Schermafdruk"
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1301
msgid "[Experimental]"
msgstr "[Experimenteel]"
-#: ../../mod/admin.php:1271
+#: ../../mod/admin.php:1302
msgid "[Unsupported]"
msgstr "[Niet ondersteund]"
-#: ../../mod/admin.php:1295
+#: ../../mod/admin.php:1326
msgid "Log settings updated."
msgstr "Logboek-instellingen bijgewerkt."
-#: ../../mod/admin.php:1352
+#: ../../mod/admin.php:1383
msgid "Clear"
msgstr "Leegmaken"
-#: ../../mod/admin.php:1358
+#: ../../mod/admin.php:1389
msgid "Debugging"
msgstr "Debuggen"
-#: ../../mod/admin.php:1359
+#: ../../mod/admin.php:1390
msgid "Log file"
msgstr "Logbestand"
-#: ../../mod/admin.php:1359
+#: ../../mod/admin.php:1390
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je $Projectname-installatie."
-#: ../../mod/admin.php:1360
+#: ../../mod/admin.php:1391
msgid "Log level"
msgstr "Logniveau"
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1437
msgid "New Profile Field"
msgstr "Nieuw profielveld"
-#: ../../mod/admin.php:1407 ../../mod/admin.php:1427
+#: ../../mod/admin.php:1438 ../../mod/admin.php:1458
msgid "Field nickname"
msgstr "Bijnaam voor veld"
-#: ../../mod/admin.php:1407 ../../mod/admin.php:1427
+#: ../../mod/admin.php:1438 ../../mod/admin.php:1458
msgid "System name of field"
msgstr "Systeemnaam voor veld"
-#: ../../mod/admin.php:1408 ../../mod/admin.php:1428
+#: ../../mod/admin.php:1439 ../../mod/admin.php:1459
msgid "Input type"
msgstr "Invoertype"
-#: ../../mod/admin.php:1409 ../../mod/admin.php:1429
+#: ../../mod/admin.php:1440 ../../mod/admin.php:1460
msgid "Field Name"
msgstr "Veldnaam"
-#: ../../mod/admin.php:1409 ../../mod/admin.php:1429
+#: ../../mod/admin.php:1440 ../../mod/admin.php:1460
msgid "Label on profile pages"
msgstr "Tekstlabel voor op profielpagina's"
-#: ../../mod/admin.php:1410 ../../mod/admin.php:1430
+#: ../../mod/admin.php:1441 ../../mod/admin.php:1461
msgid "Help text"
msgstr "Helptekst"
-#: ../../mod/admin.php:1410 ../../mod/admin.php:1430
+#: ../../mod/admin.php:1441 ../../mod/admin.php:1461
msgid "Additional info (optional)"
msgstr "Extra informatie (optioneel)"
-#: ../../mod/admin.php:1420
+#: ../../mod/admin.php:1451
msgid "Field definition not found"
msgstr "Velddefinitie niet gevonden"
-#: ../../mod/admin.php:1426
+#: ../../mod/admin.php:1457
msgid "Edit Profile Field"
msgstr "Profielveld bewerken"
@@ -6330,7 +6227,7 @@ msgstr "Naam van app"
msgid "Location (URL) of app"
msgstr "Locatie (URL) van app"
-#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:97
msgid "Description"
msgstr "Omschrijving"
@@ -6537,11 +6434,16 @@ msgstr "Modulenaam:"
msgid "Layout Help"
msgstr "Lay-out-hulp"
-#: ../../mod/subthread.php:102
+#: ../../mod/subthread.php:114
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr "%1$s volgt het %3$s van %2$s"
+#: ../../mod/subthread.php:116
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr "%1$s volgt het %3$s van %2$s niet meer"
+
#: ../../mod/lostpass.php:15
msgid "No valid account found."
msgstr "Geen geldige account gevonden."
@@ -6566,7 +6468,7 @@ msgid ""
"Password reset failed."
msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
-#: ../../mod/lostpass.php:86 ../../boot.php:1511
+#: ../../mod/lostpass.php:86 ../../boot.php:1494
msgid "Password Reset"
msgstr "Wachtwoord vergeten?"
@@ -6652,33 +6554,29 @@ msgstr "Titel en begintijd van gebeurtenis zijn vereist."
msgid "Event not found."
msgstr "Gebeurtenis niet gevonden"
-#: ../../mod/events.php:448
+#: ../../mod/events.php:446
msgid "l, F j"
msgstr "l j F"
-#: ../../mod/events.php:470
+#: ../../mod/events.php:468
msgid "Edit event"
msgstr "Gebeurtenis bewerken"
-#: ../../mod/events.php:472
+#: ../../mod/events.php:470
msgid "Delete event"
msgstr "Gebeurtenis verwijderen"
-#: ../../mod/events.php:506
+#: ../../mod/events.php:504
msgid "calendar"
msgstr "agenda"
-#: ../../mod/events.php:527
-msgid "Create New Event"
-msgstr "Nieuwe gebeurtenis aanmaken"
-
-#: ../../mod/events.php:530
-msgid "Export"
-msgstr "Exporteren"
+#: ../../mod/events.php:524
+msgid "New Event"
+msgstr "Nieuwe gebeurtenis"
-#: ../../mod/events.php:533
-msgid "Import"
-msgstr "Importeren"
+#: ../../mod/events.php:534
+msgid "Today"
+msgstr "Vandaag"
#: ../../mod/events.php:564
msgid "Event removed"
@@ -6826,7 +6724,7 @@ msgstr "Kies een profiel:"
msgid "Upload Profile Photo"
msgstr "Profielfoto uploaden"
-#: ../../mod/profile_photo.php:454 ../../mod/settings.php:972
+#: ../../mod/profile_photo.php:454 ../../mod/settings.php:973
msgid "or"
msgstr "of"
@@ -6898,20 +6796,24 @@ msgstr "Leeg bericht geannuleerd"
msgid "Executable content type not permitted to this channel."
msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
-#: ../../mod/item.php:908
+#: ../../mod/item.php:822
+msgid "Duplicate post suppressed."
+msgstr "Dubbel bericht tegengehouden."
+
+#: ../../mod/item.php:953
msgid "System error. Post not saved."
msgstr "Systeemfout. Bericht niet opgeslagen."
-#: ../../mod/item.php:1175
+#: ../../mod/item.php:1220
msgid "Unable to obtain post information from database."
msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen."
-#: ../../mod/item.php:1182
+#: ../../mod/item.php:1227
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
-#: ../../mod/item.php:1189
+#: ../../mod/item.php:1234
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
@@ -7031,7 +6933,7 @@ msgid ""
"removed from the network"
msgstr "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het $Projectname-netwerk verwijderd"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:697
+#: ../../mod/removeaccount.php:61 ../../mod/settings.php:698
msgid "Remove Account"
msgstr "Account verwijderen"
@@ -7043,11 +6945,11 @@ msgstr "Geen abonnementsbeperkingen gevonden."
msgid "Item not available."
msgstr "Item is niet aanwezig."
-#: ../../mod/pubsites.php:16
+#: ../../mod/pubsites.php:18
msgid "Public Sites"
msgstr "Openbare hubs"
-#: ../../mod/pubsites.php:19
+#: ../../mod/pubsites.php:21
msgid ""
"The listed sites allow public registration for the $Projectname network. All"
" sites in the network are interlinked so membership on any of them conveys "
@@ -7056,39 +6958,39 @@ msgid ""
"provide additional details."
msgstr "Op de hier weergegeven hubs kan iedereen zich voor het $Projectname-netwerk aanmelden. Alle hubs in het $Projectname-netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen betaalde abonnementen voor uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven."
-#: ../../mod/pubsites.php:25
+#: ../../mod/pubsites.php:27
msgid "Rate this hub"
msgstr "Beoordeel deze hub"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Site URL"
msgstr "URL hub"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Access Type"
msgstr "Toegangstype"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Registration Policy"
msgstr "Registratiebeleid"
-#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454
+#: ../../mod/pubsites.php:28 ../../mod/profiles.php:454
msgid "Location"
msgstr "Locatie"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "Project"
msgstr "Project"
-#: ../../mod/pubsites.php:26
+#: ../../mod/pubsites.php:28
msgid "View hub ratings"
msgstr "Bekijk hubbeoordelingen"
-#: ../../mod/pubsites.php:30
+#: ../../mod/pubsites.php:32
msgid "Rate"
msgstr "Beoordeel"
-#: ../../mod/pubsites.php:31
+#: ../../mod/pubsites.php:33
msgid "View ratings"
msgstr "Bekijk beoordelingen"
@@ -7200,127 +7102,68 @@ msgstr "Authenticeren"
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Onvoldoende permissies. Doorgestuurd naar profielpagina."
-#: ../../mod/siteinfo.php:111
-#, php-format
-msgid "Version %s"
-msgstr "Versie %s"
-
-#: ../../mod/siteinfo.php:132
-msgid "Installed plugins/addons/apps:"
-msgstr "Ingeschakelde plug-ins/add-ons/apps:"
-
-#: ../../mod/siteinfo.php:145
-msgid "No installed plugins/addons/apps"
-msgstr "Geen ingeschakelde plug-ins/add-ons/apps"
-
-#: ../../mod/siteinfo.php:158
-msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Dit is een $Projectname-hub - $Projectname is een wereldwijd coöperatief netwerk van gedecentraliseerde websites (hubs) met verbeterde privacy."
-
-#: ../../mod/siteinfo.php:160
-msgid "Tag: "
-msgstr "Tag: "
-
-#: ../../mod/siteinfo.php:162
-msgid "Last background fetch: "
-msgstr "Meest recente achtergrond-fetch:"
-
-#: ../../mod/siteinfo.php:164
-msgid "Current load average: "
-msgstr "Gemiddelde systeembelasting is nu:"
-
-#: ../../mod/siteinfo.php:167
-msgid "Running at web location"
-msgstr "Draaiend op weblocatie"
-
-#: ../../mod/siteinfo.php:168
-msgid ""
-"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
-"about $Projectname."
-msgstr "Bezoek <a href=\"http://hubzilla.org\">hubzilla.org</a> "
-
-#: ../../mod/siteinfo.php:169
-msgid "Bug reports and issues: please visit"
-msgstr "Bugrapporten en andere kwesties: bezoek"
-
-#: ../../mod/siteinfo.php:171
-msgid "$projectname issues"
-msgstr "$projectname-issues"
-
-#: ../../mod/siteinfo.php:172
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com"
-
-#: ../../mod/siteinfo.php:174
-msgid "Site Administrators"
-msgstr "Hubbeheerders: "
-
-#: ../../mod/import.php:27
+#: ../../mod/import.php:28
#, php-format
msgid "Your service plan only allows %d channels."
msgstr "Jouw abonnement staat maar %d kanalen toe."
-#: ../../mod/import.php:65 ../../mod/import_items.php:38
+#: ../../mod/import.php:66 ../../mod/import_items.php:38
msgid "Nothing to import."
msgstr "Niets gevonden om te importeren"
-#: ../../mod/import.php:89 ../../mod/import_items.php:62
+#: ../../mod/import.php:90 ../../mod/import_items.php:62
msgid "Unable to download data from old server"
msgstr "Niet in staat om gegevens van de oude hub te downloaden"
-#: ../../mod/import.php:95 ../../mod/import_items.php:68
+#: ../../mod/import.php:96 ../../mod/import_items.php:68
msgid "Imported file is empty."
msgstr "Geïmporteerde bestand is leeg"
-#: ../../mod/import.php:115 ../../mod/import_items.php:82
+#: ../../mod/import.php:116 ../../mod/import_items.php:82
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Waarschuwing: database-versies lopen %1$d updates achter."
-#: ../../mod/import.php:148
+#: ../../mod/import.php:149
msgid "No channel. Import failed."
msgstr "Geen kanaal. Importeren mislukt."
-#: ../../mod/import.php:499
+#: ../../mod/import.php:509
msgid "You must be logged in to use this feature."
msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."
-#: ../../mod/import.php:504
+#: ../../mod/import.php:514
msgid "Import Channel"
msgstr "Kanaal importeren"
-#: ../../mod/import.php:505
+#: ../../mod/import.php:515
msgid ""
"Use this form to import an existing channel from a different server/hub. You"
" may retrieve the channel identity from the old server/hub via the network "
"or provide an export file."
msgstr "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken."
-#: ../../mod/import.php:506 ../../mod/import_items.php:121
+#: ../../mod/import.php:516 ../../mod/import_items.php:121
msgid "File to Upload"
msgstr "Bestand om te uploaden"
-#: ../../mod/import.php:507
+#: ../../mod/import.php:517
msgid "Or provide the old server/hub details"
msgstr "Of vul de gegevens van de oude hub in"
-#: ../../mod/import.php:508
+#: ../../mod/import.php:518
msgid "Your old identity address (xyz@example.com)"
msgstr "Jouw oude kanaaladres (xyz@example.com)"
-#: ../../mod/import.php:509
+#: ../../mod/import.php:519
msgid "Your old login email address"
msgstr "Het e-mailadres van je oude account"
-#: ../../mod/import.php:510
+#: ../../mod/import.php:520
msgid "Your old login password"
msgstr "Wachtwoord van jouw oude account"
-#: ../../mod/import.php:511
+#: ../../mod/import.php:521
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"
@@ -7328,22 +7171,79 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."
-#: ../../mod/import.php:512
+#: ../../mod/import.php:522
msgid "Make this hub my primary location"
msgstr "Stel deze hub als mijn primaire locatie in"
-#: ../../mod/import.php:513
+#: ../../mod/import.php:523
msgid ""
"Import existing posts if possible (experimental - limited by available "
"memory"
msgstr "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)"
-#: ../../mod/import.php:514
+#: ../../mod/import.php:524
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
msgstr "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid."
+#: ../../mod/dreport.php:23
+msgid "Invalid message"
+msgstr "Ongeldig bericht"
+
+#: ../../mod/dreport.php:55
+msgid "no results"
+msgstr "geen resultaten"
+
+#: ../../mod/dreport.php:60
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Afleveringsrapport voor %1$s"
+
+#: ../../mod/dreport.php:74
+msgid "channel sync processed"
+msgstr "kanaalsync verwerkt"
+
+#: ../../mod/dreport.php:78
+msgid "queued"
+msgstr "in wachtrij"
+
+#: ../../mod/dreport.php:82
+msgid "posted"
+msgstr "verstuurd"
+
+#: ../../mod/dreport.php:86
+msgid "accepted for delivery"
+msgstr "geaccepteerd om afgeleverd te worden"
+
+#: ../../mod/dreport.php:90
+msgid "updated"
+msgstr "geüpdatet"
+
+#: ../../mod/dreport.php:93
+msgid "update ignored"
+msgstr "update genegeerd"
+
+#: ../../mod/dreport.php:96
+msgid "permission denied"
+msgstr "toegang geweigerd"
+
+#: ../../mod/dreport.php:100
+msgid "recipient not found"
+msgstr "ontvanger niet gevonden"
+
+#: ../../mod/dreport.php:103
+msgid "mail recalled"
+msgstr "Privébericht ingetrokken"
+
+#: ../../mod/dreport.php:106
+msgid "duplicate mail received"
+msgstr "dubbel privébericht ontvangen"
+
+#: ../../mod/dreport.php:109
+msgid "mail delivered"
+msgstr "privébericht afgeleverd"
+
#: ../../mod/thing.php:111
msgid "Thing updated"
msgstr "Ding bijgewerkt"
@@ -7442,6 +7342,10 @@ msgstr "Uitnodigingen verzenden"
msgid "Enter email addresses, one per line:"
msgstr "Voer e-mailadressen in, één per regel:"
+#: ../../mod/invite.php:131 ../../mod/mail.php:238
+msgid "Your message:"
+msgstr "Jouw bericht:"
+
#: ../../mod/invite.php:132
msgid "Please join my community on $Projectname."
msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op https://redmatrix.me."
@@ -7467,6 +7371,89 @@ msgstr "of bezoek "
msgid "3. Click [Connect]"
msgstr "3. Klik op [+ Verbinden]"
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Niet in staat om ontvanger op te zoeken."
+
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Niet in staat om met het aangevraagde kanaal te communiceren."
+
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "Kan opgevraagd kanaal niet verifieren"
+
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."
+
+#: ../../mod/mail.php:132
+msgid "Messages"
+msgstr "Berichten"
+
+#: ../../mod/mail.php:167
+msgid "Message recalled."
+msgstr "Bericht ingetrokken."
+
+#: ../../mod/mail.php:180
+msgid "Conversation removed."
+msgstr "Conversatie verwijderd"
+
+#: ../../mod/mail.php:223
+msgid "Requested channel is not in this network"
+msgstr "Opgevraagd kanaal is niet in dit netwerk beschikbaar"
+
+#: ../../mod/mail.php:231
+msgid "Send Private Message"
+msgstr "Privébericht versturen"
+
+#: ../../mod/mail.php:232 ../../mod/mail.php:361
+msgid "To:"
+msgstr "Aan:"
+
+#: ../../mod/mail.php:235 ../../mod/mail.php:363
+msgid "Subject:"
+msgstr "Onderwerp:"
+
+#: ../../mod/mail.php:242
+msgid "Send"
+msgstr "Verzenden"
+
+#: ../../mod/mail.php:333
+msgid "Delete message"
+msgstr "Bericht verwijderen"
+
+#: ../../mod/mail.php:334
+msgid "Delivery report"
+msgstr "Afleveringsrapport"
+
+#: ../../mod/mail.php:335
+msgid "Recall message"
+msgstr "Bericht intrekken"
+
+#: ../../mod/mail.php:337
+msgid "Message has been recalled."
+msgstr "Bericht is ingetrokken."
+
+#: ../../mod/mail.php:354
+msgid "Delete Conversation"
+msgstr "Verwijder conversatie"
+
+#: ../../mod/mail.php:356
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."
+
+#: ../../mod/mail.php:360
+msgid "Send Reply"
+msgstr "Antwoord versturen"
+
+#: ../../mod/mail.php:365
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Jouw privébericht aan %s (%s):"
+
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_home.php:21 ../../mod/update_network.php:23
#: ../../mod/update_search.php:46 ../../mod/update_public.php:21
@@ -7485,556 +7472,564 @@ msgstr "Naam is vereist"
msgid "Key and Secret are required"
msgstr "Key en secret zijn vereist"
-#: ../../mod/settings.php:231
+#: ../../mod/settings.php:232
msgid "Passwords do not match. Password unchanged."
msgstr "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."
-#: ../../mod/settings.php:235
+#: ../../mod/settings.php:236
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd."
-#: ../../mod/settings.php:249
+#: ../../mod/settings.php:250
msgid "Password changed."
msgstr "Wachtwoord veranderd."
-#: ../../mod/settings.php:251
+#: ../../mod/settings.php:252
msgid "Password update failed. Please try again."
msgstr "Bijwerken wachtwoord mislukt. Probeer opnieuw."
-#: ../../mod/settings.php:265
+#: ../../mod/settings.php:266
msgid "Not valid email."
msgstr "Geen geldig e-mailadres."
-#: ../../mod/settings.php:268
+#: ../../mod/settings.php:269
msgid "Protected email address. Cannot change to that email."
msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken."
-#: ../../mod/settings.php:277
+#: ../../mod/settings.php:278
msgid "System failure storing new email. Please try again."
msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
-#: ../../mod/settings.php:518
+#: ../../mod/settings.php:519
msgid "Settings updated."
msgstr "Instellingen bijgewerkt."
-#: ../../mod/settings.php:582 ../../mod/settings.php:608
-#: ../../mod/settings.php:644
+#: ../../mod/settings.php:583 ../../mod/settings.php:609
+#: ../../mod/settings.php:645
msgid "Add application"
msgstr "Applicatie toevoegen"
-#: ../../mod/settings.php:585
+#: ../../mod/settings.php:586
msgid "Name of application"
msgstr "Naam van applicatie"
-#: ../../mod/settings.php:586 ../../mod/settings.php:612
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
msgid "Consumer Key"
msgstr "Consumer key"
-#: ../../mod/settings.php:586 ../../mod/settings.php:587
+#: ../../mod/settings.php:587 ../../mod/settings.php:588
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20"
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
+#: ../../mod/settings.php:588 ../../mod/settings.php:614
msgid "Consumer Secret"
msgstr "Consumer secret"
-#: ../../mod/settings.php:588 ../../mod/settings.php:614
+#: ../../mod/settings.php:589 ../../mod/settings.php:615
msgid "Redirect"
msgstr "Redirect/doorverwijzing"
-#: ../../mod/settings.php:588
+#: ../../mod/settings.php:589
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist"
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
msgid "Icon url"
msgstr "URL van pictogram"
-#: ../../mod/settings.php:589
+#: ../../mod/settings.php:590
msgid "Optional"
msgstr "Optioneel"
-#: ../../mod/settings.php:600
+#: ../../mod/settings.php:601
msgid "You can't edit this application."
msgstr "Je kan deze applicatie niet bewerken"
-#: ../../mod/settings.php:643
+#: ../../mod/settings.php:644
msgid "Connected Apps"
msgstr "Verbonden applicaties"
-#: ../../mod/settings.php:647
+#: ../../mod/settings.php:648
msgid "Client key starts with"
msgstr "Client key begint met"
-#: ../../mod/settings.php:648
+#: ../../mod/settings.php:649
msgid "No name"
msgstr "Geen naam"
-#: ../../mod/settings.php:649
+#: ../../mod/settings.php:650
msgid "Remove authorization"
msgstr "Autorisatie verwijderen"
-#: ../../mod/settings.php:662
+#: ../../mod/settings.php:663
msgid "No feature settings configured"
msgstr "Geen extra functie- of plugin-instellingen"
-#: ../../mod/settings.php:669
+#: ../../mod/settings.php:670
msgid "Feature/Addon Settings"
msgstr "Extra functie- en plugin-instellingen"
-#: ../../mod/settings.php:692
+#: ../../mod/settings.php:693
msgid "Account Settings"
msgstr "Account-instellingen"
-#: ../../mod/settings.php:693
+#: ../../mod/settings.php:694
msgid "Enter New Password:"
msgstr "Nieuw wachtwoord invoeren:"
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:695
msgid "Confirm New Password:"
msgstr "Nieuw wachtwoord bevestigen:"
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:695
msgid "Leave password fields blank unless changing"
msgstr "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen"
-#: ../../mod/settings.php:696 ../../mod/settings.php:1027
+#: ../../mod/settings.php:697 ../../mod/settings.php:1028
msgid "Email Address:"
msgstr "E-mailadres:"
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:699
msgid "Remove this account including all its channels"
msgstr "Dit account en al zijn kanalen verwijderen"
-#: ../../mod/settings.php:714
+#: ../../mod/settings.php:715
msgid "Off"
msgstr "Uit"
-#: ../../mod/settings.php:714
+#: ../../mod/settings.php:715
msgid "On"
msgstr "Aan"
-#: ../../mod/settings.php:721
+#: ../../mod/settings.php:722
msgid "Additional Features"
msgstr "Extra functies"
-#: ../../mod/settings.php:745
+#: ../../mod/settings.php:746
msgid "Connector Settings"
msgstr "Instellingen externe koppelingen"
-#: ../../mod/settings.php:784
+#: ../../mod/settings.php:785
msgid "No special theme for mobile devices"
msgstr "Geen speciaal thema voor mobiele apparaten"
-#: ../../mod/settings.php:787
+#: ../../mod/settings.php:788
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (experimenteel)"
-#: ../../mod/settings.php:826
+#: ../../mod/settings.php:827
msgid "Display Settings"
msgstr "Weergave-instellingen"
-#: ../../mod/settings.php:827
+#: ../../mod/settings.php:828
msgid "Theme Settings"
msgstr "Thema-instellingen"
-#: ../../mod/settings.php:828
+#: ../../mod/settings.php:829
msgid "Custom Theme Settings"
msgstr "Handmatige thema-instellingen"
-#: ../../mod/settings.php:829
+#: ../../mod/settings.php:830
msgid "Content Settings"
msgstr "Inhoudsinstellingen"
-#: ../../mod/settings.php:835
+#: ../../mod/settings.php:836
msgid "Display Theme:"
msgstr "Gebruik thema:"
-#: ../../mod/settings.php:836
+#: ../../mod/settings.php:837
msgid "Mobile Theme:"
msgstr "Mobiel thema:"
-#: ../../mod/settings.php:837
+#: ../../mod/settings.php:838
msgid "Enable user zoom on mobile devices"
msgstr "Inzoomen op smartphones en tablets toestaan"
-#: ../../mod/settings.php:838
+#: ../../mod/settings.php:839
msgid "Update browser every xx seconds"
msgstr "Ververs de webbrowser om de zoveel seconde"
-#: ../../mod/settings.php:838
+#: ../../mod/settings.php:839
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimaal 10 seconde, geen maximum"
-#: ../../mod/settings.php:839
+#: ../../mod/settings.php:840
msgid "Maximum number of conversations to load at any time:"
msgstr "Maximaal aantal conversaties die per keer geladen worden:"
-#: ../../mod/settings.php:839
+#: ../../mod/settings.php:840
msgid "Maximum of 100 items"
msgstr "Maximaal 100 conversaties"
-#: ../../mod/settings.php:840
+#: ../../mod/settings.php:841
msgid "Show emoticons (smilies) as images"
msgstr "Toon emoticons (smilies) als afbeeldingen"
-#: ../../mod/settings.php:841
+#: ../../mod/settings.php:842
msgid "Link post titles to source"
msgstr "Berichtkoppen naar originele locatie linken"
-#: ../../mod/settings.php:842
+#: ../../mod/settings.php:843
msgid "System Page Layout Editor - (advanced)"
msgstr "Lay-out bewerken van systeempagina's (geavanceerd)"
-#: ../../mod/settings.php:845
+#: ../../mod/settings.php:846
msgid "Use blog/list mode on channel page"
msgstr "Gebruik blog/lijst-modus op kanaalpagina"
-#: ../../mod/settings.php:845 ../../mod/settings.php:846
+#: ../../mod/settings.php:846 ../../mod/settings.php:847
msgid "(comments displayed separately)"
msgstr "(reacties worden afzonderlijk weergeven)"
-#: ../../mod/settings.php:846
+#: ../../mod/settings.php:847
msgid "Use blog/list mode on matrix page"
msgstr "Gebruik blog/lijst-modus op matrixpagina"
-#: ../../mod/settings.php:847
+#: ../../mod/settings.php:848
msgid "Channel page max height of content (in pixels)"
msgstr "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)"
-#: ../../mod/settings.php:847 ../../mod/settings.php:848
+#: ../../mod/settings.php:848 ../../mod/settings.php:849
msgid "click to expand content exceeding this height"
msgstr "klik om inhoud uit te klappen die deze hoogte overschrijdt"
-#: ../../mod/settings.php:848
+#: ../../mod/settings.php:849
msgid "Matrix page max height of content (in pixels)"
msgstr "Maximale hoogte berichtinhoud op matrixpagina (in pixels)"
-#: ../../mod/settings.php:882
+#: ../../mod/settings.php:883
msgid "Nobody except yourself"
msgstr "Niemand, behalve jezelf"
-#: ../../mod/settings.php:883
+#: ../../mod/settings.php:884
msgid "Only those you specifically allow"
msgstr "Alleen connecties met uitdrukkelijke toestemming"
-#: ../../mod/settings.php:884
+#: ../../mod/settings.php:885
msgid "Approved connections"
msgstr "Geaccepteerde connecties"
-#: ../../mod/settings.php:885
+#: ../../mod/settings.php:886
msgid "Any connections"
msgstr "Alle connecties"
-#: ../../mod/settings.php:886
+#: ../../mod/settings.php:887
msgid "Anybody on this website"
msgstr "Iedereen op deze hub"
-#: ../../mod/settings.php:887
+#: ../../mod/settings.php:888
msgid "Anybody in this network"
msgstr "Iedereen in dit netwerk"
-#: ../../mod/settings.php:888
+#: ../../mod/settings.php:889
msgid "Anybody authenticated"
msgstr "Geauthenticeerd"
-#: ../../mod/settings.php:889
+#: ../../mod/settings.php:890
msgid "Anybody on the internet"
msgstr "Iedereen op het internet"
-#: ../../mod/settings.php:963
+#: ../../mod/settings.php:964
msgid "Publish your default profile in the network directory"
msgstr "Publiceer je standaardprofiel in de kanalengids"
-#: ../../mod/settings.php:968
+#: ../../mod/settings.php:969
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen"
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:978
msgid "Your channel address is"
msgstr "Jouw kanaaladres is"
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1019
msgid "Channel Settings"
msgstr "Kanaal-instellingen"
-#: ../../mod/settings.php:1025
+#: ../../mod/settings.php:1026
msgid "Basic Settings"
msgstr "Basis-instellingen"
-#: ../../mod/settings.php:1028
+#: ../../mod/settings.php:1029
msgid "Your Timezone:"
msgstr "Jouw tijdzone:"
-#: ../../mod/settings.php:1029
+#: ../../mod/settings.php:1030
msgid "Default Post Location:"
msgstr "Standaardlocatie bericht:"
-#: ../../mod/settings.php:1029
+#: ../../mod/settings.php:1030
msgid "Geographical location to display on your posts"
msgstr "Geografische locatie die bij het bericht moet worden vermeld"
-#: ../../mod/settings.php:1030
+#: ../../mod/settings.php:1031
msgid "Use Browser Location:"
msgstr "Locatie van webbrowser gebruiken:"
-#: ../../mod/settings.php:1032
+#: ../../mod/settings.php:1033
msgid "Adult Content"
msgstr "Inhoud voor volwassenen"
-#: ../../mod/settings.php:1032
+#: ../../mod/settings.php:1033
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)"
-#: ../../mod/settings.php:1034
+#: ../../mod/settings.php:1035
msgid "Security and Privacy Settings"
msgstr "Veiligheids- en privacy-instellingen"
-#: ../../mod/settings.php:1036
+#: ../../mod/settings.php:1037
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen."
-#: ../../mod/settings.php:1038
+#: ../../mod/settings.php:1039
msgid "Hide my online presence"
msgstr "Verberg mijn aanwezigheid"
-#: ../../mod/settings.php:1038
+#: ../../mod/settings.php:1039
msgid "Prevents displaying in your profile that you are online"
msgstr "Voorkomt dat op je kanaalpagina te zien valt dat je momenteel op $Projectname aanwezig bent"
-#: ../../mod/settings.php:1040
+#: ../../mod/settings.php:1041
msgid "Simple Privacy Settings:"
msgstr "Eenvoudige privacy-instellingen:"
-#: ../../mod/settings.php:1041
+#: ../../mod/settings.php:1042
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>"
-#: ../../mod/settings.php:1042
+#: ../../mod/settings.php:1043
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>"
-#: ../../mod/settings.php:1043
+#: ../../mod/settings.php:1044
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privé <em>(standaard privé en nooit openbaar)</em>"
-#: ../../mod/settings.php:1044
+#: ../../mod/settings.php:1045
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>"
-#: ../../mod/settings.php:1046
+#: ../../mod/settings.php:1047
msgid "Allow others to tag your posts"
msgstr "Anderen toestaan om je berichten te taggen"
-#: ../../mod/settings.php:1046
+#: ../../mod/settings.php:1047
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren"
-#: ../../mod/settings.php:1048
+#: ../../mod/settings.php:1049
msgid "Advanced Privacy Settings"
msgstr "Geavanceerde privacy-instellingen"
-#: ../../mod/settings.php:1050
+#: ../../mod/settings.php:1051
msgid "Expire other channel content after this many days"
msgstr "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:"
-#: ../../mod/settings.php:1050
+#: ../../mod/settings.php:1051
msgid "0 or blank prevents expiration"
msgstr "0 of leeg voorkomt het verlopen"
-#: ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052
msgid "Maximum Friend Requests/Day:"
msgstr "Maximum aantal connectieverzoeken per dag:"
-#: ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052
msgid "May reduce spam activity"
msgstr "Kan eventuele spam verminderen"
-#: ../../mod/settings.php:1052
+#: ../../mod/settings.php:1053
msgid "Default Post Permissions"
msgstr "Standaard permissies voor nieuwe berichten"
-#: ../../mod/settings.php:1057
+#: ../../mod/settings.php:1058
msgid "Channel permissions category:"
msgstr "Kanaaltype en -permissies:"
-#: ../../mod/settings.php:1063
+#: ../../mod/settings.php:1064
msgid "Maximum private messages per day from unknown people:"
msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
-#: ../../mod/settings.php:1063
+#: ../../mod/settings.php:1064
msgid "Useful to reduce spamming"
msgstr "Kan eventuele spam verminderen"
-#: ../../mod/settings.php:1066
+#: ../../mod/settings.php:1067
msgid "Notification Settings"
msgstr "Notificatie-instellingen"
-#: ../../mod/settings.php:1067
+#: ../../mod/settings.php:1068
msgid "By default post a status message when:"
msgstr "Plaats automatisch een statusbericht wanneer:"
-#: ../../mod/settings.php:1068
+#: ../../mod/settings.php:1069
msgid "accepting a friend request"
msgstr "Een connectieverzoek wordt geaccepteerd"
-#: ../../mod/settings.php:1069
+#: ../../mod/settings.php:1070
msgid "joining a forum/community"
msgstr "Je lid wordt van een forum/groep"
-#: ../../mod/settings.php:1070
+#: ../../mod/settings.php:1071
msgid "making an <em>interesting</em> profile change"
msgstr "Er sprake is van een <em>interessante</em> profielwijziging"
-#: ../../mod/settings.php:1071
+#: ../../mod/settings.php:1072
msgid "Send a notification email when:"
msgstr "Verzend een notificatie per e-mail wanneer:"
-#: ../../mod/settings.php:1072
+#: ../../mod/settings.php:1073
msgid "You receive a connection request"
msgstr "Je een connectieverzoek ontvangt"
-#: ../../mod/settings.php:1073
+#: ../../mod/settings.php:1074
msgid "Your connections are confirmed"
msgstr "Jouw connecties zijn bevestigd"
-#: ../../mod/settings.php:1074
+#: ../../mod/settings.php:1075
msgid "Someone writes on your profile wall"
msgstr "Iemand iets op jouw kanaal heeft geschreven"
-#: ../../mod/settings.php:1075
+#: ../../mod/settings.php:1076
msgid "Someone writes a followup comment"
msgstr "Iemand een reactie schrijft"
-#: ../../mod/settings.php:1076
+#: ../../mod/settings.php:1077
msgid "You receive a private message"
msgstr "Je een privé-bericht ontvangt"
-#: ../../mod/settings.php:1077
+#: ../../mod/settings.php:1078
msgid "You receive a friend suggestion"
msgstr "Je een kanaalvoorstel ontvangt"
-#: ../../mod/settings.php:1078
+#: ../../mod/settings.php:1079
msgid "You are tagged in a post"
msgstr "Je expliciet in een bericht bent genoemd"
-#: ../../mod/settings.php:1079
+#: ../../mod/settings.php:1080
msgid "You are poked/prodded/etc. in a post"
msgstr "Je bent in een bericht aangestoten/gepord/etc."
-#: ../../mod/settings.php:1082
+#: ../../mod/settings.php:1083
msgid "Show visual notifications including:"
msgstr "Toon de volgende zichtbare notificaties:"
-#: ../../mod/settings.php:1084
+#: ../../mod/settings.php:1085
msgid "Unseen matrix activity"
msgstr "Niet bekeken matrix-activiteit"
-#: ../../mod/settings.php:1085
+#: ../../mod/settings.php:1086
msgid "Unseen channel activity"
msgstr "Niet bekeken kanaal-activiteit"
-#: ../../mod/settings.php:1086
+#: ../../mod/settings.php:1087
msgid "Unseen private messages"
msgstr "Niet bekeken privéberichten"
-#: ../../mod/settings.php:1086 ../../mod/settings.php:1091
-#: ../../mod/settings.php:1092 ../../mod/settings.php:1093
+#: ../../mod/settings.php:1087 ../../mod/settings.php:1092
+#: ../../mod/settings.php:1093 ../../mod/settings.php:1094
msgid "Recommended"
msgstr "Aanbevolen"
-#: ../../mod/settings.php:1087
+#: ../../mod/settings.php:1088
msgid "Upcoming events"
msgstr "Aankomende gebeurtenissen"
-#: ../../mod/settings.php:1088
+#: ../../mod/settings.php:1089
msgid "Events today"
msgstr "Gebeurtissen van vandaag"
-#: ../../mod/settings.php:1089
+#: ../../mod/settings.php:1090
msgid "Upcoming birthdays"
msgstr "Aankomende verjaardagen"
-#: ../../mod/settings.php:1089
+#: ../../mod/settings.php:1090
msgid "Not available in all themes"
msgstr "Niet in alle thema's beschikbaar"
-#: ../../mod/settings.php:1090
+#: ../../mod/settings.php:1091
msgid "System (personal) notifications"
msgstr "(Persoonlijke) systeemnotificaties"
-#: ../../mod/settings.php:1091
+#: ../../mod/settings.php:1092
msgid "System info messages"
msgstr "Systeemmededelingen"
-#: ../../mod/settings.php:1092
+#: ../../mod/settings.php:1093
msgid "System critical alerts"
msgstr "Kritische systeemwaarschuwingen"
-#: ../../mod/settings.php:1093
+#: ../../mod/settings.php:1094
msgid "New connections"
msgstr "Nieuwe connecties"
-#: ../../mod/settings.php:1094
+#: ../../mod/settings.php:1095
msgid "System Registrations"
msgstr "Nieuwe accountregistraties op deze hub"
-#: ../../mod/settings.php:1095
+#: ../../mod/settings.php:1096
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties"
-#: ../../mod/settings.php:1097
+#: ../../mod/settings.php:1098
msgid "Notify me of events this many days in advance"
msgstr "Herinner mij zoveel dagen van te voren aan gebeurtenissen"
-#: ../../mod/settings.php:1097
+#: ../../mod/settings.php:1098
msgid "Must be greater than 0"
msgstr "Moet hoger dan 0 zijn"
-#: ../../mod/settings.php:1099
+#: ../../mod/settings.php:1100
msgid "Advanced Account/Page Type Settings"
msgstr "Instellingen geavanceerd account/paginatype"
-#: ../../mod/settings.php:1100
+#: ../../mod/settings.php:1101
msgid "Change the behaviour of this account for special situations"
msgstr "Verander het gedrag van dit account voor speciale situaties"
-#: ../../mod/settings.php:1103
+#: ../../mod/settings.php:1104
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!"
-#: ../../mod/settings.php:1104
+#: ../../mod/settings.php:1105
msgid "Miscellaneous Settings"
msgstr "Diverse instellingen"
-#: ../../mod/settings.php:1105
+#: ../../mod/settings.php:1106
msgid "Default photo upload folder"
msgstr "Standaard fotoalbum voor uploads"
-#: ../../mod/settings.php:1106
+#: ../../mod/settings.php:1106 ../../mod/settings.php:1107
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - dit jaar, %m - deze maand"
+
+#: ../../mod/settings.php:1107
msgid "Default file upload folder"
msgstr "Standaard bestandsmap voor uploads"
-#: ../../mod/settings.php:1108
+#: ../../mod/settings.php:1109
msgid "Personal menu to display in your channel pages"
msgstr "Persoonlijk menu om op je kanaalpagina's weer te geven"
-#: ../../mod/settings.php:1110
+#: ../../mod/settings.php:1111
msgid "Remove this channel."
msgstr "Verwijder dit kanaal."
+#: ../../mod/settings.php:1112
+msgid "Firefox Share $Projectname provider"
+msgstr "$Projectname-service voor Firefox Share"
+
#: ../../mod/xchan.php:6
msgid "Xchan Lookup"
msgstr "Xchan opzoeken"
@@ -8297,46 +8292,76 @@ msgstr "Geen connecties."
msgid "Visit %s's profile [%s]"
msgstr "Bezoek het profiel van %s [%s]"
-#: ../../mod/locs.php:21 ../../mod/locs.php:49
+#: ../../mod/locs.php:21 ../../mod/locs.php:50
msgid "Location not found."
msgstr "Locatie niet gevonden."
-#: ../../mod/locs.php:57
+#: ../../mod/locs.php:58
msgid "Location lookup failed."
msgstr "Opzoeken locatie mislukt"
-#: ../../mod/locs.php:61
+#: ../../mod/locs.php:62
msgid ""
"Please select another location to become primary before removing the primary"
" location."
msgstr "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen."
-#: ../../mod/locs.php:93
+#: ../../mod/locs.php:91
+msgid "Syncing locations"
+msgstr "Locaties synchronizeren"
+
+#: ../../mod/locs.php:101
msgid "No locations found."
msgstr "Geen locaties gevonden."
-#: ../../mod/locs.php:104
+#: ../../mod/locs.php:112
msgid "Manage Channel Locations"
msgstr "Kanaallocaties beheren"
-#: ../../mod/locs.php:105
+#: ../../mod/locs.php:113
msgid "Location (address)"
msgstr "Locatie (adres)"
-#: ../../mod/locs.php:106
+#: ../../mod/locs.php:114
msgid "Primary Location"
msgstr "Primaire locatie"
-#: ../../mod/locs.php:107
+#: ../../mod/locs.php:115
msgid "Drop location"
msgstr "Locatie verwijderen"
+#: ../../mod/locs.php:117
+msgid "Sync now"
+msgstr "Nu synchroniseren"
+
+#: ../../mod/locs.php:118
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Wacht enkele minuten tussen opeenvolgende handelingen."
+
+#: ../../mod/locs.php:119
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen."
+
+#: ../../mod/locs.php:120
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is."
+
#: ../../mod/post.php:234
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
" logout and retry."
msgstr "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen."
+#: ../../mod/ffsapi.php:8
+msgid "Share content from Firefox to $Projectname"
+msgstr "Deel webpagina's vanuit Firefox met "
+
+#: ../../mod/ffsapi.php:11
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Activeer de $Projectname-service in Firefox"
+
#: ../../mod/setup.php:191
msgid "$Projectname Server - Setup"
msgstr "$Projectname Server - Setup"
@@ -8761,6 +8786,65 @@ msgstr "Verwijder alle bestanden"
msgid "Remove this file"
msgstr "Verwijder dit bestand"
+#: ../../mod/siteinfo.php:111
+#, php-format
+msgid "Version %s"
+msgstr "Versie %s"
+
+#: ../../mod/siteinfo.php:132
+msgid "Installed plugins/addons/apps:"
+msgstr "Ingeschakelde plug-ins/add-ons/apps:"
+
+#: ../../mod/siteinfo.php:145
+msgid "No installed plugins/addons/apps"
+msgstr "Geen ingeschakelde plug-ins/add-ons/apps"
+
+#: ../../mod/siteinfo.php:158
+msgid ""
+"This is a hub of $Projectname - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Dit is een $Projectname-hub - $Projectname is een wereldwijd coöperatief netwerk van gedecentraliseerde websites (hubs) met verbeterde privacy."
+
+#: ../../mod/siteinfo.php:160
+msgid "Tag: "
+msgstr "Tag: "
+
+#: ../../mod/siteinfo.php:162
+msgid "Last background fetch: "
+msgstr "Meest recente achtergrond-fetch:"
+
+#: ../../mod/siteinfo.php:164
+msgid "Current load average: "
+msgstr "Gemiddelde systeembelasting is nu:"
+
+#: ../../mod/siteinfo.php:167
+msgid "Running at web location"
+msgstr "Draaiend op weblocatie"
+
+#: ../../mod/siteinfo.php:168
+msgid ""
+"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
+"about $Projectname."
+msgstr "Bezoek <a href=\"http://hubzilla.org\">hubzilla.org</a> "
+
+#: ../../mod/siteinfo.php:169
+msgid "Bug reports and issues: please visit"
+msgstr "Bugrapporten en andere kwesties: bezoek"
+
+#: ../../mod/siteinfo.php:171
+msgid "$projectname issues"
+msgstr "$projectname-issues"
+
+#: ../../mod/siteinfo.php:172
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com"
+
+#: ../../mod/siteinfo.php:174
+msgid "Site Administrators"
+msgstr "Hubbeheerders: "
+
#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
@@ -9032,19 +9116,19 @@ msgstr "Klik op een connectie om deze toe te voegen of te verwijderen"
msgid "Visible To"
msgstr "Zichtbaar voor"
-#: ../../mod/rbmark.php:88
+#: ../../mod/rbmark.php:90
msgid "Select a bookmark folder"
msgstr "Kies een bladwijzermap"
-#: ../../mod/rbmark.php:93
+#: ../../mod/rbmark.php:95
msgid "Save Bookmark"
msgstr "Bladwijzer opslaan"
-#: ../../mod/rbmark.php:94
+#: ../../mod/rbmark.php:96
msgid "URL of bookmark"
msgstr "URL van bladwijzer"
-#: ../../mod/rbmark.php:99
+#: ../../mod/rbmark.php:101
msgid "Or enter new bookmark folder name"
msgstr "Of geef de naam op van een nieuwe bladwijzermap"
@@ -9201,51 +9285,51 @@ msgstr "Grootte profielfoto's van berichten instellen"
msgid "Set size of followup author photos"
msgstr "Grootte profielfoto's van reacties instellen"
-#: ../../boot.php:1308
+#: ../../boot.php:1291
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s mislukt. Zie foutenlogboek."
-#: ../../boot.php:1311
+#: ../../boot.php:1294
#, php-format
msgid "Update Error at %s"
msgstr "Update-fout op %s"
-#: ../../boot.php:1478
+#: ../../boot.php:1461
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Maak een account aan om toegang te krijgen tot diensten en toepassingen van Hubzilla"
-#: ../../boot.php:1506
+#: ../../boot.php:1489
msgid "Password"
msgstr "Wachtwoord"
-#: ../../boot.php:1507
+#: ../../boot.php:1490
msgid "Remember me"
msgstr "Aangemeld blijven"
-#: ../../boot.php:1510
+#: ../../boot.php:1493
msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?"
-#: ../../boot.php:2136
+#: ../../boot.php:2113
msgid "toggle mobile"
msgstr "mobiele weergave omschakelen"
-#: ../../boot.php:2271
+#: ../../boot.php:2248
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Het SSL-certificaat van deze website is ongeldig. Corrigeer dit a.u.b."
-#: ../../boot.php:2274
+#: ../../boot.php:2251
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Probleem met SSL-certificaat voor %s"
-#: ../../boot.php:2311
+#: ../../boot.php:2288
msgid "Cron/Scheduled tasks not running."
msgstr "Cron is niet actief"
-#: ../../boot.php:2315
+#: ../../boot.php:2292
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron-taken zijn niet actief op %s"
diff --git a/view/nl/hstrings.php b/view/nl/hstrings.php
index 366167657..bec5b347c 100644
--- a/view/nl/hstrings.php
+++ b/view/nl/hstrings.php
@@ -125,6 +125,8 @@ $a->strings["Enable Voting Tools"] = "Peilingen inschakelen";
$a->strings["Provide a class of post which others can vote on"] = "Maakt het mogelijk om een bericht op te stellen, waar mensen op kunnen stemmen.";
$a->strings["Delayed Posting"] = "Berichten uitstellen";
$a->strings["Allow posts to be published at a later date"] = "Maakt het mogelijk dat berichten op een toekomstig moment gepubliceerd kunnen worden.";
+$a->strings["Suppress Duplicate Posts/Comments"] = "Dubbele berichten/reacties tegenhouden";
+$a->strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Voorkomt dat berichten en reacties met identieke inhoud en die binnen twee minuten zijn verstuurd, worden gepubliceerd. ";
$a->strings["Network and Stream Filtering"] = "Netwerk- en streamfilter";
$a->strings["Search by Date"] = "Zoek op datum";
$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten op datum te filteren ";
@@ -278,7 +280,169 @@ $a->strings["Collection is empty."] = "Collectie is leeg";
$a->strings["Collection: %s"] = "Collectie: %s";
$a->strings["Connection: %s"] = "Connectie: %s";
$a->strings["Connection not found."] = "Connectie niet gevonden.";
-$a->strings["Public Timeline"] = "Openbare tijdlijn";
+$a->strings["photo"] = "foto";
+$a->strings["event"] = "gebeurtenis";
+$a->strings["channel"] = "kanaal";
+$a->strings["status"] = "bericht";
+$a->strings["comment"] = "reactie";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
+$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
+$a->strings["poked"] = "aangestoten";
+$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
+$a->strings["__ctx:title__ Likes"] = "vinden dit leuk";
+$a->strings["__ctx:title__ Dislikes"] = "vinden dit niet leuk";
+$a->strings["__ctx:title__ Agree"] = "eens";
+$a->strings["__ctx:title__ Disagree"] = "oneens";
+$a->strings["__ctx:title__ Abstain"] = "onthoudingen";
+$a->strings["__ctx:title__ Attending"] = "aanwezig";
+$a->strings["__ctx:title__ Not attending"] = "niet aanwezig";
+$a->strings["__ctx:title__ Might attend"] = "mogelijk aanwezig";
+$a->strings["Select"] = "Kies";
+$a->strings["Private Message"] = "Privébericht";
+$a->strings["Message signature validated"] = "Berichtkenmerk gevalideerd";
+$a->strings["Message signature incorrect"] = "Berichtkenmerk onjuist";
+$a->strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
+$a->strings["Categories:"] = "Categorieën:";
+$a->strings["Filed under:"] = "Bewaard onder:";
+$a->strings["from %s"] = "van %s";
+$a->strings["last edited: %s"] = "laatst bewerkt: %s";
+$a->strings["Expires: %s"] = "Verloopt: %s";
+$a->strings["View in context"] = "In context bekijken";
+$a->strings["Please wait"] = "Even wachten";
+$a->strings["remove"] = "verwijderen";
+$a->strings["Loading..."] = "Aan het laden...";
+$a->strings["Delete Selected Items"] = "Verwijder de geselecteerde items";
+$a->strings["View Source"] = "Bron weergeven";
+$a->strings["Follow Thread"] = "Conversatie volgen";
+$a->strings["Unfollow Thread"] = "Conversatie niet meer volgen";
+$a->strings["View Status"] = "Status weergeven";
+$a->strings["View Profile"] = "Profiel weergeven";
+$a->strings["View Photos"] = "Foto's weergeven";
+$a->strings["Activity/Posts"] = "Kanaal-activiteit";
+$a->strings["Edit Connection"] = "Connectie bewerken";
+$a->strings["Send PM"] = "Privébericht verzenden";
+$a->strings["Poke"] = "Aanstoten";
+$a->strings["%s likes this."] = "%s vindt dit leuk.";
+$a->strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d persoon</span> vindt dit leuk.",
+ 1 => "<span %1\$s>%2\$d personen</span> vinden dit leuk.",
+);
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d persoon</span> vindt dit niet leuk.",
+ 1 => "<span %1\$s>%2\$d personen</span> vinden dit niet leuk.",
+);
+$a->strings["and"] = "en";
+$a->strings[", and %d other people"] = array(
+ 0 => ", en %d ander persoon",
+ 1 => ", en %d andere personen",
+);
+$a->strings["%s like this."] = "%s vinden dit leuk.";
+$a->strings["%s don't like this."] = "%s vinden dit niet leuk.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Voor <strong>iedereen</strong> zichtbaar";
+$a->strings["Please enter a link URL:"] = "Vul een internetadres/URL in:";
+$a->strings["Please enter a video link/URL:"] = "Vul een videolink/URL in:";
+$a->strings["Please enter an audio link/URL:"] = "Vul een audiolink/URL in:";
+$a->strings["Tag term:"] = "Tag:";
+$a->strings["Save to Folder:"] = "Bewaar in map: ";
+$a->strings["Where are you right now?"] = "Waar bevind je je op dit moment?";
+$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verloopt op DD-MM-YYYY om HH:MM";
+$a->strings["Preview"] = "Voorvertoning";
+$a->strings["Share"] = "Delen";
+$a->strings["Page link name"] = "Linknaam pagina";
+$a->strings["Post as"] = "Bericht plaatsen als";
+$a->strings["Bold"] = "Vet";
+$a->strings["Italic"] = "Cursief";
+$a->strings["Underline"] = "Onderstrepen";
+$a->strings["Quote"] = "Citeren";
+$a->strings["Code"] = "Broncode";
+$a->strings["Upload photo"] = "Foto uploaden";
+$a->strings["upload photo"] = "foto uploaden";
+$a->strings["Attach file"] = "Bestand toevoegen";
+$a->strings["attach file"] = "bestand toevoegen";
+$a->strings["Insert web link"] = "Weblink invoegen";
+$a->strings["web link"] = "Weblink";
+$a->strings["Insert video link"] = "Videolink invoegen";
+$a->strings["video link"] = "videolink";
+$a->strings["Insert audio link"] = "Audiolink invoegen";
+$a->strings["audio link"] = "audiolink";
+$a->strings["Set your location"] = "Locatie instellen";
+$a->strings["set location"] = "locatie instellen";
+$a->strings["Toggle voting"] = "Peiling in- of uitschakelen";
+$a->strings["Clear browser location"] = "Locatie van webbrowser wissen";
+$a->strings["clear location"] = "locatie wissen";
+$a->strings["Title (optional)"] = "Titel (optioneel)";
+$a->strings["Categories (optional, comma-separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
+$a->strings["Permission settings"] = "Permissies";
+$a->strings["permissions"] = "permissies";
+$a->strings["Public post"] = "Openbaar bericht";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be";
+$a->strings["Set expiration date"] = "Verloopdatum instellen";
+$a->strings["Set publish date"] = "Publicatiedatum instellen";
+$a->strings["Encrypt text"] = "Tekst versleutelen";
+$a->strings["OK"] = "OK";
+$a->strings["Cancel"] = "Annuleren";
+$a->strings["Discover"] = "Ontdekken";
+$a->strings["Imported public streams"] = "Openbare streams importeren";
+$a->strings["Commented Order"] = "Nieuwe reacties bovenaan";
+$a->strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan";
+$a->strings["Posted Order"] = "Nieuwe berichten bovenaan";
+$a->strings["Sort by Post Date"] = "Nieuwe berichten bovenaan";
+$a->strings["Personal"] = "Persoonlijk";
+$a->strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent";
+$a->strings["New"] = "Nieuw";
+$a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
+$a->strings["Starred"] = "Met ster";
+$a->strings["Favourite Posts"] = "Favoriete berichten";
+$a->strings["Spam"] = "Spam";
+$a->strings["Posts flagged as SPAM"] = "Berichten gemarkeerd als SPAM";
+$a->strings["Channel"] = "Kanaal";
+$a->strings["Status Messages and Posts"] = "Berichten in dit kanaal";
+$a->strings["About"] = "Over";
+$a->strings["Profile Details"] = "Profiel";
+$a->strings["Photos"] = "Foto's";
+$a->strings["Photo Albums"] = "Fotoalbums";
+$a->strings["Files and Storage"] = "Bestanden en opslagruimte";
+$a->strings["Chatrooms"] = "Chatkanalen";
+$a->strings["Bookmarks"] = "Bladwijzers";
+$a->strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
+$a->strings["Webpages"] = "Webpagina's";
+$a->strings["Manage Webpages"] = "Webpagina's beheren";
+$a->strings["View all"] = "Toon alles";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "vindt dit leuk",
+ 1 => "vinden dit leuk",
+);
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "vindt dit niet leuk",
+ 1 => "vinden dit niet leuk",
+);
+$a->strings["__ctx:noun__ Attending"] = array(
+ 0 => "aanwezig",
+ 1 => "aanwezig",
+);
+$a->strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "niet aanwezig",
+ 1 => "niet aanwezig",
+);
+$a->strings["__ctx:noun__ Undecided"] = array(
+ 0 => "nog niet beslist",
+ 1 => "nog niet beslist",
+);
+$a->strings["__ctx:noun__ Agree"] = array(
+ 0 => "eens",
+ 1 => "eens",
+);
+$a->strings["__ctx:noun__ Disagree"] = array(
+ 0 => "oneens",
+ 1 => "oneens",
+);
+$a->strings["__ctx:noun__ Abstain"] = array(
+ 0 => "onthouding",
+ 1 => "onthoudingen",
+);
$a->strings["view full size"] = "volledige grootte tonen";
$a->strings["\$Projectname Notification"] = "\$Projectname-notificatie";
$a->strings["\$projectname"] = "\$projectname";
@@ -290,22 +454,18 @@ $a->strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
$a->strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld";
$a->strings["Show"] = "Tonen";
$a->strings["Don't show"] = "Niet tonen";
+$a->strings["Other networks and post services"] = "Andere netwerken en diensten";
$a->strings["Permissions"] = "Permissies";
$a->strings["Close"] = "Sluiten";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
-$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
-$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
-$a->strings["Photo Albums"] = "Fotoalbums";
$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
$a->strings["created a new post"] = "maakte een nieuw bericht aan";
$a->strings["commented on %s's post"] = "gaf een reactie op een bericht van %s";
$a->strings["New Page"] = "Nieuwe pagina";
$a->strings["View"] = "Weergeven";
-$a->strings["Preview"] = "Voorvertoning";
$a->strings["Actions"] = "Acties";
$a->strings["Page Link"] = "Paginalink";
$a->strings["Title"] = "Titel";
@@ -376,29 +536,24 @@ $a->strings["Starts:"] = "Start:";
$a->strings["Finishes:"] = "Einde:";
$a->strings["Location:"] = "Plaats:";
$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
-$a->strings["event"] = "gebeurtenis";
$a->strings["Not specified"] = "Niet aangegeven";
$a->strings["Needs Action"] = "Actie vereist";
$a->strings["Completed"] = "Voltooid";
$a->strings["In Process"] = "In behandeling";
$a->strings["Cancelled"] = "Geannuleerd";
$a->strings["Site Admin"] = "Hubbeheerder";
-$a->strings["Bookmarks"] = "Bladwijzers";
$a->strings["Address Book"] = "Connecties";
$a->strings["Login"] = "Inloggen";
$a->strings["Channel Manager"] = "Kanaalbeheer";
$a->strings["Grid"] = "Grid";
$a->strings["Settings"] = "Instellingen";
-$a->strings["Webpages"] = "Webpagina's";
$a->strings["Channel Home"] = "Tijdlijn kanaal";
$a->strings["Profile"] = "Profiel";
-$a->strings["Photos"] = "Foto's";
$a->strings["Events"] = "Agenda";
$a->strings["Directory"] = "Kanalengids";
$a->strings["Help"] = "Hulp";
$a->strings["Mail"] = "Privéberichten";
$a->strings["Mood"] = "Stemming";
-$a->strings["Poke"] = "Aanstoten";
$a->strings["Chat"] = "Chatten";
$a->strings["Search"] = "Zoeken";
$a->strings["Probe"] = "Onderzoeken";
@@ -412,24 +567,10 @@ $a->strings["Profile Photo"] = "Profielfoto";
$a->strings["Update"] = "Bijwerken";
$a->strings["Install"] = "Installeren";
$a->strings["Purchase"] = "Aanschaffen";
-$a->strings["Item was not found."] = "Item niet gevonden";
-$a->strings["No source file."] = "Geen bronbestand.";
-$a->strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden";
-$a->strings["Cannot locate file to revise/update"] = "Kan het bestand wat aangepast moet worden niet vinden";
-$a->strings["File exceeds size limit of %d"] = "Bestand is groter dan de toegelaten %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken.";
-$a->strings["Stored file could not be verified. Upload failed."] = "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt.";
-$a->strings["Path not available."] = "Pad niet beschikbaar.";
-$a->strings["Empty pathname"] = "Padnaam leeg";
-$a->strings["duplicate filename or path"] = "dubbele bestandsnaam of pad";
-$a->strings["Path not found."] = "Pad niet gevonden";
-$a->strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt.";
-$a->strings["database storage failed."] = "opslag in database mislukt.";
-$a->strings["Empty path"] = "Ontbrekend bestandspad";
-$a->strings["Logged out."] = "Uitgelogd.";
-$a->strings["Failed authentication"] = "Mislukte authenticatie";
-$a->strings["Login failed."] = "Inloggen mislukt.";
+$a->strings["Public Timeline"] = "Openbare tijdlijn";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
+$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
+$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
$a->strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notificatie] Nieuw privébericht ontvangen op %s";
$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s.";
@@ -466,8 +607,6 @@ $a->strings["Name:"] = "Naam:";
$a->strings["Photo:"] = "Foto:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
$a->strings["[Hubzilla:Notify]"] = "[Hubzilla:Notificatie]";
-$a->strings["Private Message"] = "Privébericht";
-$a->strings["Select"] = "Kies";
$a->strings["Save to Folder"] = "In map opslaan";
$a->strings["I will attend"] = "Aanwezig";
$a->strings["I will not attend"] = "Niet aanwezig";
@@ -475,21 +614,10 @@ $a->strings["I might attend"] = "Mogelijk aanwezig";
$a->strings["I agree"] = "Eens";
$a->strings["I disagree"] = "Oneens";
$a->strings["I abstain"] = "Onthouding";
-$a->strings["View all"] = "Toon alles";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "vindt dit leuk",
- 1 => "vinden dit leuk",
-);
-$a->strings["__ctx:noun__ Dislike"] = array(
- 0 => "vindt dit niet leuk",
- 1 => "vinden dit niet leuk",
-);
$a->strings["Add Star"] = "Ster toevoegen";
$a->strings["Remove Star"] = "Ster verwijderen";
$a->strings["Toggle Star Status"] = "Ster toevoegen of verwijderen";
$a->strings["starred"] = "met ster";
-$a->strings["Message signature validated"] = "Berichtkenmerk gevalideerd";
-$a->strings["Message signature incorrect"] = "Berichtkenmerk onjuist";
$a->strings["Add Tag"] = "Tag toevoegen";
$a->strings["I like this (toggle)"] = "Vind ik leuk";
$a->strings["like"] = "vind dit leuk";
@@ -507,93 +635,22 @@ $a->strings["via"] = "via";
$a->strings["Wall-to-Wall"] = "Kanaal-naar-kanaal";
$a->strings["via Wall-To-Wall:"] = "via kanaal-naar-kanaal";
$a->strings["Delivery Report"] = "Afleveringsrapport";
-$a->strings["from %s"] = "van %s";
-$a->strings["last edited: %s"] = "laatst bewerkt: %s";
-$a->strings["Expires: %s"] = "Verloopt: %s";
$a->strings["Save Bookmarks"] = "Bladwijzers opslaan";
$a->strings["Add to Calendar"] = "Aan agenda toevoegen";
$a->strings["Mark all seen"] = "Markeer alles als bekeken";
$a->strings["__ctx:noun__ Likes"] = "vinden dit leuk";
$a->strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk";
-$a->strings["Please wait"] = "Even wachten";
$a->strings["This is you"] = "Dit ben jij";
-$a->strings["Bold"] = "Vet";
-$a->strings["Italic"] = "Cursief";
-$a->strings["Underline"] = "Onderstrepen";
-$a->strings["Quote"] = "Citeren";
-$a->strings["Code"] = "Broncode";
$a->strings["Image"] = "Afbeelding";
$a->strings["Insert Link"] = "Link invoegen";
$a->strings["Video"] = "Video";
-$a->strings["Encrypt text"] = "Tekst versleutelen";
-$a->strings["prev"] = "vorige";
-$a->strings["first"] = "eerste";
-$a->strings["last"] = "laatste";
-$a->strings["next"] = "volgende";
-$a->strings["older"] = "ouder";
-$a->strings["newer"] = "nieuwer";
-$a->strings["No connections"] = "Geen connecties";
-$a->strings["%d Connection"] = array(
- 0 => "%d connectie",
- 1 => "%d connecties",
-);
-$a->strings["View Connections"] = "Connecties weergeven";
-$a->strings["Save"] = "Opslaan";
-$a->strings["poke"] = "aanstoten";
-$a->strings["poked"] = "aangestoten";
-$a->strings["ping"] = "ping";
-$a->strings["pinged"] = "gepingd";
-$a->strings["prod"] = "por";
-$a->strings["prodded"] = "gepord";
-$a->strings["slap"] = "slaan";
-$a->strings["slapped"] = "sloeg";
-$a->strings["finger"] = "finger";
-$a->strings["fingered"] = "gefingerd";
-$a->strings["rebuff"] = "afpoeieren";
-$a->strings["rebuffed"] = "afgepoeierd";
-$a->strings["happy"] = "gelukkig";
-$a->strings["sad"] = "bedroefd";
-$a->strings["mellow"] = "mellow";
-$a->strings["tired"] = "moe";
-$a->strings["perky"] = "parmantig";
-$a->strings["angry"] = "boos";
-$a->strings["stupified"] = "beteuterd";
-$a->strings["puzzled"] = "verward";
-$a->strings["interested"] = "geïnteresseerd";
-$a->strings["bitter"] = "verbitterd";
-$a->strings["cheerful"] = "vrolijk";
-$a->strings["alive"] = "levendig";
-$a->strings["annoyed"] = "geërgerd";
-$a->strings["anxious"] = "bezorgd";
-$a->strings["cranky"] = "humeurig";
-$a->strings["disturbed"] = "verontrust";
-$a->strings["frustrated"] = "gefrustreerd ";
-$a->strings["depressed"] = "gedeprimeerd";
-$a->strings["motivated"] = "gemotiveerd";
-$a->strings["relaxed"] = "ontspannen";
-$a->strings["surprised"] = "verrast";
-$a->strings["May"] = "mei";
-$a->strings["Unknown Attachment"] = "Onbekende bijlage";
-$a->strings["Attachment"] = "Bijlage";
-$a->strings["Size Unknown"] = "Onbekende grootte";
-$a->strings["remove category"] = "categorie verwijderen";
-$a->strings["remove from file"] = "uit map verwijderen";
-$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
-$a->strings["Link to Source"] = "Originele locatie";
-$a->strings["default"] = "standaard";
-$a->strings["Page layout"] = "Pagina-lay-out";
-$a->strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
-$a->strings["Page content type"] = "Opmaaktype pagina";
-$a->strings["Select an alternate language"] = "Kies een andere taal";
-$a->strings["photo"] = "foto";
-$a->strings["status"] = "bericht";
-$a->strings["comment"] = "reactie";
-$a->strings["activity"] = "activiteit";
-$a->strings["Design Tools"] = "Ontwerp-hulpmiddelen";
-$a->strings["Blocks"] = "Blokken";
-$a->strings["Menus"] = "Menu's";
-$a->strings["Layouts"] = "Lay-outs";
-$a->strings["Pages"] = "Pagina's";
+$a->strings["Invalid data packet"] = "Datapakket ongeldig";
+$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
+$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
+$a->strings["invalid target signature"] = "ongeldig doelkenmerk";
+$a->strings["Logged out."] = "Uitgelogd.";
+$a->strings["Failed authentication"] = "Mislukte authenticatie";
+$a->strings["Login failed."] = "Inloggen mislukt.";
$a->strings["Image/photo"] = "Afbeelding/foto";
$a->strings["Encrypted content"] = "Versleutelde inhoud";
$a->strings["Install %s element: "] = "Installeer %s-element: ";
@@ -663,10 +720,79 @@ $a->strings["Edit collection"] = "Collectie bewerken";
$a->strings["Add new collection"] = "Nieuwe collectie toevoegen";
$a->strings["Channels not in any collection"] = "Kanalen die zich in geen enkele collectie bevinden";
$a->strings["add"] = "toevoegen";
-$a->strings["Invalid data packet"] = "Datapakket ongeldig";
-$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
-$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
-$a->strings["invalid target signature"] = "ongeldig doelkenmerk";
+$a->strings["Apps"] = "Apps";
+$a->strings["System"] = "Systeem";
+$a->strings["Create Personal App"] = "Persoonlijke app maken";
+$a->strings["Edit Personal App"] = "Persoonlijke app bewerken";
+$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
+$a->strings["Suggestions"] = "Voorgestelde kanalen";
+$a->strings["See more..."] = "Meer...";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
+$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
+$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
+$a->strings["Notes"] = "Aantekeningen";
+$a->strings["Save"] = "Opslaan";
+$a->strings["Remove term"] = "Verwijder zoekterm";
+$a->strings["Archives"] = "Archieven";
+$a->strings["Me"] = "Ik";
+$a->strings["Family"] = "Familie";
+$a->strings["Acquaintances"] = "Kennissen";
+$a->strings["All"] = "Alles";
+$a->strings["Refresh"] = "Vernieuwen";
+$a->strings["Account settings"] = "Account";
+$a->strings["Channel settings"] = "Kanaal";
+$a->strings["Additional features"] = "Extra functies";
+$a->strings["Feature/Addon settings"] = "Extra functie- en plugin-instellingen";
+$a->strings["Display settings"] = "Weergave";
+$a->strings["Connected apps"] = "Verbonden applicaties";
+$a->strings["Export channel"] = "Kanaal exporteren";
+$a->strings["Connection Default Permissions"] = "Standaard permissies voor connecties";
+$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
+$a->strings["Private Mail Menu"] = "Privéberichten";
+$a->strings["Combined View"] = "Gecombineerd postvak";
+$a->strings["Inbox"] = "Postvak IN";
+$a->strings["Outbox"] = "Postvak UIT";
+$a->strings["New Message"] = "Nieuw bericht";
+$a->strings["Conversations"] = "Conversaties";
+$a->strings["Received Messages"] = "Ontvangen berichten";
+$a->strings["Sent Messages"] = "Verzonden berichten";
+$a->strings["No messages."] = "Geen berichten";
+$a->strings["Delete conversation"] = "Verwijder conversatie";
+$a->strings["Events Menu"] = "Agenda-menu";
+$a->strings["Day View"] = "Dag tonen";
+$a->strings["Week View"] = "Week tonen";
+$a->strings["Month View"] = "Maand tonen";
+$a->strings["Export"] = "Exporteren";
+$a->strings["Import"] = "Importeren";
+$a->strings["Chat Rooms"] = "Chatkanalen";
+$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
+$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
+$a->strings["photo/image"] = "foto/afbeelding";
+$a->strings["Rate Me"] = "Beoordeel mij";
+$a->strings["View Ratings"] = "Bekijk beoordelingen";
+$a->strings["Public Hubs"] = "Openbare hubs";
+$a->strings["Forums"] = "Forums";
+$a->strings["Tasks"] = "Taken";
+$a->strings["Documentation"] = "Documentatie";
+$a->strings["Project/Site Information"] = "Project- en hub-informatie";
+$a->strings["For Members"] = "Voor leden";
+$a->strings["For Administrators"] = "Voor beheerders";
+$a->strings["For Developers"] = "Voor ontwikkelaars";
+$a->strings["Site"] = "Hub-instellingen";
+$a->strings["Accounts"] = "Accounts";
+$a->strings["Channels"] = "Kanalen";
+$a->strings["Plugins"] = "Plug-ins";
+$a->strings["Themes"] = "Thema's";
+$a->strings["Inspect queue"] = "Inspecteer berichtenwachtrij";
+$a->strings["Profile Config"] = "Profielconfiguratie";
+$a->strings["DB updates"] = "Database-updates";
+$a->strings["Logs"] = "Logboeken";
+$a->strings["Admin"] = "Beheer";
+$a->strings["Plugin Features"] = "Plug-in-opties";
+$a->strings["User registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten";
+$a->strings["View Photo"] = "Foto weergeven";
+$a->strings["Edit Album"] = "Album bewerken";
$a->strings["No recipient provided."] = "Geen ontvanger opgegeven.";
$a->strings["[no subject]"] = "[geen onderwerp]";
$a->strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
@@ -728,8 +854,6 @@ $a->strings["Love/Romance:"] = "Liefde/romantiek:";
$a->strings["Work/employment:"] = "Werk/beroep:";
$a->strings["School/education:"] = "School/opleiding:";
$a->strings["Like this thing"] = "Vind dit ding leuk";
-$a->strings["Attachments:"] = "Bijlagen:";
-$a->strings["\$Projectname event notification:"] = "Notificatie \$Projectname-gebeurtenis:";
$a->strings["Tags"] = "Tags";
$a->strings["Keywords"] = "Trefwoorden";
$a->strings["have"] = "heb";
@@ -738,199 +862,85 @@ $a->strings["want"] = "wil";
$a->strings["wants"] = "wil";
$a->strings["likes"] = "vindt dit leuk";
$a->strings["dislikes"] = "vindt dit niet leuk";
-$a->strings["channel"] = "kanaal";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
-$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
-$a->strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
-$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
-$a->strings["__ctx:title__ Likes"] = "vinden dit leuk";
-$a->strings["__ctx:title__ Dislikes"] = "vinden dit niet leuk";
-$a->strings["__ctx:title__ Agree"] = "eens";
-$a->strings["__ctx:title__ Disagree"] = "oneens";
-$a->strings["__ctx:title__ Abstain"] = "onthoudingen";
-$a->strings["__ctx:title__ Attending"] = "aanwezig";
-$a->strings["__ctx:title__ Not attending"] = "niet aanwezig";
-$a->strings["__ctx:title__ Might attend"] = "mogelijk aanwezig";
-$a->strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
-$a->strings["Categories:"] = "Categorieën:";
-$a->strings["Filed under:"] = "Bewaard onder:";
-$a->strings["View in context"] = "In context bekijken";
-$a->strings["remove"] = "verwijderen";
-$a->strings["Loading..."] = "Aan het laden...";
-$a->strings["Delete Selected Items"] = "Verwijder de geselecteerde items";
-$a->strings["View Source"] = "Bron weergeven";
-$a->strings["Follow Thread"] = "Conversatie volgen";
-$a->strings["View Status"] = "Status weergeven";
-$a->strings["View Profile"] = "Profiel weergeven";
-$a->strings["View Photos"] = "Foto's weergeven";
-$a->strings["Activity/Posts"] = "Kanaal-activiteit";
-$a->strings["Edit Connection"] = "Connectie bewerken";
-$a->strings["Send PM"] = "Privébericht verzenden";
-$a->strings["%s likes this."] = "%s vindt dit leuk.";
-$a->strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "<span %1\$s>%2\$d persoon</span> vindt dit leuk.",
- 1 => "<span %1\$s>%2\$d personen</span> vinden dit leuk.",
-);
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "<span %1\$s>%2\$d persoon</span> vindt dit niet leuk.",
- 1 => "<span %1\$s>%2\$d personen</span> vinden dit niet leuk.",
-);
-$a->strings["and"] = "en";
-$a->strings[", and %d other people"] = array(
- 0 => ", en %d ander persoon",
- 1 => ", en %d andere personen",
-);
-$a->strings["%s like this."] = "%s vinden dit leuk.";
-$a->strings["%s don't like this."] = "%s vinden dit niet leuk.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Voor <strong>iedereen</strong> zichtbaar";
-$a->strings["Please enter a link URL:"] = "Vul een internetadres/URL in:";
-$a->strings["Please enter a video link/URL:"] = "Vul een videolink/URL in:";
-$a->strings["Please enter an audio link/URL:"] = "Vul een audiolink/URL in:";
-$a->strings["Tag term:"] = "Tag:";
-$a->strings["Save to Folder:"] = "Bewaar in map: ";
-$a->strings["Where are you right now?"] = "Waar bevind je je op dit moment?";
-$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verloopt op DD-MM-YYYY om HH:MM";
-$a->strings["Share"] = "Delen";
-$a->strings["Page link name"] = "Linknaam pagina";
-$a->strings["Post as"] = "Bericht plaatsen als";
-$a->strings["Upload photo"] = "Foto uploaden";
-$a->strings["upload photo"] = "foto uploaden";
-$a->strings["Attach file"] = "Bestand toevoegen";
-$a->strings["attach file"] = "bestand toevoegen";
-$a->strings["Insert web link"] = "Weblink invoegen";
-$a->strings["web link"] = "Weblink";
-$a->strings["Insert video link"] = "Videolink invoegen";
-$a->strings["video link"] = "videolink";
-$a->strings["Insert audio link"] = "Audiolink invoegen";
-$a->strings["audio link"] = "audiolink";
-$a->strings["Set your location"] = "Locatie instellen";
-$a->strings["set location"] = "locatie instellen";
-$a->strings["Toggle voting"] = "Peiling in- of uitschakelen";
-$a->strings["Clear browser location"] = "Locatie van webbrowser wissen";
-$a->strings["clear location"] = "locatie wissen";
-$a->strings["Title (optional)"] = "Titel (optioneel)";
-$a->strings["Categories (optional, comma-separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
-$a->strings["Permission settings"] = "Permissies";
-$a->strings["permissions"] = "permissies";
-$a->strings["Public post"] = "Openbaar bericht";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be";
-$a->strings["Set expiration date"] = "Verloopdatum instellen";
-$a->strings["Set publish date"] = "Publicatiedatum instellen";
-$a->strings["OK"] = "OK";
-$a->strings["Cancel"] = "Annuleren";
-$a->strings["Discover"] = "Ontdekken";
-$a->strings["Imported public streams"] = "Openbare streams importeren";
-$a->strings["Commented Order"] = "Nieuwe reacties bovenaan";
-$a->strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan";
-$a->strings["Posted Order"] = "Nieuwe berichten bovenaan";
-$a->strings["Sort by Post Date"] = "Nieuwe berichten bovenaan";
-$a->strings["Personal"] = "Persoonlijk";
-$a->strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent";
-$a->strings["New"] = "Nieuw";
-$a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
-$a->strings["Starred"] = "Met ster";
-$a->strings["Favourite Posts"] = "Favoriete berichten";
-$a->strings["Spam"] = "Spam";
-$a->strings["Posts flagged as SPAM"] = "Berichten gemarkeerd als SPAM";
-$a->strings["Channel"] = "Kanaal";
-$a->strings["Status Messages and Posts"] = "Berichten in dit kanaal";
-$a->strings["About"] = "Over";
-$a->strings["Profile Details"] = "Profiel";
-$a->strings["Files and Storage"] = "Bestanden en opslagruimte";
-$a->strings["Chatrooms"] = "Chatkanalen";
-$a->strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
-$a->strings["Manage Webpages"] = "Webpagina's beheren";
-$a->strings["__ctx:noun__ Attending"] = array(
- 0 => "aanwezig",
- 1 => "aanwezig",
-);
-$a->strings["__ctx:noun__ Not Attending"] = array(
- 0 => "niet aanwezig",
- 1 => "niet aanwezig",
-);
-$a->strings["__ctx:noun__ Undecided"] = array(
- 0 => "nog niet beslist",
- 1 => "nog niet beslist",
-);
-$a->strings["__ctx:noun__ Agree"] = array(
- 0 => "eens",
- 1 => "eens",
-);
-$a->strings["__ctx:noun__ Disagree"] = array(
- 0 => "oneens",
- 1 => "oneens",
-);
-$a->strings["__ctx:noun__ Abstain"] = array(
- 0 => "onthouding",
- 1 => "onthoudingen",
+$a->strings["Item was not found."] = "Item niet gevonden";
+$a->strings["No source file."] = "Geen bronbestand.";
+$a->strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden";
+$a->strings["Cannot locate file to revise/update"] = "Kan het bestand wat aangepast moet worden niet vinden";
+$a->strings["File exceeds size limit of %d"] = "Bestand is groter dan de toegelaten %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt.";
+$a->strings["Path not available."] = "Pad niet beschikbaar.";
+$a->strings["Empty pathname"] = "Padnaam leeg";
+$a->strings["duplicate filename or path"] = "dubbele bestandsnaam of pad";
+$a->strings["Path not found."] = "Pad niet gevonden";
+$a->strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt.";
+$a->strings["database storage failed."] = "opslag in database mislukt.";
+$a->strings["Empty path"] = "Ontbrekend bestandspad";
+$a->strings["Attachments:"] = "Bijlagen:";
+$a->strings["\$Projectname event notification:"] = "Notificatie \$Projectname-gebeurtenis:";
+$a->strings["prev"] = "vorige";
+$a->strings["first"] = "eerste";
+$a->strings["last"] = "laatste";
+$a->strings["next"] = "volgende";
+$a->strings["older"] = "ouder";
+$a->strings["newer"] = "nieuwer";
+$a->strings["No connections"] = "Geen connecties";
+$a->strings["%d Connection"] = array(
+ 0 => "%d connectie",
+ 1 => "%d connecties",
);
-$a->strings["Apps"] = "Apps";
-$a->strings["System"] = "Systeem";
-$a->strings["Create Personal App"] = "Persoonlijke app maken";
-$a->strings["Edit Personal App"] = "Persoonlijke app bewerken";
-$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
-$a->strings["Suggestions"] = "Voorgestelde kanalen";
-$a->strings["See more..."] = "Meer...";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
-$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
-$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
-$a->strings["Notes"] = "Aantekeningen";
-$a->strings["Remove term"] = "Verwijder zoekterm";
-$a->strings["Archives"] = "Archieven";
-$a->strings["Me"] = "Ik";
-$a->strings["Family"] = "Familie";
-$a->strings["Acquaintances"] = "Kennissen";
-$a->strings["All"] = "Alles";
-$a->strings["Refresh"] = "Vernieuwen";
-$a->strings["Account settings"] = "Account";
-$a->strings["Channel settings"] = "Kanaal";
-$a->strings["Additional features"] = "Extra functies";
-$a->strings["Feature/Addon settings"] = "Extra functie- en plugin-instellingen";
-$a->strings["Display settings"] = "Weergave";
-$a->strings["Connected apps"] = "Verbonden applicaties";
-$a->strings["Export channel"] = "Kanaal exporteren";
-$a->strings["Connection Default Permissions"] = "Standaard permissies voor connecties";
-$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
-$a->strings["Private Mail Menu"] = "Privéberichten";
-$a->strings["Combined View"] = "Gecombineerd postvak";
-$a->strings["Inbox"] = "Postvak IN";
-$a->strings["Outbox"] = "Postvak UIT";
-$a->strings["New Message"] = "Nieuw bericht";
-$a->strings["Conversations"] = "Conversaties";
-$a->strings["Received Messages"] = "Ontvangen berichten";
-$a->strings["Sent Messages"] = "Verzonden berichten";
-$a->strings["No messages."] = "Geen berichten";
-$a->strings["Delete conversation"] = "Verwijder conversatie";
-$a->strings["D, d M Y - g:i A"] = "D, j M Y - G:i";
-$a->strings["Chat Rooms"] = "Chatkanalen";
-$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
-$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
-$a->strings["photo/image"] = "foto/afbeelding";
-$a->strings["Rate Me"] = "Beoordeel mij";
-$a->strings["View Ratings"] = "Bekijk beoordelingen";
-$a->strings["Public Hubs"] = "Openbare hubs";
-$a->strings["Forums"] = "Forums";
-$a->strings["Tasks"] = "Taken";
-$a->strings["Documentation"] = "Documentatie";
-$a->strings["Project/Site Information"] = "Project- en hub-informatie";
-$a->strings["For Members"] = "Voor leden";
-$a->strings["For Administrators"] = "Voor beheerders";
-$a->strings["For Developers"] = "Voor ontwikkelaars";
-$a->strings["Site"] = "Hub-instellingen";
-$a->strings["Accounts"] = "Accounts";
-$a->strings["Channels"] = "Kanalen";
-$a->strings["Plugins"] = "Plug-ins";
-$a->strings["Themes"] = "Thema's";
-$a->strings["Inspect queue"] = "Inspecteer berichtenwachtrij";
-$a->strings["Profile Config"] = "Profielconfiguratie";
-$a->strings["DB updates"] = "Database-updates";
-$a->strings["Logs"] = "Logboeken";
-$a->strings["Admin"] = "Beheer";
-$a->strings["Plugin Features"] = "Plug-in-opties";
-$a->strings["User registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten";
+$a->strings["View Connections"] = "Connecties weergeven";
+$a->strings["poke"] = "aanstoten";
+$a->strings["ping"] = "ping";
+$a->strings["pinged"] = "gepingd";
+$a->strings["prod"] = "por";
+$a->strings["prodded"] = "gepord";
+$a->strings["slap"] = "slaan";
+$a->strings["slapped"] = "sloeg";
+$a->strings["finger"] = "finger";
+$a->strings["fingered"] = "gefingerd";
+$a->strings["rebuff"] = "afpoeieren";
+$a->strings["rebuffed"] = "afgepoeierd";
+$a->strings["happy"] = "gelukkig";
+$a->strings["sad"] = "bedroefd";
+$a->strings["mellow"] = "mellow";
+$a->strings["tired"] = "moe";
+$a->strings["perky"] = "parmantig";
+$a->strings["angry"] = "boos";
+$a->strings["stupified"] = "beteuterd";
+$a->strings["puzzled"] = "verward";
+$a->strings["interested"] = "geïnteresseerd";
+$a->strings["bitter"] = "verbitterd";
+$a->strings["cheerful"] = "vrolijk";
+$a->strings["alive"] = "levendig";
+$a->strings["annoyed"] = "geërgerd";
+$a->strings["anxious"] = "bezorgd";
+$a->strings["cranky"] = "humeurig";
+$a->strings["disturbed"] = "verontrust";
+$a->strings["frustrated"] = "gefrustreerd ";
+$a->strings["depressed"] = "gedeprimeerd";
+$a->strings["motivated"] = "gemotiveerd";
+$a->strings["relaxed"] = "ontspannen";
+$a->strings["surprised"] = "verrast";
+$a->strings["May"] = "mei";
+$a->strings["Unknown Attachment"] = "Onbekende bijlage";
+$a->strings["unknown"] = "onbekend";
+$a->strings["remove category"] = "categorie verwijderen";
+$a->strings["remove from file"] = "uit map verwijderen";
+$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
+$a->strings["Link to Source"] = "Originele locatie";
+$a->strings["default"] = "standaard";
+$a->strings["Page layout"] = "Pagina-lay-out";
+$a->strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
+$a->strings["Page content type"] = "Opmaaktype pagina";
+$a->strings["Select an alternate language"] = "Kies een andere taal";
+$a->strings["activity"] = "activiteit";
+$a->strings["Design Tools"] = "Ontwerp-hulpmiddelen";
+$a->strings["Blocks"] = "Blokken";
+$a->strings["Menus"] = "Menu's";
+$a->strings["Layouts"] = "Lay-outs";
+$a->strings["Pages"] = "Pagina's";
$a->strings["Logout"] = "Uitloggen";
$a->strings["End this session"] = "Beëindig deze sessie";
$a->strings["Home"] = "Home";
@@ -1226,27 +1236,6 @@ $a->strings["Website:"] = "Website:";
$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Kanaal op afstand [%s] (nog niet op deze hub bekend)";
$a->strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)";
$a->strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)";
-$a->strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken.";
-$a->strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren.";
-$a->strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren";
-$a->strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt.";
-$a->strings["Messages"] = "Berichten";
-$a->strings["Message recalled."] = "Bericht ingetrokken.";
-$a->strings["Conversation removed."] = "Conversatie verwijderd";
-$a->strings["Requested channel is not in this network"] = "Opgevraagd kanaal is niet in dit netwerk beschikbaar";
-$a->strings["Send Private Message"] = "Privébericht versturen";
-$a->strings["To:"] = "Aan:";
-$a->strings["Subject:"] = "Onderwerp:";
-$a->strings["Your message:"] = "Jouw bericht:";
-$a->strings["Send"] = "Verzenden";
-$a->strings["Delete message"] = "Bericht verwijderen";
-$a->strings["Delivery report"] = "Afleveringsrapport";
-$a->strings["Recall message"] = "Bericht intrekken";
-$a->strings["Message has been recalled."] = "Bericht is ingetrokken.";
-$a->strings["Delete Conversation"] = "Verwijder conversatie";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender.";
-$a->strings["Send Reply"] = "Antwoord versturen";
-$a->strings["Your message for %s (%s):"] = "Jouw privébericht aan %s (%s):";
$a->strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
$a->strings["Album not found."] = "Album niet gevonden.";
$a->strings["Delete Album"] = "Verwijder album";
@@ -1265,8 +1254,6 @@ $a->strings["Album name could not be decoded"] = "Albumnaam kon niet gedecodeerd
$a->strings["Contact Photos"] = "Connectiefoto's";
$a->strings["Show Newest First"] = "Nieuwste eerst weergeven";
$a->strings["Show Oldest First"] = "Oudste eerst weergeven";
-$a->strings["View Photo"] = "Foto weergeven";
-$a->strings["Edit Album"] = "Album bewerken";
$a->strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item kan zijn beperkt.";
$a->strings["Photo not available"] = "Foto niet aanwezig";
$a->strings["Use as profile photo"] = "Als profielfoto gebruiken";
@@ -1288,20 +1275,6 @@ $a->strings["In This Photo:"] = "Op deze foto:";
$a->strings["Map"] = "Kaart";
$a->strings["View Album"] = "Album weergeven";
$a->strings["Recent Photos"] = "Recente foto's";
-$a->strings["Invalid message"] = "Ongeldig bericht";
-$a->strings["no results"] = "geen resultaten";
-$a->strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s";
-$a->strings["channel sync processed"] = "kanaalsync verwerkt";
-$a->strings["queued"] = "in wachtrij";
-$a->strings["posted"] = "verstuurd";
-$a->strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden";
-$a->strings["updated"] = "geüpdatet";
-$a->strings["update ignored"] = "update genegeerd";
-$a->strings["permission denied"] = "toegang geweigerd";
-$a->strings["recipient not found"] = "ontvanger niet gevonden";
-$a->strings["mail recalled"] = "Privébericht ingetrokken";
-$a->strings["duplicate mail received"] = "dubbel privébericht ontvangen";
-$a->strings["mail delivered"] = "privébericht afgeleverd";
$a->strings["Item not found"] = "Item niet gevonden";
$a->strings["Delete block?"] = "Blok verwijderen";
$a->strings["Insert YouTube video"] = "YouTube-video invoegen";
@@ -1381,6 +1354,8 @@ $a->strings["Disable discovery tab"] = "Ontdekkingstab";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Verwijder de tab in de matrix-weergave waarin zich een selectie aan openbare berichten bevindt, die automatisch voor deze hub zijn uitgekozen.";
$a->strings["login on Homepage"] = "Inlogformulier op de homepagina";
$a->strings["Present a login box to visitors on the home page if no other content has been configured."] = "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. ";
+$a->strings["Directory Server URL"] = "Server-URL voor de kanalengids";
+$a->strings["Default directory server"] = "Standaardserver voor de kanalengids";
$a->strings["Proxy user"] = "Gebruikersnaam proxy";
$a->strings["Proxy URL"] = "URL proxy";
$a->strings["Network timeout"] = "Netwerktimeout";
@@ -1550,6 +1525,7 @@ $a->strings["Layout not found."] = "Lay-out niet gevonden.";
$a->strings["Module Name:"] = "Modulenaam:";
$a->strings["Layout Help"] = "Lay-out-hulp";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s";
+$a->strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s niet meer";
$a->strings["No valid account found."] = "Geen geldige account gevonden.";
$a->strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
$a->strings["Site Member (%s)"] = "Lid van hub (%s)";
@@ -1579,9 +1555,8 @@ $a->strings["l, F j"] = "l j F";
$a->strings["Edit event"] = "Gebeurtenis bewerken";
$a->strings["Delete event"] = "Gebeurtenis verwijderen";
$a->strings["calendar"] = "agenda";
-$a->strings["Create New Event"] = "Nieuwe gebeurtenis aanmaken";
-$a->strings["Export"] = "Exporteren";
-$a->strings["Import"] = "Importeren";
+$a->strings["New Event"] = "Nieuwe gebeurtenis";
+$a->strings["Today"] = "Vandaag";
$a->strings["Event removed"] = "Gebeurtenis verwijderd";
$a->strings["Failed to remove event"] = "Verwijderen gebeurtenis mislukt";
$a->strings["Event details"] = "Details van gebeurtenis";
@@ -1634,6 +1609,7 @@ $a->strings["Description: "] = "Omschrijving: ";
$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd";
$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
+$a->strings["Duplicate post suppressed."] = "Dubbel bericht tegengehouden.";
$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
$a->strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen.";
$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
@@ -1703,19 +1679,6 @@ $a->strings["Remote Authentication"] = "Authenticatie op afstand";
$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Vul jouw kanaaladres in (bijv. channel@example.com)";
$a->strings["Authenticate"] = "Authenticeren";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Onvoldoende permissies. Doorgestuurd naar profielpagina.";
-$a->strings["Version %s"] = "Versie %s";
-$a->strings["Installed plugins/addons/apps:"] = "Ingeschakelde plug-ins/add-ons/apps:";
-$a->strings["No installed plugins/addons/apps"] = "Geen ingeschakelde plug-ins/add-ons/apps";
-$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dit is een \$Projectname-hub - \$Projectname is een wereldwijd coöperatief netwerk van gedecentraliseerde websites (hubs) met verbeterde privacy.";
-$a->strings["Tag: "] = "Tag: ";
-$a->strings["Last background fetch: "] = "Meest recente achtergrond-fetch:";
-$a->strings["Current load average: "] = "Gemiddelde systeembelasting is nu:";
-$a->strings["Running at web location"] = "Draaiend op weblocatie";
-$a->strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Bezoek <a href=\"http://hubzilla.org\">hubzilla.org</a> ";
-$a->strings["Bug reports and issues: please visit"] = "Bugrapporten en andere kwesties: bezoek";
-$a->strings["\$projectname issues"] = "\$projectname-issues";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com";
-$a->strings["Site Administrators"] = "Hubbeheerders: ";
$a->strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe.";
$a->strings["Nothing to import."] = "Niets gevonden om te importeren";
$a->strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden";
@@ -1734,6 +1697,20 @@ $a->strings["For either option, please choose whether to make this hub your new
$a->strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in";
$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)";
$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid.";
+$a->strings["Invalid message"] = "Ongeldig bericht";
+$a->strings["no results"] = "geen resultaten";
+$a->strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s";
+$a->strings["channel sync processed"] = "kanaalsync verwerkt";
+$a->strings["queued"] = "in wachtrij";
+$a->strings["posted"] = "verstuurd";
+$a->strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden";
+$a->strings["updated"] = "geüpdatet";
+$a->strings["update ignored"] = "update genegeerd";
+$a->strings["permission denied"] = "toegang geweigerd";
+$a->strings["recipient not found"] = "ontvanger niet gevonden";
+$a->strings["mail recalled"] = "Privébericht ingetrokken";
+$a->strings["duplicate mail received"] = "dubbel privébericht ontvangen";
+$a->strings["mail delivered"] = "privébericht afgeleverd";
$a->strings["Thing updated"] = "Ding bijgewerkt";
$a->strings["Object store: failed"] = "Opslaan van ding mislukt";
$a->strings["Thing added"] = "Ding toegevoegd";
@@ -1760,12 +1737,33 @@ $a->strings["%d message sent."] = array(
$a->strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar";
$a->strings["Send invitations"] = "Uitnodigingen verzenden";
$a->strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:";
+$a->strings["Your message:"] = "Jouw bericht:";
$a->strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op https://redmatrix.me.";
$a->strings["You will need to supply this invitation code: "] = "Je moet deze uitnodigingscode opgeven:";
$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):";
$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:";
$a->strings["or visit "] = "of bezoek ";
$a->strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]";
+$a->strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken.";
+$a->strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren.";
+$a->strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren";
+$a->strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt.";
+$a->strings["Messages"] = "Berichten";
+$a->strings["Message recalled."] = "Bericht ingetrokken.";
+$a->strings["Conversation removed."] = "Conversatie verwijderd";
+$a->strings["Requested channel is not in this network"] = "Opgevraagd kanaal is niet in dit netwerk beschikbaar";
+$a->strings["Send Private Message"] = "Privébericht versturen";
+$a->strings["To:"] = "Aan:";
+$a->strings["Subject:"] = "Onderwerp:";
+$a->strings["Send"] = "Verzenden";
+$a->strings["Delete message"] = "Bericht verwijderen";
+$a->strings["Delivery report"] = "Afleveringsrapport";
+$a->strings["Recall message"] = "Bericht intrekken";
+$a->strings["Message has been recalled."] = "Bericht is ingetrokken.";
+$a->strings["Delete Conversation"] = "Verwijder conversatie";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender.";
+$a->strings["Send Reply"] = "Antwoord versturen";
+$a->strings["Your message for %s (%s):"] = "Jouw privébericht aan %s (%s):";
$a->strings["[Embedded content - reload page to view]"] = "[Ingesloten inhoud - ververs pagina om te bekijken] ";
$a->strings["Source of Item"] = "Bron van item";
$a->strings["Name is required"] = "Naam is vereist";
@@ -1901,9 +1899,11 @@ $a->strings["Change the behaviour of this account for special situations"] = "Ve
$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!";
$a->strings["Miscellaneous Settings"] = "Diverse instellingen";
$a->strings["Default photo upload folder"] = "Standaard fotoalbum voor uploads";
+$a->strings["%Y - current year, %m - current month"] = "%Y - dit jaar, %m - deze maand";
$a->strings["Default file upload folder"] = "Standaard bestandsmap voor uploads";
$a->strings["Personal menu to display in your channel pages"] = "Persoonlijk menu om op je kanaalpagina's weer te geven";
$a->strings["Remove this channel."] = "Verwijder dit kanaal.";
+$a->strings["Firefox Share \$Projectname provider"] = "\$Projectname-service voor Firefox Share";
$a->strings["Xchan Lookup"] = "Xchan opzoeken";
$a->strings["Lookup xchan beginning with (or webbie): "] = "Zoek een xchan (of webbie) die begint met:";
$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt.";
@@ -1969,12 +1969,19 @@ $a->strings["Visit %s's profile [%s]"] = "Bezoek het profiel van %s [%s]";
$a->strings["Location not found."] = "Locatie niet gevonden.";
$a->strings["Location lookup failed."] = "Opzoeken locatie mislukt";
$a->strings["Please select another location to become primary before removing the primary location."] = "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen.";
+$a->strings["Syncing locations"] = "Locaties synchronizeren";
$a->strings["No locations found."] = "Geen locaties gevonden.";
$a->strings["Manage Channel Locations"] = "Kanaallocaties beheren";
$a->strings["Location (address)"] = "Locatie (adres)";
$a->strings["Primary Location"] = "Primaire locatie";
$a->strings["Drop location"] = "Locatie verwijderen";
+$a->strings["Sync now"] = "Nu synchroniseren";
+$a->strings["Please wait several minutes between consecutive operations."] = "Wacht enkele minuten tussen opeenvolgende handelingen.";
+$a->strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen.";
+$a->strings["Use this form to drop the location if the hub is no longer operating."] = "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is.";
$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen.";
+$a->strings["Share content from Firefox to \$Projectname"] = "Deel webpagina's vanuit Firefox met ";
+$a->strings["Activate the Firefox \$Projectname provider"] = "Activeer de \$Projectname-service in Firefox";
$a->strings["\$Projectname Server - Setup"] = "\$Projectname Server - Setup";
$a->strings["Could not connect to database."] = "Could not connect to database.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Could not connect to specified hub URL. Possible SSL certificate or DNS issue.";
@@ -2063,6 +2070,19 @@ $a->strings["Files: shared with me"] = "Bestanden: met mij gedeeld";
$a->strings["NEW"] = "NIEUW";
$a->strings["Remove all files"] = "Verwijder alle bestanden";
$a->strings["Remove this file"] = "Verwijder dit bestand";
+$a->strings["Version %s"] = "Versie %s";
+$a->strings["Installed plugins/addons/apps:"] = "Ingeschakelde plug-ins/add-ons/apps:";
+$a->strings["No installed plugins/addons/apps"] = "Geen ingeschakelde plug-ins/add-ons/apps";
+$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dit is een \$Projectname-hub - \$Projectname is een wereldwijd coöperatief netwerk van gedecentraliseerde websites (hubs) met verbeterde privacy.";
+$a->strings["Tag: "] = "Tag: ";
+$a->strings["Last background fetch: "] = "Meest recente achtergrond-fetch:";
+$a->strings["Current load average: "] = "Gemiddelde systeembelasting is nu:";
+$a->strings["Running at web location"] = "Draaiend op weblocatie";
+$a->strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Bezoek <a href=\"http://hubzilla.org\">hubzilla.org</a> ";
+$a->strings["Bug reports and issues: please visit"] = "Bugrapporten en andere kwesties: bezoek";
+$a->strings["\$projectname issues"] = "\$projectname-issues";
+$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com";
+$a->strings["Site Administrators"] = "Hubbeheerders: ";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer.";
$a->strings["Profile not found."] = "Profiel niet gevonden.";
$a->strings["Profile deleted."] = "Profiel verwijderd.";
diff --git a/view/pdl/mod_events.pdl b/view/pdl/mod_events.pdl
index 5a9763297..5a71d88d9 100644
--- a/view/pdl/mod_events.pdl
+++ b/view/pdl/mod_events.pdl
@@ -1,3 +1,4 @@
[region=aside]
+[widget=eventsmenu][/widget]
[widget=tasklist][/widget]
[/region]
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index e83610f51..74d106fe3 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -847,6 +847,16 @@ nav .acpopup {
cursor: pointer;
}
+.fc-unthemed th,
+.fc-unthemed td,
+.fc-unthemed thead,
+.fc-unthemed tbody,
+.fc-unthemed .fc-divider,
+.fc-unthemed .fc-row,
+.fc-unthemed .fc-popover {
+ border-color: #ccc !important;
+}
+
.eventcal {
float: left;
font-size: 20px;
@@ -958,10 +968,6 @@ nav .acpopup {
color: #FF0000;
}
-.fc-state-highlight {
- background: none repeat scroll 0% 0% #FCF8E3 !important;
-}
-
#cboxOverlay {
z-index: 1050;
}
@@ -1117,31 +1123,6 @@ nav .acpopup {
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: 15px;
- margin-bottom: 5px;
-}
-#event-submit {
- margin-top: 10px;
-}
-
#item-delete-selected {
margin-top: 30px;
}
@@ -1328,6 +1309,7 @@ a.rconnect:hover, a.rateme:hover, div.rateme:hover {
.contactname {
padding-top: 2px;
font-weight: bold;
+ line-height: 1em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -1335,7 +1317,7 @@ a.rconnect:hover, a.rateme:hover, div.rateme:hover {
}
.dropdown-sub-text {
- font-size: 0.833em;
+ line-height: 1em;
overflow: hidden;
text-overflow: ellipsis;
display: block;
@@ -1382,6 +1364,10 @@ a.rconnect:hover, a.rateme:hover, div.rateme:hover {
border-radius: $radiuspx;
}
+#jotnets-wrapper, #jotnets-collapse {
+ margin-bottom: 18px;
+}
+
.acl-list-item {
width: 48%; /* fallback if browser does not support calc() */
width: calc(50% - 10px);
@@ -1716,7 +1702,8 @@ img.mail-conv-sender-photo {
box-shadow: $shadowpx $shadowpx $shadowpx 0 #444444;
}
-.wall-item-ago {
+.wall-item-ago,
+.dropdown-sub-text {
color: #777;
font-size: 0.833em;
}
@@ -1850,6 +1837,19 @@ nav .dropdown-menu {
border-bottom-left-radius: $radiuspx;
}
+.dropdown-menu-img-sm {
+ float: left;
+ width: 36px;
+ height: 36px;
+ margin-right: 5px;
+}
+
+.dropdown-menu-img-xs {
+ height: 18px;
+ width: 18px;
+ margin-right: 5px;
+}
+
#usermenu-caret {
color: $nav_icon_colour;
}
@@ -2311,3 +2311,7 @@ nav .badge.mail-update:hover {
.help-searchlist a {
font-size: 130%;
}
+
+.response-list ul {
+ list-style-type: none;
+}
diff --git a/view/theme/redbasic/schema/bluegrid.css b/view/theme/redbasic/schema/bluegrid.css
index 2c6f34558..8545f3f74 100644
--- a/view/theme/redbasic/schema/bluegrid.css
+++ b/view/theme/redbasic/schema/bluegrid.css
@@ -188,6 +188,10 @@ nav .badge:hover, nav .badge:focus {
box-shadow: 0px 6px 12px rgba(45,48,92,.176);
}
+.tags a {
+ color: inherit;
+}
+
#profile-photo-wrapper {
border: none;
}
@@ -299,7 +303,7 @@ input {
border: 1px solid rgba(255,255,255,.5);
}
-.contact-entry-edit a:hover, .contact-entry-edit a:focus, .generic-content-wrapper-styled > p > span.btn.btn-default > a:hover,.generic-content-wrapper-styled > p > span.btn.btn-default > a:focus, div#profile-edit-links a:hover, div#profile-edit-links a:focus {
+.contact-entry-edit:hover a, .contact-entry-edit:focus a, .generic-content-wrapper-styled > p > span.btn.btn-default > a:hover,.generic-content-wrapper-styled > p > span.btn.btn-default > a:focus, div#profile-edit-links a:hover, div#profile-edit-links a:focus {
color: #43488A;
}
@@ -337,7 +341,7 @@ input {
background-color: #FFF;
}
-.btn-primary, input#event-submit, input#rmagic-submit-button, input#lostpass-submit-button, input#side-follow-submit, .profile-edit-submit-wrapper > input.profile-edit-submit-button, input#profile-photo-submit, form#chat-form > input, div#adminpage > form > div.submit > input, input.sources-submit, input.contact-edit-submit, input#dbtn-submit {
+.btn-primary, input#event-submit, input#rmagic-submit-button, input#lostpass-submit-button, input#side-follow-submit, .profile-edit-submit-wrapper > input.profile-edit-submit-button, input#profile-photo-submit, form#chat-form > input, div#adminpage > form > div.submit > input, input.sources-submit, input.contact-edit-submit, input#dbtn-submit, input#newchannel-submit-button, input#contacts-search-submit {
background-color: #FFF;
color: #43488A;
border-radius: 0px;
@@ -346,7 +350,7 @@ input {
transition: all .3s ease-in-out;
}
-.btn-primary:hover, .btn-primary:focus, input#event-submit:hover, input#event-submit:focus, input#rmagic-submit-button:hover, input#rmagic-submit-button:focus, input#lostpass-submit-button:hover, input#lostpass-submit-button:focus, input#side-follow-submit:hover, input#side-follow-submit:focus, .profile-edit-submit-wrapper > input.profile-edit-submit-button:hover, .profile-edit-submit-wrapper > input.profile-edit-submit-button:focus, input#profile-photo-submit:hover, input#profile-photo-submit:focus, form#chat-form > input:hover, form#chat-form > input:focus, div#adminpage > form > div.submit > input:hover, div#adminpage > form > div.submit > input:focus, input.sources-submit:hover, input.sources-submit:focus, input.contact-edit-submit:focus, input.contact-edit-submit:hover, input#dbtn-submit:hover, input#dbtn-submit:focus {
+.btn-primary:hover, .btn-primary:focus, input#event-submit:hover, input#event-submit:focus, input#rmagic-submit-button:hover, input#rmagic-submit-button:focus, input#lostpass-submit-button:hover, input#lostpass-submit-button:focus, input#side-follow-submit:hover, input#side-follow-submit:focus, .profile-edit-submit-wrapper > input.profile-edit-submit-button:hover, .profile-edit-submit-wrapper > input.profile-edit-submit-button:focus, input#profile-photo-submit:hover, input#profile-photo-submit:focus, form#chat-form > input:hover, form#chat-form > input:focus, div#adminpage > form > div.submit > input:hover, div#adminpage > form > div.submit > input:focus, input.sources-submit:hover, input.sources-submit:focus, input.contact-edit-submit:focus, input.contact-edit-submit:hover, input#dbtn-submit:hover, input#dbtn-submit:focus, input#newchannel-submit-button:hover, input#newchannel-submit-button:focus, input#contacts-search-submit:hover, input#contacts-search-submit:focus {
border-color: #FFF;
background-color: #43488A;
color: #FFF;
diff --git a/view/theme/redbasic/schema/dark.css b/view/theme/redbasic/schema/dark.css
index 20f9e0833..936f74761 100644
--- a/view/theme/redbasic/schema/dark.css
+++ b/view/theme/redbasic/schema/dark.css
@@ -88,6 +88,10 @@
background-color: #111;
}
+.jotnets-wrapper > a.btn {
+ font-weight: 400 !important;
+}
+
.btn {
background-color: #1e1e1e;
border-color: #222;
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl
index e8b779622..013f3f296 100755
--- a/view/tpl/acl_selector.tpl
+++ b/view/tpl/acl_selector.tpl
@@ -6,22 +6,32 @@
<h4 class="modal-title">{{$aclModalTitle}}</h4>
</div>
<div class="modal-body">
+ {{if $jotnets}}
+ <div class="jotnets-wrapper" role="tab" id="jotnets-wrapper">
+ <a data-toggle="collapse" class="btn btn-block btn-default" href="#jotnets-collapse" aria-expanded="false" aria-controls="jotnets-collapse">{{$jnetModalTitle}} <span class="caret"></span></a>
+ </div>
+ <div id="jotnets-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="acl-select">
+ {{$jotnets}}
+ <div class="clear"></div>
+ </div>
+ {{/if}}
+
<div id="acl-wrapper">
<button id="acl-showall" class="btn btn-block btn-default"><i class="icon-globe"></i> {{$showall}}</button>
<input type="text" id="acl-search" placeholder="&#xf002;">
+
<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 data-src="{0}"><p>{1}</p>
<button class="acl-button-hide btn btn-xs btn-default"><i class="icon-remove"></i> {{$hide}}</button>
<button class="acl-button-show btn btn-xs btn-default"><i class="icon-ok"></i> {{$show}}</button>
</div>
- {{if $jotnets}}
- {{$jotnets}}
- {{/if}}
</div>
<div class="modal-footer clear">
<button type="button" class="btn btn-default" data-dismiss="modal">{{$aclModalDismiss}}</button>
@@ -31,14 +41,10 @@
</div><!-- /.modal -->
<script>
-//$(document).ready(function() {
-// setTimeout( function () {
- if(typeof acl=="undefined"){
- acl = new ACL(
- baseurl+"/acl",
- [ {{$allowcid}},{{$allowgid}},{{$denycid}},{{$denygid}} ]
- );
- }
-// }, 5000 );
-//});
+ if(typeof acl=="undefined"){
+ acl = new ACL(
+ baseurl+"/acl",
+ [ {{$allowcid}},{{$allowgid}},{{$denycid}},{{$denygid}} ]
+ );
+ }
</script>
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 4782f827b..5257b3ed6 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -143,7 +143,7 @@
<li role="presentation" class="divider"></li>
{{$item.item_photo_menu}}
- {{if $item.edpost}}
+ {{if $item.edpost && $item.dreport}}
<li role="presentation"><a role="menuitem" href="dreport/{{$item.mid}}">{{$item.dreport}}</a></li>
{{/if}}
@@ -177,7 +177,7 @@
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">{{$response.title}}</h4>
</div>
- <div class="modal-body">
+ <div class="modal-body response-list">
<ul>{{foreach $response.list as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
</div>
<div class="modal-footer clear">
diff --git a/view/tpl/event.tpl b/view/tpl/event.tpl
index 5dfc91ebe..c1793c3e7 100755
--- a/view/tpl/event.tpl
+++ b/view/tpl/event.tpl
@@ -1,16 +1,16 @@
{{foreach $events as $event}}
<div class="event-wrapper">
- <div class="event">
- <div class="event-owner">
- {{if $event.item.author.xchan_name}}<a href="{{$event.item.author.xchan_url}}" ><img src="{{$event.item.author.xchan_photo_s}}" height="64" width="64" />{{$event.item.author.xchan_name}}</a>{{/if}}
- </div>
- {{$event.html}}
- <div class="event-buttons">
- {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="plink-event-link"><i class="icon-external-link btn btn-default" ></i></a>{{/if}}
- {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link"><i class="icon-pencil btn btn-default"></i></a>{{/if}}
- {{if $event.drop}}<a href="{{$event.drop.0}}" title="{{$event.drop.1}}" class="drop-event-link"><i class="icon-trash btn btn-default"></i></a>{{/if}}
- </div>
- </div>
- <div class="clear"></div>
+ <div class="event">
+ <div class="event-owner">
+ {{if $event.item.author.xchan_name}}<a href="{{$event.item.author.xchan_url}}" ><img src="{{$event.item.author.xchan_photo_s}}" height="64" width="64" />{{$event.item.author.xchan_name}}</a>{{/if}}
+ </div>
+ {{$event.html}}
+ <div class="event-buttons">
+ {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="plink-event-link"><i class="icon-external-link btn btn-default" ></i></a>{{/if}}
+ {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link"><i class="icon-pencil btn btn-default"></i></a>{{/if}}
+ {{if $event.drop}}<a href="{{$event.drop.0}}" title="{{$event.drop.1}}" class="drop-event-link"><i class="icon-trash btn btn-default"></i></a>{{/if}}
+ </div>
+ <div class="clear"></div>
+ </div>
</div>
{{/foreach}}
diff --git a/view/tpl/event_form.tpl b/view/tpl/event_form.tpl
index 15505397b..e74aabc68 100755
--- a/view/tpl/event_form.tpl
+++ b/view/tpl/event_form.tpl
@@ -1,177 +1,130 @@
-<div class="generic-content-wrapper-styled">
-
-<h3>{{$title}}</h3>
-
-<p>
-{{$desc}}
-</p>
-
<form id="event-edit-form" action="{{$post}}" method="post" >
-<input type="hidden" name="event_id" value="{{$eid}}" />
-<input type="hidden" name="event_hash" value="{{$event_hash}}" />
-<input type="hidden" name="xchan" value="{{$xchan}}" />
-<input type="hidden" name="mid" value="{{$mid}}" />
-<input type="hidden" name="type" value="{{$type}}" />
-<input type="hidden" name="preview" id="event-edit-preview" value="0" />
-
-<div id="event-summary-text">{{$t_text}}</div>
-<input type="text" id="event-summary" name="summary" value="{{$t_orig}}" />{{$required}}
-
-<div class="clear"></div>
-
-<div id="event-start-text">{{$s_text}}</div>
-
-{{$s_dsel}}
-
-<div class="clear"></div><br />
-
- <div class='field checkbox'>
- <label class="mainlabel" for='id_nofinish'>{{$n_text}}</label>
- <div class="pull-right"><input type="checkbox" name='nofinish' id='id_nofinish' value="1" {{$n_checked}} onclick="showHideFinishDate(); return true;" >
- <label class="switchlabel" for='id_nofinish'> <span class="onoffswitch-inner" data-on='' data-off='' ></span>
- <span class="onoffswitch-switch"></span> </label></div><span class='field_help'></span>
- </div>
-
-<div id="event-nofinish-break"></div>
-
-<div id="event-finish-wrapper">
-<div id="event-finish-text">{{$f_text}}</div>
-{{$f_dsel}}
-</div>
-
-<div id="event-datetime-break"></div>
-
-{{include file="field_checkbox.tpl" field=$adjust}}
-
-<div id="event-adjust-break"></div>
-
-
-
-{{if $catsenabled}}
-<div id="event-category-wrap">
- <input name="category" id="event-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" class="event-cats" style="display: block;" data-role="cat-tagsinput" />
-</div>
-{{/if}}
-
-
-
-<div id="event-desc-text">{{$d_text}}</div>
-
-<textarea id="comment-edit-text-desc" class="comment-edit-text-full" name="desc" >{{$d_orig}}</textarea>
-<div class="clear"></div>
-<div id="comment-tools-desc" class="comment-tools" style="display: block;" >
- <div id="comment-edit-bb-desc" class="btn-toolbar pull-left">
- <div class='btn-group'>
- <button class="btn btn-default btn-xs" title="{{$edbold}}" onclick="insertbbcomment('{{$comment}}','b', 'desc'); return false;">
- <i class="icon-bold comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$editalic}}" onclick="insertbbcomment('{{$comment}}','i', 'desc'); return false;">
- <i class="icon-italic comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$eduline}}" onclick="insertbbcomment('{{$comment}}','u', 'desc'); return false;">
- <i class="icon-underline comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edquote}}" onclick="insertbbcomment('{{$comment}}','quote','desc'); return false;">
- <i class="icon-quote-left comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edcode}}" onclick="insertbbcomment('{{$comment}}','code', 'desc'); return false;">
- <i class="icon-terminal comment-icon"></i>
- </button>
- </div>
-
- <div class='btn-group'>
- <button class="btn btn-default btn-xs" title="{{$edimg}}" onclick="insertbbcomment('{{$comment}}','img', 'desc'); return false;">
- <i class="icon-camera comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edurl}}" onclick="insertbbcomment('{{$comment}}','url', 'desc'); return false;">
- <i class="icon-link comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edvideo}}" onclick="insertbbcomment('{{$comment}}','video', 'desc'); return false;">
- <i class="icon-facetime-video comment-icon"></i>
- </button>
- </div>
-
- </div>
-</div>
-
-<div class="clear"></div>
-
-<div id="event-location-text">{{$l_text}}</div>
-
-<textarea id="comment-edit-text-loc" class="comment-edit-text-full" name="location">{{$l_orig}}</textarea>
-
-<div class="clear"></div>
-<div id="comment-tools-loc" class="comment-tools" style="display: block;" >
- <div id="comment-edit-bb-loc" class="btn-toolbar pull-left">
- <div class='btn-group'>
- <button class="btn btn-default btn-xs" title="{{$edbold}}" onclick="insertbbcomment('{{$comment}}','b', 'loc'); return false;">
- <i class="icon-bold comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$editalic}}" onclick="insertbbcomment('{{$comment}}','i', 'loc'); return false;">
- <i class="icon-italic comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$eduline}}" onclick="insertbbcomment('{{$comment}}','u', 'loc'); return false;">
- <i class="icon-underline comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edquote}}" onclick="insertbbcomment('{{$comment}}','quote','loc'); return false;">
- <i class="icon-quote-left comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edcode}}" onclick="insertbbcomment('{{$comment}}','code', 'loc'); return false;">
- <i class="icon-terminal comment-icon"></i>
- </button>
- </div>
-
- <div class='btn-group'>
- <button class="btn btn-default btn-xs" title="{{$edimg}}" onclick="insertbbcomment('{{$comment}}','img', 'loc'); return false;">
- <i class="icon-camera comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edurl}}" onclick="insertbbcomment('{{$comment}}','url', 'loc'); return false;">
- <i class="icon-link comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edvideo}}" onclick="insertbbcomment('{{$comment}}','video', 'loc'); return false;">
- <i class="icon-facetime-video comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$mapper}}" onclick="insertbbcomment('{{$comment}}','map','loc'); return false;">
- <i class="icon-globe comment-icon"></i>
- </button>
+ <input type="hidden" name="event_id" value="{{$eid}}" />
+ <input type="hidden" name="event_hash" value="{{$event_hash}}" />
+ <input type="hidden" name="xchan" value="{{$xchan}}" />
+ <input type="hidden" name="mid" value="{{$mid}}" />
+ <input type="hidden" name="type" value="{{$type}}" />
+ <input type="hidden" name="preview" id="event-edit-preview" value="0" />
+
+
+ {{include file="field_input.tpl" field=$summary}}
+
+ {{$s_dsel}}
+
+ {{$f_dsel}}
+
+ {{include file="field_checkbox.tpl" field=$nofinish}}
+
+ <div id="advanced" style="display:none">
+
+ {{include file="field_checkbox.tpl" field=$adjust}}
+
+ {{if $catsenabled}}
+ <div id="event-category-text"><b>{{$c_text}}</b></div>
+ <div id="events-category-wrap">
+ <input name="category" id="event-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" class="event-cats form-control" data-role="cat-tagsinput" />
+ </div>
+ {{/if}}
+
+ <div class="form-group">
+ <div id="event-desc-text"><b>{{$d_text}}</b></div>
+
+ <textarea id="comment-edit-text-desc" class="comment-edit-text-full" name="desc" >{{$d_orig}}</textarea>
+
+ <div id="comment-tools-desc" class="comment-tools" style="display: block;" >
+ <div id="comment-edit-bb-desc" class="btn-toolbar pull-left">
+ <div class='btn-group'>
+ <button class="btn btn-default btn-xs" title="{{$edbold}}" onclick="insertbbcomment('{{$comment}}','b', 'desc'); return false;">
+ <i class="icon-bold comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$editalic}}" onclick="insertbbcomment('{{$comment}}','i', 'desc'); return false;">
+ <i class="icon-italic comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$eduline}}" onclick="insertbbcomment('{{$comment}}','u', 'desc'); return false;">
+ <i class="icon-underline comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edquote}}" onclick="insertbbcomment('{{$comment}}','quote','desc'); return false;">
+ <i class="icon-quote-left comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edcode}}" onclick="insertbbcomment('{{$comment}}','code', 'desc'); return false;">
+ <i class="icon-terminal comment-icon"></i>
+ </button>
+ </div>
+ <div class='btn-group'>
+ <button class="btn btn-default btn-xs" title="{{$edimg}}" onclick="insertbbcomment('{{$comment}}','img', 'desc'); return false;">
+ <i class="icon-camera comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edurl}}" onclick="insertbbcomment('{{$comment}}','url', 'desc'); return false;">
+ <i class="icon-link comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edvideo}}" onclick="insertbbcomment('{{$comment}}','video', 'desc'); return false;">
+ <i class="icon-facetime-video comment-icon"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ <div class="form-group">
+ <div id="event-location-text"><b>{{$l_text}}</b></div>
+
+ <textarea id="comment-edit-text-loc" class="comment-edit-text-full" name="location">{{$l_orig}}</textarea>
+
+ <div id="comment-tools-loc" class="comment-tools" style="display: block;" >
+ <div id="comment-edit-bb-loc" class="btn-toolbar pull-left">
+ <div class='btn-group'>
+ <button class="btn btn-default btn-xs" title="{{$edbold}}" onclick="insertbbcomment('{{$comment}}','b', 'loc'); return false;">
+ <i class="icon-bold comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$editalic}}" onclick="insertbbcomment('{{$comment}}','i', 'loc'); return false;">
+ <i class="icon-italic comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$eduline}}" onclick="insertbbcomment('{{$comment}}','u', 'loc'); return false;">
+ <i class="icon-underline comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edquote}}" onclick="insertbbcomment('{{$comment}}','quote','loc'); return false;">
+ <i class="icon-quote-left comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edcode}}" onclick="insertbbcomment('{{$comment}}','code', 'loc'); return false;">
+ <i class="icon-terminal comment-icon"></i>
+ </button>
+ </div>
+ <div class='btn-group'>
+ <button class="btn btn-default btn-xs" title="{{$edimg}}" onclick="insertbbcomment('{{$comment}}','img', 'loc'); return false;">
+ <i class="icon-camera comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edurl}}" onclick="insertbbcomment('{{$comment}}','url', 'loc'); return false;">
+ <i class="icon-link comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edvideo}}" onclick="insertbbcomment('{{$comment}}','video', 'loc'); return false;">
+ <i class="icon-facetime-video comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$mapper}}" onclick="insertbbcomment('{{$comment}}','map','loc'); return false;">
+ <i class="icon-globe comment-icon"></i>
+ </button>
+ </div>
+
+ </div>
+ </div>
+ </div>
</div>
-
- </div>
-
-
-</div>
-
-
-
-<br />
-<div class="clear event-form-location-end"></div>
+ <div class="clear"></div>
-{{if ! $eid}}
+ {{if ! $eid}}
+ {{include file="field_checkbox.tpl" field=$share}}
+ {{$acl}}
+ {{/if}}
- <div class='field checkbox'>
- <label class="mainlabel" for='id_share'>{{$sh_text}}</label>
- <div class="pull-right"><input type="checkbox" name='share' id='id_share' value="1" {{$sh_checked}} >
- <label class="switchlabel" for='id_share'> <span class="onoffswitch-inner" data-on='' data-off='' ></span>
- <span class="onoffswitch-switch"></span> </label></div><span class='field_help'></span>
- </div>
+ <div class="clear"></div>
-
-<div id="event-share-break"></div>
-
-
-
-<button id="event-permissions-button" class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" onclick="return false;">{{$permissions}}</button>
-{{$acl}}
-
-{{/if}}
-
-<div class="clear"></div>
-
-<button id="event-edit-preview-btn" class="btn btn-default" title="{{$preview}}" onclick="doEventPreview(); return false;"><i class="icon-eye-open" ></i></button>
-
-<input id="event-submit" type="submit" name="submit" value="{{$submit}}" />
+ <button type="button" class="btn btn-default" onclick="openClose('advanced');">{{$advanced}}</button>
+ <div class="btn-group pull-right">
+ <button id="event-edit-preview-btn" class="btn btn-default" type="button" title="{{$preview}}" onclick="doEventPreview(); return false;"><i class="icon-eye-open" ></i></button>
+ {{if ! $eid}}
+ <button id="dbtn-acl" class="btn btn-default" type="button" data-toggle="modal" data-target="#aclModal" title="{{$permissions}}"><i id="jot-perms-icon"></i></button>
+ {{/if}}
+ <button id="event-submit" class="btn btn-primary" type="submit" name="submit">{{$submit}}</button>
+ </div>
</form>
-
-</div>
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index fd0ef0d9b..d193696b7 100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -1,6 +1,7 @@
<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 language="javascript" type="text/javascript" src="{{$baseurl}}/library/moment/moment.min.js"></script>
+<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>
+<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/fullcalendar/lang-all.js"></script>
<script>
function showEvent(eventid) {
@@ -20,37 +21,45 @@
$('#event-edit-preview').val(0);
}
+ function exportDate() {
+ var moment = $('#events-calendar').fullCalendar('getDate');
+ var sT = 'events/' + moment.year() + '/' + (moment.month() + 1) + '/export';
+ window.location.href=sT;
+ }
+
+ function changeView(action, viewName) {
+ $('#events-calendar').fullCalendar(action, viewName);
+ var view = $('#events-calendar').fullCalendar('getView');
+ $('#title').text(view.title);
+ }
+
$(document).ready(function() {
$('#events-calendar').fullCalendar({
- events: '{{$baseurl}}/events/json/',
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
+ events: '{{$baseurl}}/events/json',
+ header: false,
+ lang: '{{$lang}}',
+ firstDay: {{$first_day}},
+
+ eventLimit: 3,
+ height: 'auto',
+
monthNames: aStr['monthNames'],
monthNamesShort: aStr['monthNamesShort'],
dayNames: aStr['dayNames'],
dayNamesShort: aStr['dayNamesShort'],
- buttonText: {
- prev: "<span class='fc-text-arrow'>&lsaquo;</span>",
- next: "<span class='fc-text-arrow'>&rsaquo;</span>",
- prevYear: "<span class='fc-text-arrow'>&laquo;</span>",
- nextYear: "<span class='fc-text-arrow'>&raquo;</span>",
- today: aStr['today'],
- month: aStr['month'],
- week: aStr['week'],
- day: aStr['day']
- },
+
allDayText: aStr['allday'],
- timeFormat: 'H(:mm)',
+ timeFormat: 'HH:mm',
eventClick: function(calEvent, jsEvent, view) {
showEvent(calEvent.id);
},
loading: function(isLoading, view) {
if(!isLoading) {
- $('td.fc-day').dblclick(function() { window.location.href='/events/new?start='+$(this).data('date'); });
+ $('td.fc-day').dblclick(function() {
+ openMenu('form');
+ //window.location.href='/events/new?start='+$(this).data('date');
+ });
}
},
@@ -100,55 +109,17 @@
var hash = location.hash.split("-")
if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
- });
-</script>
-
-{{if $editselect != 'none'}}
-<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;
- });
- }
-
- });
- {{else}}
- <script language="javascript" type="text/javascript">
- {{/if}}
-
- $(document).ready(function() {
+ // echo the title
+ var view = $('#events-calendar').fullCalendar('getView');
+ $('#title').text(view.title);
$('#id_share').change(function() {
if ($('#id_share').is(':checked')) {
- $('#event-permissions-button').show();
+ $('#dbtn-acl').show();
}
else {
- $('#event-permissions-button').hide();
+ $('#dbtn-acl').hide();
}
}).trigger('change');
diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl
index bb6ca63a4..b2de90da1 100755
--- a/view/tpl/events-js.tpl
+++ b/view/tpl/events-js.tpl
@@ -1,30 +1,36 @@
-{{$tabs}}
-<div class="generic-content-wrapper-styled">
-<h2>{{$title}}</h2>
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <div class="pull-right">
+ <button class="btn btn-default btn-xs" onclick="openClose('event-tools'); closeMenu('form');"><i class="icon-cog"></i></button>
+ <button class="btn btn-success btn-xs" onclick="openClose('form'); closeMenu('event-tools');">{{$new_event.1}}</button>
-<div class="pull-right">
-<button class="btn btn-xs" onclick="window.location.href='{{$new_event.0}}'; return false;" >{{$new_event.1}}</button>&nbsp;<button class="btn btn-xs" onclick="exportDate(); return false;" ><i class="icon-download"></i>&nbsp;{{$export.1}}</button>&nbsp;<button class="btn btn-xs" onclick="openClose('event-upload-form');"><i class="icon-upload"></i>&nbsp;{{$upload}}</button>
-</div>
-
-<div id="event-upload-form" style="display:none;">
- <div class="section-content-tools-wrapper">
- <form action="events" enctype="multipart/form-data" method="post" name="event-upload-form" id="event-upload-form">
- <div class="form-group">
- <input id="event-upload-choose" type="file" name="userfile" />
- </div>
- <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit" >{{$submit}}</button>
- </form>
- </div>
-</div>
+ <div class="btn-group">
+ <button class="btn btn-default btn-xs" onclick="changeView('prev', false);" title="{{$prev}}"><i class="icon-backward"></i></button>
+ <button class="btn btn-default btn-xs" onclick="changeView('today', false);" title="{{$today}}"><i class="icon-bullseye"></i></button>
+ <button class="btn btn-default btn-xs" onclick="changeView('next', false);" title="{{$next}}"><i class="icon-forward"></i></button>
+ </div>
+ </div>
+ <h2 id="title"></h2>
+ <div class="clear"></div>
+ </div>
+ <div id="form" class="section-content-tools-wrapper"{{if !$expandform}} style="display:none;"{{/if}}>
+ {{$form}}
+ </div>
+ <div id="event-tools" class="section-content-tools-wrapper" style="display:none;">
+ <div class="form-group">
+ <button class="btn btn-primary btn-xs" onclick="exportDate(); return false;"><i class="icon-download"></i>&nbsp;{{$export.1}}</button>
+ <button class="btn btn-primary btn-xs" onclick="openClose('event-upload-form');"><i class="icon-upload"></i>&nbsp;{{$upload}}</button>
+ </div>
+ <div id="event-upload-form" style="display:none;">
+ <form action="events" enctype="multipart/form-data" method="post" name="event-upload-form" id="event-upload-form">
+ <button id="dbtn-submit" class="btn btn-primary btn-sm pull-right" type="submit" name="submit" >{{$submit}}</button>
+ <input id="event-upload-choose" type="file" name="userfile" />
-<script>
-function exportDate() {
- var moment = $('#events-calendar').fullCalendar('getDate');
- var sT = 'events/' + moment.getFullYear() + '/' + (moment.getMonth() + 1) + '/export';
- window.location.href=sT;
-}
-</script>
-<div class="clear"></div>
-<br />
-<div id="events-calendar"></div>
+ </form>
+ </div>
+ </div>
+ <div class="clear"></div>
+ <div class="section-content-wrapper-np">
+ <div id="events-calendar"></div>
+ </div>
</div>
diff --git a/view/tpl/events_side.tpl b/view/tpl/events_side.tpl
new file mode 100755
index 000000000..b9a9062b1
--- /dev/null
+++ b/view/tpl/events_side.tpl
@@ -0,0 +1,8 @@
+<div class="widget">
+ <h3>{{$title}}</h3>
+ <ul class="nav nav-pills nav-stacked">
+ <li><a href="#" onclick="changeView('changeView', 'month'); return false;">{{$month}}</a></li>
+ <li><a href="#" onclick="changeView('changeView', 'agendaWeek'); return false;">{{$week}}</a></li>
+ <li><a href="#" onclick="changeView('changeView', 'agendaDay'); return false;">{{$day}}</a></li>
+ </ul>
+</div>
diff --git a/view/tpl/hdr.tpl b/view/tpl/hdr.tpl
index c3f0700f0..3770cb9a6 100644
--- a/view/tpl/hdr.tpl
+++ b/view/tpl/hdr.tpl
@@ -1,5 +1,5 @@
<div id="banner" class="hidden-sm hidden-xs">{{$banner}}</div>
<ul id="nav-notifications-template" style="display:none;" rel="template">
- <li class="{5}"><a href="{0}" title="{2} {3}"><img data-src="{1}"><span class="contactname">{2}</span><span class="dropdown-sub-text">{3}<br>{4}</span></a></li>
+ <li class="{5}"><a href="{0}" title="{2} {3}"><img class="dropdown-menu-img-sm" data-src="{1}"><span class="contactname">{2}</span><span class="dropdown-sub-text">{3}<br>{4}</span></a></li>
</ul>
diff --git a/view/tpl/invite.tpl b/view/tpl/invite.tpl
index 2b7ab9cfb..c39e044bc 100755
--- a/view/tpl/invite.tpl
+++ b/view/tpl/invite.tpl
@@ -1,3 +1,4 @@
+<div class="generic-content-wrapper-styled">
<form action="invite" method="post" id="invite-form" >
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
@@ -28,3 +29,4 @@
</div>
</form>
+</div>
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index b405e4ac8..84fccc105 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -190,15 +190,27 @@ function enableOnUser(){
}
function jotGetLink() {
- reply = prompt("{{$linkurl}}");
- if(reply && reply.length) {
- reply = bin2hex(reply);
- $('#profile-rotator').spin('tiny');
- $.get('{{$baseurl}}/linkinfo?f=&binurl=' + reply, function(data) {
- addeditortext(data);
- $('#profile-rotator').spin(false);
- });
- }
+ textarea = document.getElementById('profile-jot-text');
+ if (textarea.selectionStart || textarea.selectionStart == "0") {
+ var start = textarea.selectionStart;
+ var end = textarea.selectionEnd;
+ if (end > start) {
+ reply = prompt("{{$linkurl}}");
+ if(reply && reply.length) {
+ textarea.value = textarea.value.substring(0, start) + "[url=" + reply + "]" + textarea.value.substring(start, end) + "[/url]" + textarea.value.substring(end, textarea.value.length);
+ }
+ } else {
+ reply = prompt("{{$linkurl}}");
+ if(reply && reply.length) {
+ reply = bin2hex(reply);
+ $('#profile-rotator').spin('tiny');
+ $.get('{{$baseurl}}/linkinfo?f=&binurl=' + reply, function(data) {
+ addeditortext(data);
+ $('#profile-rotator').spin(false);
+ });
+ }
+ }
+ }
}
function jotVideoURL() {
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index 75f6b0027..e7edb7e64 100755
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -142,16 +142,16 @@
<div id="profile-rotator"></div>
</div>
<div id="profile-jot-submit-right" class="btn-group pull-right">
- {{if $showacl}}
- <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
- <i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>{{if $bang}}&nbsp;<i class="icon-exclamation jot-icons"></i>{{/if}}
- </button>
- {{/if}}
{{if $preview}}
<button class="btn btn-default btn-sm hidden-xs" onclick="preview_post();return false;" title="{{$preview}}">
<i class="icon-eye-open jot-icons" ></i>
</button>
{{/if}}
+ {{if $showacl}}
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>{{if $bang}}&nbsp;<i class="icon-exclamation jot-icons"></i>{{/if}}
+ </button>
+ {{/if}}
<button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" tabindex=3 name="button-submit" >{{$share}}</button>
</div>
<div id="profile-jot-perms-end"></div>
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index d22f82f8e..bbcdcefc1 100755
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
@@ -1,7 +1,9 @@
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
<div class="pull-right">
+ {{if $order}}
<a class="btn btn-default btn-xs" href="{{$order.1}}" title="{{$order.0}}"><i class="icon-sort"></i></a>
+ {{/if}}
<div class="btn-group btn-group">
{{if $album_edit.1}}
<i class="icon-pencil btn btn-default btn-xs" title="{{$album_edit.0}}" onclick="openClose('photo-album-edit-wrapper'); closeMenu('photo-upload-form');"></i>
diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl
index bea0d894f..c52c2cd81 100755
--- a/view/tpl/profile_vcard.tpl
+++ b/view/tpl/profile_vcard.tpl
@@ -6,7 +6,7 @@
<ul class="dropdown-menu" role="menu">
{{foreach $profile.menu.entries as $e}}
<li>
- <a href="profiles/{{$e.id}}"><img src='{{$e.photo}}'>{{$e.profile_name}}<div class='clear'></div></a>
+ <a href="profiles/{{$e.id}}"><img class="dropdown-menu-img-xs" src='{{$e.photo}}'>{{$e.profile_name}}<div class='clear'></div></a>
</li>
{{/foreach}}
<li><a href="profile_photo" >{{$profile.menu.chg_photo}}</a></li>
diff --git a/view/tpl/pwdreset.tpl b/view/tpl/pwdreset.tpl
index a9106343f..dc17ed57a 100755
--- a/view/tpl/pwdreset.tpl
+++ b/view/tpl/pwdreset.tpl
@@ -1,3 +1,4 @@
+<div class="generic-content-wrapper-styled">
<h3>{{$lbl1}}</h3>
<p>
@@ -13,3 +14,4 @@
<p>
{{$lbl6}}
</p>
+</div>
diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl
index 7c1f4578d..2c71c64fb 100755
--- a/view/tpl/settings.tpl
+++ b/view/tpl/settings.tpl
@@ -159,6 +159,7 @@
{{/foreach}}
</select>
</div>
+ {{include file="field_checkbox.tpl" field=$cal_first_day}}
<div class="settings-submit-wrapper" >
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
</div>