diff --git a/.gitignore b/.gitignore
index b32389dc2..693fb7b24 100755
--- a/.gitignore
+++ b/.gitignore
@@ -32,4 +32,7 @@ report/
.DS_Store
#netbeans project folder
-nbproject
+nbproject
+
+#Kdevelop project files
+*.kdev4
diff --git a/boot.php b/boot.php
index 76b350500..3b98afeb6 100755
--- a/boot.php
+++ b/boot.php
@@ -45,7 +45,7 @@ define ( 'RED_PLATFORM', 'Red Matrix' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
define ( 'ZOT_REVISION', 1 );
-define ( 'DB_UPDATE_VERSION', 1073 );
+define ( 'DB_UPDATE_VERSION', 1076 );
define ( 'EOL', ' ' . "\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -177,13 +177,7 @@ define ( 'CLIENT_MODE_UPDATE', 0x0002);
/**
*
- * page/profile types
- *
- * PAGE_NORMAL is a typical personal profile account
- * PAGE_SOAPBOX automatically approves all friend requests as CONTACT_IS_SHARING, (readonly)
- * PAGE_COMMUNITY automatically approves all friend requests as CONTACT_IS_SHARING, but with
- * write access to wall and comments (no email and not included in page owner's ACL lists)
- * PAGE_FREELOVE automatically approves all friend requests as full friends (CONTACT_IS_FRIEND).
+ * Channel pageflags
*
*/
@@ -193,6 +187,7 @@ define ( 'PAGE_AUTOCONNECT', 0x0002 );
define ( 'PAGE_APPLICATION', 0x0004 );
define ( 'PAGE_DIRECTORY_CHANNEL', 0x0008 ); // system channel used for directory synchronisation
define ( 'PAGE_PREMIUM', 0x0010 );
+define ( 'PAGE_ADULT', 0x0020 );
define ( 'PAGE_REMOVED', 0x8000 );
@@ -233,26 +228,26 @@ define ( 'NETWORK_PHANTOM', 'unkn'); // Place holder
*/
-define ( 'PERMS_R_STREAM', 0x0001);
-define ( 'PERMS_R_PROFILE', 0x0002);
-define ( 'PERMS_R_PHOTOS', 0x0004);
-define ( 'PERMS_R_ABOOK', 0x0008);
+define ( 'PERMS_R_STREAM', 0x00001);
+define ( 'PERMS_R_PROFILE', 0x00002);
+define ( 'PERMS_R_PHOTOS', 0x00004);
+define ( 'PERMS_R_ABOOK', 0x00008);
-define ( 'PERMS_W_STREAM', 0x0010);
-define ( 'PERMS_W_WALL', 0x0020);
-define ( 'PERMS_W_TAGWALL', 0x0040);
-define ( 'PERMS_W_COMMENT', 0x0080);
-define ( 'PERMS_W_MAIL', 0x0100);
-define ( 'PERMS_W_PHOTOS', 0x0200);
-define ( 'PERMS_W_CHAT', 0x0400);
-define ( 'PERMS_A_DELEGATE', 0x0800);
-
-define ( 'PERMS_R_STORAGE', 0x1000);
-define ( 'PERMS_W_STORAGE', 0x2000);
-define ( 'PERMS_R_PAGES', 0x4000);
-define ( 'PERMS_W_PAGES', 0x8000);
+define ( 'PERMS_W_STREAM', 0x00010);
+define ( 'PERMS_W_WALL', 0x00020);
+define ( 'PERMS_W_TAGWALL', 0x00040);
+define ( 'PERMS_W_COMMENT', 0x00080);
+define ( 'PERMS_W_MAIL', 0x00100);
+define ( 'PERMS_W_PHOTOS', 0x00200);
+define ( 'PERMS_W_CHAT', 0x00400);
+define ( 'PERMS_A_DELEGATE', 0x00800);
+define ( 'PERMS_R_STORAGE', 0x01000);
+define ( 'PERMS_W_STORAGE', 0x02000);
+define ( 'PERMS_R_PAGES', 0x04000);
+define ( 'PERMS_W_PAGES', 0x08000);
+define ( 'PERMS_A_REPUBLISH', 0x10000);
// General channel permissions
@@ -301,6 +296,13 @@ define ( 'POLL_MULTIPLE_CHOICE', 0x0004);
define ( 'POLL_OVERWRITE', 0x8000); // If you vote twice remove the prior entry
+
+define ( 'UPDATE_FLAGS_UPDATED', 0x0001);
+define ( 'UPDATE_FLAGS_DELETED', 0x1000);
+
+
+
+
/**
* Maximum number of "people who like (or don't like) this" that we will list by name
*/
@@ -348,7 +350,8 @@ define ( 'HUBLOC_FLAGS_DELETED', 0x1000);
define ( 'XCHAN_FLAGS_HIDDEN', 0x0001);
define ( 'XCHAN_FLAGS_ORPHAN', 0x0002);
define ( 'XCHAN_FLAGS_CENSORED', 0x0004);
-
+define ( 'XCHAN_FLAGS_SELFCENSORED', 0x0008);
+define ( 'XCHAN_FLAGS_DELETED', 0x1000);
/*
* Traficlights for Administration of HubLoc
* to detect problems in inter server communication
@@ -1124,7 +1127,7 @@ function x($s,$k = NULL) {
function system_unavailable() {
- include('system_unavailable.php');
+ include('include/system_unavailable.php');
system_down();
killme();
}
@@ -1180,6 +1183,7 @@ function check_config(&$a) {
// our URL changed. Do something.
$oldurl = hex2bin($saved);
+ logger('Baseurl changed!');
$oldhost = substr($oldurl,strpos($oldurl,'//')+2);
$host = substr(z_root(),strpos(z_root(),'//')+2);
@@ -1779,6 +1783,11 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
if($m)
$channel_menu = menu_render($m);
}
+ $menublock = get_pconfig($profile['uid'],'system','channel_menublock');
+ if ($menublock) {
+ require_once('include/comanche.php');
+ $channel_menu .= comanche_block($menublock);
+ }
$tpl = get_markup_template('profile_vcard.tpl');
diff --git a/doc/html/account_8php.html b/doc/html/account_8php.html
index 868539d8e..d8a3c2d6c 100644
--- a/doc/html/account_8php.html
+++ b/doc/html/account_8php.html
@@ -237,7 +237,7 @@ Functions
diff --git a/doc/html/boot_8php.html b/doc/html/boot_8php.html
index 7273f19ea..4c7e821ad 100644
--- a/doc/html/boot_8php.html
+++ b/doc/html/boot_8php.html
@@ -224,7 +224,7 @@ Variables
const ZOT_REVISION 1
-const DB_UPDATE_VERSION 1073
+const DB_UPDATE_VERSION 1074
const EOL '<br />' . "\r\n"
@@ -312,6 +312,8 @@ Variables
const PAGE_PREMIUM 0x0010
+const PAGE_ADULT 0x0020
+
const PAGE_REMOVED 0x8000
const PHOTO_NORMAL 0x0000
@@ -468,6 +470,8 @@ Variables
const XCHAN_FLAGS_CENSORED 0x0004
+const XCHAN_FLAGS_SELFCENSORED 0x0008
+
const HUBLOC_NOTUSED 0x0000
const HUBLOC_SEND_ERROR 0x0001
@@ -946,7 +950,7 @@ Variables
-
Referenced by FriendicaSmarty\__construct() , FriendicaSmartyEngine\__construct() , abook_toggle_flag() , allowed_public_recips() , api_apply_template() , api_format_items() , api_get_user() , api_statuses_home_timeline() , api_statuses_repeat() , api_user() , argc() , argv() , atom_entry() , authenticate_success() , avatar_img() , bbcode() , best_link_url() , build_sync_packet() , call_hooks() , can_comment_on_post() , categories_widget() , change_channel() , channel_remove() , check_form_security_token() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , check_htaccess() , cli_suggest_run() , comanche_menu() , comanche_replace_region() , comanche_widget() , common_friends_visitor_widget() , connections_content() , contact_block() , contact_select() , create_identity() , current_theme() , deliver_run() , dfrn_deliver() , drop_item() , event_store() , fetch_url() , fileas_widget() , findpeople_widget() , fix_attached_photo_permissions() , fix_private_photos() , follow_widget() , format_event_diaspora() , get_account_id() , get_best_language() , get_birthdays() , get_events() , get_feed_for() , get_form_security_token() , FriendicaSmartyEngine\get_intltext_template() , get_intltext_template() , get_markup_template() , get_observer_hash() , get_plink() , get_theme_config_file() , get_theme_screenshot() , gprobe_run() , group_select() , guess_image_type() , head_add_css() , head_add_js() , head_get_css() , head_get_js() , import_channel_photo() , import_directory_profile() , import_post() , import_profile_photo() , import_xchan() , info() , is_site_admin() , item_message_id() , item_photo_menu() , item_redir_and_replace_images() , items_fetch() , load_contact_links() , load_hooks() , login() , FKOAuth1\loginUser() , lrdd() , manage_content() , map_scope() , nav_set_selected() , new_contact() , notice() , notification() , notifier_run() , oembed_fetch_url() , oembed_format_object() , oembed_iframe() , onepoll_run() , page_content() , ping_init() , poco_load() , poller_run() , post_activity_item() , post_url() , preg_heart() , prepare_body() , proc_run() , process_delivery() , profile_activity() , profile_sidebar() , public_permissions_sql() , replace_macros() , rmagic_init() , saved_searches() , scale_external_images() , search() , send_message() , send_reg_approval_email() , send_status_notifications() , send_verification_email() , service_class_allows() , service_class_fetch() , smilies() , tag_deliver() , terminate_friendship() , tgroup_check() , theme_include() , tt() , update_suggestions() , user_allow() , vcard_from_xchan() , what_next() , widget_profile() , z_fetch_url() , and zot_finger() .
+
Referenced by FriendicaSmarty\__construct() , FriendicaSmartyEngine\__construct() , abook_toggle_flag() , allowed_public_recips() , api_apply_template() , api_format_items() , api_get_user() , api_statuses_home_timeline() , api_statuses_repeat() , api_user() , argc() , argv() , atom_entry() , authenticate_success() , avatar_img() , bbcode() , best_link_url() , build_sync_packet() , call_hooks() , can_comment_on_post() , categories_widget() , change_channel() , channel_remove() , check_form_security_token() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , check_htaccess() , cli_suggest_run() , comanche_menu() , comanche_replace_region() , comanche_widget() , common_friends_visitor_widget() , connections_content() , contact_block() , contact_select() , create_identity() , current_theme() , deliver_run() , dfrn_deliver() , drop_item() , event_store() , fetch_url() , fileas_widget() , findpeople_widget() , fix_attached_photo_permissions() , fix_private_photos() , follow_widget() , format_event_diaspora() , get_account_id() , get_best_language() , get_birthdays() , get_events() , get_feed_for() , get_form_security_token() , FriendicaSmartyEngine\get_intltext_template() , get_intltext_template() , get_markup_template() , get_observer_hash() , get_plink() , get_theme_config_file() , get_theme_screenshot() , gprobe_run() , group_select() , guess_image_type() , head_add_css() , head_add_js() , head_get_css() , head_get_js() , import_channel_photo() , import_directory_profile() , import_post() , import_profile_photo() , import_xchan() , info() , is_site_admin() , item_message_id() , item_photo_menu() , item_redir_and_replace_images() , items_fetch() , load_contact_links() , load_hooks() , login() , FKOAuth1\loginUser() , lrdd() , manage_content() , map_scope() , nav_set_selected() , new_contact() , notice() , notification() , notifier_run() , oembed_fetch_url() , oembed_format_object() , oembed_iframe() , onepoll_run() , page_content() , ping_init() , poco_load() , poller_run() , post_activity_item() , post_url() , preg_heart() , prepare_body() , proc_run() , process_delivery() , profile_activity() , profile_sidebar() , public_permissions_sql() , replace_macros() , rmagic_init() , saved_searches() , scale_external_images() , search() , send_message() , send_reg_approval_email() , send_status_notifications() , send_verification_email() , service_class_allows() , service_class_fetch() , smilies() , tag_deliver() , terminate_friendship() , tgroup_check() , theme_include() , tt() , update_suggestions() , user_allow() , vcard_from_xchan() , what_next() , widget_profile() , z_fetch_url() , and zot_finger() .
@@ -1072,7 +1076,7 @@ Variables
-
Referenced by attach_by_hash() , attach_by_hash_nodata() , attach_store() , comanche_menu() , common_content() , common_friends_visitor_widget() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , get_public_feed() , item_permissions_sql() , mitem_content() , new_contact() , permissions_sql() , photo_init() , photos_post() , prepare_body() , profile_sidebar() , suggest_content() , tagger_content() , thing_init() , viewconnections_content() , vote_content() , vote_post() , wall_attach_post() , and z_readdir() .
+
Referenced by attach_by_hash() , attach_by_hash_nodata() , attach_store() , comanche_menu() , common_content() , common_friends_visitor_widget() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , get_public_feed() , item_permissions_sql() , mitem_content() , new_contact() , permissions_sql() , photo_init() , photos_post() , prepare_body() , profile_sidebar() , search_content() , stream_perms_xchans() , suggest_content() , tagger_content() , thing_init() , viewconnections_content() , vote_content() , vote_post() , wall_attach_post() , and z_readdir() .
@@ -1105,7 +1109,7 @@ Variables
-
Referenced by admin_page_dbsync() , admin_page_logs_post() , admin_page_plugins() , admin_page_site_post() , admin_page_themes() , admin_page_users() , admin_page_users_post() , admin_post() , api_content() , authenticate_success() , channel_remove() , check_form_security_token_redirectOnErr() , connect_post() , connections_content() , connections_post() , delegate_content() , directory_content() , drop_item() , events_post() , filerm_content() , follow_init() , group_content() , group_post() , import_post() , intro_post() , item_post() , login_content() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , menu_content() , menu_post() , message_content() , mitem_content() , mitem_post() , mood_init() , network_content() , new_channel_post() , new_contact() , notifications_post() , notify_init() , photos_post() , post_init() , profile_photo_post() , profiles_init() , randprof_init() , redir_init() , register_post() , removeme_content() , rmagic_init() , rmagic_post() , search_content() , settings_post() , tagrm_content() , tagrm_post() , toggle_mobile_init() , and zid_init() .
+
Referenced by admin_page_dbsync() , admin_page_hubloc() , admin_page_logs_post() , admin_page_plugins() , admin_page_site_post() , admin_page_themes() , admin_page_users() , admin_page_users_post() , admin_post() , api_content() , authenticate_success() , channel_remove() , chanview_content() , check_form_security_token_redirectOnErr() , connect_post() , connections_content() , connections_post() , delegate_content() , directory_content() , drop_item() , events_post() , filerm_content() , follow_init() , group_content() , group_post() , import_post() , intro_post() , item_post() , login_content() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , menu_content() , menu_post() , message_content() , mitem_content() , mitem_post() , mood_init() , network_content() , new_channel_post() , new_contact() , notifications_post() , notify_init() , photos_post() , post_init() , profile_photo_post() , profiles_init() , randprof_init() , redir_init() , register_post() , removeme_content() , rmagic_init() , rmagic_post() , search_content() , settings_post() , tagrm_content() , tagrm_post() , toggle_mobile_init() , and zid_init() .
@@ -1242,7 +1246,7 @@ Variables
-
Referenced by acl_init() , Conversation\add_thread() , allfriends_content() , api_content() , api_get_user() , api_post() , api_user() , best_link_url() , blocks_content() , App\build_pagehead() , build_sync_packet() , change_channel() , channel_content() , channel_init() , channel_remove() , chanview_content() , common_friends_visitor_widget() , community_content() , community_init() , connect_content() , connect_post() , connections_content() , connections_init() , connections_post() , contact_select() , contactgroup_content() , conversation() , crepair_content() , crepair_init() , crepair_post() , current_theme() , delegate_content() , directory_aside() , directory_content() , display_content() , drop_item() , drop_items() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , fbrowser_content() , fileas_widget() , filer_content() , filerm_content() , filestorage_content() , findpeople_widget() , follow_content() , follow_init() , fsuggest_content() , fsuggest_post() , get_birthdays() , Item\get_comment_box() , get_events() , Item\get_template_data() , get_theme_uid() , group_aside() , group_content() , group_get_members() , group_post() , group_select() , group_side() , hcard_init() , intro_content() , intro_post() , invite_content() , invite_post() , item_content() , item_permissions_sql() , item_photo_menu() , item_post() , lastpost_content() , lastpost_init() , layouts_content() , like_puller() , lockview_content() , login() , login_content() , magic_init() , manage_content() , match_content() , menu_content() , menu_post() , message_content() , message_post() , mimetype_select() , mitem_content() , mitem_init() , mitem_post() , mood_content() , mood_init() , nav() , network_content() , network_init() , new_contact() , nogroup_content() , nogroup_init() , notifications_content() , notifications_post() , notify_content() , notify_init() , oexchange_content() , permissions_sql() , photos_content() , photos_init() , photos_post() , ping_init() , poco_init() , poke_content() , poke_init() , post_init() , prepare_body() , private_messages_list() , profile_activity() , profile_content() , profile_create_sidebar() , profile_init() , profile_load() , profile_photo_aside() , profile_photo_init() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_aside() , profiles_content() , profiles_init() , profiles_post() , profperm_aside() , profperm_content() , profperm_init() , qsearch_init() , redbasic_form() , redir_init() , regmod_content() , removeme_content() , removeme_post() , rmagic_init() , saved_searches() , search_ac_init() , search_content() , search_init() , search_saved_searches() , service_class_allows() , service_class_fetch() , Conversation\set_mode() , settings_aside() , settings_init() , settings_post() , share_init() , smilies() , starred_init() , stream_perms_api_uids() , subthread_content() , suggest_content() , suggest_init() , tagger_content() , tagrm_content() , tagrm_post() , theme_content() , theme_post() , thing_content() , thing_init() , uexport_init() , vcard_from_xchan() , viewconnections_aside() , viewconnections_content() , viewconnections_init() , viewsrc_content() , webpages_content() , widget_profile() , z_input_filter() , zid_init() , and zping_content() .
+
Referenced by acl_init() , allfriends_content() , api_content() , api_get_user() , api_post() , api_user() , best_link_url() , blocks_content() , App\build_pagehead() , build_sync_packet() , change_channel() , channel_content() , channel_init() , channel_remove() , chanview_content() , common_friends_visitor_widget() , community_content() , community_init() , connect_content() , connect_post() , connections_content() , connections_init() , connections_post() , contact_select() , contactgroup_content() , conversation() , crepair_content() , crepair_init() , crepair_post() , current_theme() , delegate_content() , directory_aside() , directory_content() , display_content() , drop_item() , drop_items() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , fbrowser_content() , fileas_widget() , filer_content() , filerm_content() , filestorage_content() , findpeople_widget() , follow_content() , follow_init() , fsuggest_content() , fsuggest_post() , get_birthdays() , Item\get_comment_box() , get_events() , Item\get_template_data() , get_theme_uid() , group_aside() , group_content() , group_get_members() , group_post() , group_select() , group_side() , hcard_init() , intro_content() , intro_post() , invite_content() , invite_post() , item_content() , item_permissions_sql() , item_photo_menu() , item_post() , lastpost_content() , lastpost_init() , layouts_content() , like_puller() , lockview_content() , login() , login_content() , magic_init() , manage_content() , match_content() , menu_content() , menu_post() , message_content() , message_post() , mimetype_select() , mitem_content() , mitem_init() , mitem_post() , mood_content() , mood_init() , nav() , network_content() , network_init() , new_contact() , nogroup_content() , nogroup_init() , notifications_content() , notifications_post() , notify_content() , notify_init() , oexchange_content() , permissions_sql() , photos_content() , photos_init() , photos_post() , ping_init() , poco_init() , poke_content() , poke_init() , post_init() , prepare_body() , private_messages_list() , profile_activity() , profile_content() , profile_create_sidebar() , profile_init() , profile_load() , profile_photo_aside() , profile_photo_init() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_aside() , profiles_content() , profiles_init() , profiles_post() , profperm_aside() , profperm_content() , profperm_init() , qsearch_init() , redbasic_form() , redir_init() , regmod_content() , removeme_content() , removeme_post() , rmagic_init() , saved_searches() , search_ac_init() , search_content() , search_init() , search_saved_searches() , service_class_allows() , service_class_fetch() , Conversation\set_mode() , settings_aside() , settings_init() , settings_post() , share_init() , smilies() , starred_init() , stream_perms_api_uids() , stream_perms_xchans() , subthread_content() , suggest_content() , suggest_init() , tagger_content() , tagrm_content() , tagrm_post() , theme_content() , theme_post() , thing_content() , thing_init() , uexport_init() , vcard_from_xchan() , viewconnections_aside() , viewconnections_content() , viewconnections_init() , viewsrc_content() , webpages_content() , widget_profile() , z_input_filter() , zid_init() , and zping_content() .
@@ -1294,7 +1298,7 @@ Variables
-
Referenced by admin_content() , admin_page_plugins() , admin_page_themes() , admin_page_users() , admin_page_users_post() , allfriends_content() , api_content() , api_post() , apps_content() , attach_init() , blocks_content() , channel_content() , channel_init() , chanview_content() , check_form_security_token_redirectOnErr() , common_content() , common_init() , community_content() , connect_init() , connect_post() , connections_content() , connections_post() , crepair_content() , crepair_post() , delegate_content() , directory_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , filestorage_content() , follow_init() , fsuggest_content() , fsuggest_post() , group_add() , group_content() , group_post() , hcard_init() , import_content() , import_post() , intro_content() , intro_post() , invite_content() , invite_post() , item_post() , lastpost_content() , lastpost_init() , layouts_content() , like_content() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , match_content() , menu_content() , menu_post() , message_content() , message_post() , mitem_content() , mitem_init() , mitem_post() , mood_content() , network_content() , network_init() , new_channel_content() , new_channel_post() , nogroup_content() , notifications_content() , notifications_post() , page_content() , photos_content() , photos_post() , poke_content() , post_init() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , register_content() , register_post() , regmod_content() , rmagic_post() , search_content() , settings_post() , suggest_content() , thing_init() , user_deny() , viewconnections_content() , viewsrc_content() , wall_attach_post() , wall_upload_post() , webpages_content() , and xchan_content() .
+
Referenced by admin_content() , admin_page_hubloc() , admin_page_plugins() , admin_page_themes() , admin_page_users() , admin_page_users_post() , allfriends_content() , api_content() , api_post() , apps_content() , attach_init() , blocks_content() , channel_content() , channel_init() , chanview_content() , check_form_security_token_redirectOnErr() , common_content() , common_init() , community_content() , connect_init() , connect_post() , connections_content() , connections_post() , crepair_content() , crepair_post() , delegate_content() , directory_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , filestorage_content() , follow_init() , fsuggest_content() , fsuggest_post() , group_add() , group_content() , group_post() , hcard_init() , import_content() , import_post() , intro_content() , intro_post() , invite_content() , invite_post() , item_post() , lastpost_content() , lastpost_init() , layouts_content() , like_content() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , match_content() , menu_content() , menu_post() , message_content() , message_post() , mitem_content() , mitem_init() , mitem_post() , mood_content() , network_content() , network_init() , new_channel_content() , new_channel_post() , nogroup_content() , notifications_content() , notifications_post() , page_content() , photos_content() , photos_post() , poke_content() , post_init() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , register_content() , register_post() , regmod_content() , rmagic_post() , search_content() , settings_post() , suggest_content() , thing_init() , user_deny() , viewconnections_content() , viewsrc_content() , wall_attach_post() , wall_upload_post() , webpages_content() , and xchan_content() .
@@ -1507,6 +1511,8 @@ Variables
@@ -1533,7 +1539,7 @@ Variables
-
Referenced by FriendicaSmarty\__construct() , App\__construct() , acl_init() , admin_page_logs_post() , admin_page_plugins() , admin_page_site() , admin_page_site_post() , admin_page_themes() , admin_page_users_post() , api_content() , api_direct_messages_box() , api_direct_messages_new() , api_favorites() , api_format_messages() , api_get_user() , api_login() , api_post() , api_statuses_f() , api_statuses_home_timeline() , api_statuses_mentions() , api_statuses_public_timeline() , api_statuses_show() , api_statuses_update() , api_statuses_user_timeline() , api_user() , attach_store() , authenticate_success() , bbcode() , bbtoevent() , best_link_url() , App\build_pagehead() , channel_aside() , channel_content() , check_config() , check_form_security_token() , community_content() , connections_aside() , connections_content() , connections_post() , construct_page() , consume_feed() , conversation() , create_account() , create_identity() , crepair_init() , crepair_post() , current_theme() , del_pconfig() , del_xconfig() , delegate_content() , detect_language() , directory_content() , dirsearch_content() , encode_rel_links() , events_content() , events_post() , feed_init() , filerm_content() , get_atom_elements() , get_browser_language() , get_item_elements() , get_max_import_size() , get_my_address() , get_my_url() , get_plink() , get_public_feed() , Item\get_template_data() , group_add() , group_rmv() , hcard_init() , import_post() , import_xchan() , info() , intro_content() , invite_post() , item_post() , item_store() , item_store_update() , lang_selector() , lastpost_aside() , lastpost_content() , load_contact_links() , local_user() , lostpass_content() , lrdd() , magic_init() , mail_store() , message_content() , message_post() , mood_content() , mood_init() , nav() , navbar_complete() , network_content() , network_init() , network_query_get_sel_tab() , new_channel_content() , nogroup_init() , notice() , notifications_content() , oexchange_content() , parse_url_content() , photo_upload() , photos_content() , photos_post() , ping_init() , poco_init() , poco_load() , poke_content() , poke_init() , post_activity_item() , printable() , probe_content() , proc_run() , process_delivery() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_post() , qsearch_init() , redir_init() , ref_session_read() , register_content() , register_post() , App\register_template_engine() , regmod_content() , remote_user() , removeme_post() , saved_searches() , search_ac_init() , search_content() , search_init() , search_post() , service_class_allows() , service_class_fetch() , App\set_baseurl() , settings_post() , setup_content() , setup_init() , siteinfo_init() , suggest_init() , t() , tagrm_post() , App\template_engine() , tt() , validate_channelname() , wall_upload_post() , webfinger_content() , wfinger_init() , xchan_content() , z_fetch_url() , z_post_url() , and zfinger_init() .
+
Referenced by FriendicaSmarty\__construct() , App\__construct() , acl_init() , admin_page_logs_post() , admin_page_plugins() , admin_page_site() , admin_page_site_post() , admin_page_themes() , admin_page_users_post() , api_content() , api_direct_messages_box() , api_direct_messages_new() , api_favorites() , api_format_messages() , api_get_user() , api_login() , api_post() , api_statuses_f() , api_statuses_home_timeline() , api_statuses_mentions() , api_statuses_public_timeline() , api_statuses_show() , api_statuses_update() , api_statuses_user_timeline() , api_user() , attach_store() , authenticate_success() , bbcode() , bbtoevent() , best_link_url() , App\build_pagehead() , channel_aside() , channel_content() , check_config() , check_form_security_token() , community_content() , connections_aside() , connections_content() , connections_post() , construct_page() , consume_feed() , conversation() , create_account() , create_identity() , crepair_init() , crepair_post() , current_theme() , del_pconfig() , del_xconfig() , delegate_content() , detect_language() , directory_content() , dirsearch_content() , encode_rel_links() , events_content() , events_post() , feed_init() , filerm_content() , get_atom_elements() , get_browser_language() , get_item_elements() , get_max_import_size() , get_my_address() , get_my_url() , get_plink() , get_public_feed() , Item\get_template_data() , group_add() , group_rmv() , hcard_init() , import_post() , import_xchan() , info() , intro_content() , invite_post() , item_post() , item_store() , item_store_update() , lang_selector() , lastpost_aside() , lastpost_content() , load_contact_links() , local_user() , lostpass_content() , lrdd() , magic_init() , mail_store() , message_content() , message_post() , mood_content() , mood_init() , nav() , navbar_complete() , network_content() , network_init() , network_query_get_sel_tab() , new_channel_content() , nogroup_init() , notice() , notifications_content() , oexchange_content() , parse_url_content() , photo_upload() , photos_content() , photos_post() , ping_init() , poco_init() , poco_load() , poke_content() , poke_init() , post_activity_item() , printable() , probe_content() , proc_run() , process_delivery() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_post() , qsearch_init() , redir_init() , ref_session_read() , register_content() , register_post() , App\register_template_engine() , regmod_content() , remote_user() , removeme_post() , saved_searches() , search_ac_init() , search_content() , search_init() , search_post() , service_class_allows() , service_class_fetch() , App\set_baseurl() , settings_post() , setup_content() , setup_init() , siteinfo_init() , suggest_init() , t() , tagrm_post() , App\template_engine() , tt() , validate_channelname() , wall_upload_post() , webfinger_content() , wfinger_init() , xchan_content() , z_fetch_url() , z_post_url() , and zfinger_init() .
@@ -1601,7 +1607,7 @@ Variables
-
Referenced by allowed_public_recips() , blocks_content() , chanlink_cid() , chanlink_hash() , chanlink_url() , channel_content() , chanview_content() , check_config() , connect_post() , connections_content() , conversation() , create_identity() , deliver_run() , directory_content() , display_content() , event_store() , filestorage_content() , follow_init() , format_css_if_exists() , format_js_if_exists() , group_post() , App\head_get_icon() , head_get_icon() , hostxrd_init() , import_post() , import_xchan() , intro_post() , invite_content() , item_photo_menu() , item_store() , lastpost_content() , layouts_content() , login_content() , lostpass_content() , lostpass_post() , magic_init() , magiclink_url() , manage_content() , menu_content() , menu_post() , mitem_content() , mitem_post() , mood_init() , navbar_complete() , network_content() , new_channel_post() , notification() , notifications_post() , notifier_run() , photo_upload() , photos_album_widget() , photos_create_item() , post_init() , post_post() , profile_activity() , profile_sidebar() , public_recips() , pubsites_content() , redir_init() , register_post() , removeme_content() , rmagic_init() , rmagic_post() , search_content() , send_reg_approval_email() , send_verification_email() , setup_content() , setup_post() , siteinfo_content() , siteinfo_init() , sync_directories() , tagger_content() , thing_init() , update_suggestions() , user_allow() , vcard_from_xchan() , webpages_content() , wfinger_init() , zfinger_init() , zid_init() , zot_build_packet() , zot_fetch() , and zot_new_uid() .
+
Referenced by allowed_public_recips() , blocks_content() , chanlink_cid() , chanlink_hash() , chanlink_url() , channel_content() , chanview_content() , check_config() , connect_post() , connections_content() , conversation() , create_identity() , deliver_run() , directory_content() , display_content() , event_store() , filestorage_content() , follow_init() , format_css_if_exists() , format_js_if_exists() , group_post() , App\head_get_icon() , head_get_icon() , hostxrd_init() , import_post() , import_xchan() , intro_post() , invite_content() , item_photo_menu() , item_store() , lastpost_content() , layouts_content() , login_content() , lostpass_content() , lostpass_post() , magic_init() , magiclink_url() , manage_content() , menu_content() , menu_post() , mitem_content() , mitem_post() , mood_init() , navbar_complete() , network_content() , new_channel_post() , notification() , notifications_post() , notifier_run() , photo_upload() , photos_album_widget() , photos_create_item() , post_init() , post_post() , profile_activity() , profile_sidebar() , public_recips() , pubsites_content() , redir_init() , register_post() , removeme_content() , rmagic_init() , rmagic_post() , search_content() , send_reg_approval_email() , send_verification_email() , setup_content() , setup_post() , siteinfo_content() , siteinfo_init() , sync_directories() , tagger_content() , thing_init() , update_suggestions() , user_allow() , vcard_from_xchan() , webpages_content() , wfinger_init() , zfinger_init() , zid_init() , zot_build_packet() , zot_fetch() , and zot_new_uid() .
@@ -1639,7 +1645,7 @@ Variables
Returns string
'zid' string url - url to accept zid string zid - urlencoded zid string result - the return string we calculated, change it if you want to return something else
-Referenced by bb_ShareAttributes() , conversation() , intro_content() , like_puller() , localize_item() , match_content() , menu_render() , new_contact() , notifications_content() , and viewconnections_content() .
+Referenced by bb_ShareAttributes() , conversation() , get_plink() , intro_content() , like_puller() , localize_item() , match_content() , menu_render() , new_contact() , notifications_content() , and viewconnections_content() .
@@ -2396,7 +2402,7 @@ Variables
- const DB_UPDATE_VERSION 1073
+ const DB_UPDATE_VERSION 1074
@@ -2442,7 +2448,7 @@ Variables
-
Referenced by directory_run() , dirsearch_content() , import_site() , import_xchan() , sync_directories() , update_suggestions() , and zfinger_init() .
+
Referenced by directory_run() , dirsearch_content() , import_site() , import_xchan() , sync_directories() , update_suggestions() , and zfinger_init() .
@@ -2484,7 +2490,7 @@ Variables
-
Referenced by directory_content() , directory_run() , import_site() , import_xchan() , navbar_complete() , pubsites_content() , sync_directories() , update_suggestions() , and zfinger_init() .
+
Referenced by directory_content() , directory_run() , import_site() , import_xchan() , navbar_complete() , pubsites_content() , sync_directories() , update_suggestions() , and zfinger_init() .
@@ -2510,7 +2516,7 @@ Variables
-
Referenced by admin_page_dbsync() , admin_page_site_post() , admin_page_users() , allfriends_content() , api_content() , api_post() , apps_content() , attach_init() , authenticate_success() , blocks_content() , channel_content() , channel_init() , chanview_content() , check_account_email() , check_account_invite() , check_form_security_std_err_msg() , check_keys() , check_php() , common_content() , common_init() , community_content() , connect_init() , connections_content() , connections_post() , crepair_content() , crepair_post() , delegate_content() , design_tools() , directory_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , filestorage_content() , follow_init() , format_like() , fsuggest_content() , fsuggest_post() , group_add() , group_content() , group_post() , hcard_init() , import_post() , import_xchan() , intro_content() , intro_post() , invite_content() , invite_post() , item_post() , lastpost_content() , lastpost_init() , layouts_content() , like_content() , load_database() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , match_content() , menu_content() , menu_post() , message_content() , message_post() , mitem_content() , mitem_init() , mitem_post() , mood_content() , network_content() , network_init() , new_channel_content() , new_channel_post() , nogroup_content() , notifications_content() , notifications_post() , oexchange_content() , page_content() , photos_content() , photos_post() , poke_content() , post_init() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , register_content() , register_post() , regmod_content() , search_content() , settings_post() , setup_content() , suggest_content() , tagrm_post() , user_allow() , user_deny() , viewconnections_content() , viewsrc_content() , wall_attach_post() , wall_upload_post() , webpages_content() , and xchan_content() .
+
Referenced by admin_page_dbsync() , admin_page_hubloc() , admin_page_site_post() , admin_page_users() , allfriends_content() , api_content() , api_post() , apps_content() , attach_init() , authenticate_success() , blocks_content() , channel_content() , channel_init() , chanview_content() , check_account_email() , check_account_invite() , check_form_security_std_err_msg() , check_keys() , check_php() , common_content() , common_init() , community_content() , connect_init() , connections_content() , connections_post() , crepair_content() , crepair_post() , delegate_content() , design_tools() , directory_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , filestorage_content() , follow_init() , format_like() , fsuggest_content() , fsuggest_post() , group_add() , group_content() , group_post() , hcard_init() , import_post() , import_xchan() , intro_content() , intro_post() , invite_content() , invite_post() , item_post() , lastpost_content() , lastpost_init() , layouts_content() , like_content() , load_database() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , match_content() , menu_content() , menu_post() , message_content() , message_post() , mitem_content() , mitem_init() , mitem_post() , mood_content() , network_content() , network_init() , new_channel_content() , new_channel_post() , nogroup_content() , notifications_content() , notifications_post() , oexchange_content() , page_content() , photos_content() , photos_post() , poke_content() , post_init() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , register_content() , register_post() , regmod_content() , search_content() , settings_post() , setup_content() , suggest_content() , tagrm_post() , user_allow() , user_deny() , viewconnections_content() , viewsrc_content() , wall_attach_post() , wall_upload_post() , webpages_content() , and xchan_content() .
@@ -2563,7 +2569,7 @@ Variables
@@ -2577,7 +2583,7 @@ Variables
-
Referenced by create_identity() , import_author_xchan() , import_post() , import_xchan() , magic_init() , rconnect_url() , xchan_mail_query() , xchan_query() , zfinger_init() , zot_finger() , zot_get_hubloc() , and zot_refresh() .
+
Referenced by create_identity() , import_author_xchan() , import_post() , import_xchan() , magic_init() , rconnect_url() , xchan_mail_query() , xchan_query() , zfinger_init() , zot_finger() , zot_get_hubloc() , and zot_refresh() .
@@ -3053,7 +3059,7 @@ Variables
-
Referenced by admin_page_logs() , advanced_profile() , build_sync_packet() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , detect_language() , dfrn_deliver() , directory_content() , fetch_xrd_links() , fix_private_photos() , import_xchan() , item_store() , item_store_update() , lrdd() , mail_store() , message_content() , message_post() , mini_group_select() , network_content() , new_contact() , notifier_run() , parse_xml_string() , photos_post() , poco_load() , post_post() , public_recips() , tag_deliver() , tgroup_check() , webfinger_dfrn() , xml2array() , z_fetch_url() , z_post_url() , zot_build_packet() , zot_fetch() , zot_import() , zot_process_response() , zot_refresh() , and zot_register_hub() .
+
Referenced by admin_page_logs() , advanced_profile() , build_sync_packet() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , detect_language() , dfrn_deliver() , directory_content() , fetch_xrd_links() , fix_private_photos() , import_xchan() , item_store() , item_store_update() , lrdd() , mail_store() , message_content() , message_post() , mini_group_select() , network_content() , new_contact() , notifier_run() , parse_xml_string() , photos_post() , poco_load() , post_post() , public_recips() , tag_deliver() , tgroup_check() , webfinger_dfrn() , xml2array() , z_fetch_url() , z_post_url() , zot_build_packet() , zot_fetch() , zot_import() , zot_process_response() , zot_refresh() , and zot_register_hub() .
@@ -3067,7 +3073,7 @@ Variables
-
Referenced by Item\add_child() , Conversation\add_thread() , admin_page_logs() , api_login() , api_statuses_user_timeline() , authenticate_success() , avatar_img() , consume_feed() , conversation() , delete_imported_item() , deliver_run() , dfrn_deliver() , directory_content() , directory_run() , expire_run() , fix_private_photos() , Conversation\get_template_data() , group_content() , guess_image_type() , import_author_xchan() , import_channel_photo() , import_directory_profile() , import_profile_photo() , import_xchan() , item_post() , item_store() , item_store_update() , like_content() , limit_body_size() , FKOAuth1\loginUser() , lrdd() , mail_store() , mood_init() , notification() , notifier_run() , parse_url_content() , photo_upload() , photos_post() , poco_init() , poco_load() , poke_init() , post_post() , process_delivery() , process_profile_delivery() , profile_load() , redir_init() , Item\remove_child() , scale_external_images() , enotify\send() , Conversation\set_mode() , syncdirs() , unload_plugin() , zot_finger() , zot_gethub() , and zot_register_hub() .
+
Referenced by Item\add_child() , Conversation\add_thread() , admin_page_logs() , api_login() , api_statuses_user_timeline() , authenticate_success() , avatar_img() , consume_feed() , conversation() , delete_imported_item() , deliver_run() , dfrn_deliver() , directory_content() , directory_run() , expire_run() , fix_private_photos() , Conversation\get_template_data() , group_content() , guess_image_type() , import_author_xchan() , import_channel_photo() , import_directory_profile() , import_profile_photo() , import_xchan() , item_post() , item_store() , item_store_update() , like_content() , limit_body_size() , FKOAuth1\loginUser() , lrdd() , mail_store() , mood_init() , notification() , notifier_run() , parse_url_content() , photo_upload() , photos_post() , poco_init() , poco_load() , poke_init() , post_post() , process_delivery() , process_profile_delivery() , profile_load() , redir_init() , Item\remove_child() , scale_external_images() , enotify\send() , Conversation\set_mode() , syncdirs() , unload_plugin() , zot_finger() , zot_gethub() , and zot_register_hub() .
@@ -3766,6 +3772,20 @@ Variables
Referenced by item_post() , and notification() .
+
+
+
+
+
+
+
+ const PAGE_ADULT 0x0020
+
+
+
@@ -3829,8 +3849,7 @@ Variables
-
page/profile types
-
PAGE_NORMAL is a typical personal profile account PAGE_SOAPBOX automatically approves all friend requests as CONTACT_IS_SHARING, (readonly) PAGE_COMMUNITY automatically approves all friend requests as CONTACT_IS_SHARING, but with write access to wall and comments (no email and not included in page owner's ACL lists) PAGE_FREELOVE automatically approves all friend requests as full friends (CONTACT_IS_FRIEND).
+
Channel pageflags
Referenced by create_identity() .
@@ -3902,7 +3921,7 @@ Variables
@@ -3916,7 +3935,7 @@ Variables
-
Referenced by get_all_perms() , map_scope() , perm_is_allowed() , public_recips() , and site_default_perms() .
+
Referenced by display_content() , get_all_perms() , map_scope() , perm_is_allowed() , public_recips() , search_content() , and site_default_perms() .
@@ -4436,7 +4455,7 @@ Variables
-
Referenced by conversation() , decode_tags() , encode_item_terms() , format_term_for_display() , get_atom_elements() , handle_tag() , item_getfeedtags() , item_post() , items_fetch() , network_content() , remove_community_tag() , search_ac_init() , search_content() , tag_deliver() , and tagger_content() .
+
Referenced by check_item_source() , conversation() , decode_tags() , encode_item_terms() , format_term_for_display() , get_atom_elements() , handle_tag() , item_getfeedtags() , item_post() , items_fetch() , network_content() , remove_community_tag() , search_ac_init() , search_content() , tag_deliver() , and tagger_content() .
@@ -4626,7 +4645,7 @@ Variables
@@ -4640,7 +4659,7 @@ Variables
@@ -4656,6 +4675,20 @@ Variables
Referenced by dirsearch_content() .
+
+
+
+
+
+
+
+ const XCHAN_FLAGS_SELFCENSORED 0x0008
+
+
+
diff --git a/doc/html/boot_8php.js b/doc/html/boot_8php.js
index 1006ce9a6..cad296df9 100644
--- a/doc/html/boot_8php.js
+++ b/doc/html/boot_8php.js
@@ -203,6 +203,7 @@ var boot_8php =
[ "NOTIFY_TAGSELF", "boot_8php.html#ab724491497ab2618b23a01d5da60aec0", null ],
[ "NOTIFY_TAGSHARE", "boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461", null ],
[ "NOTIFY_WALL", "boot_8php.html#a505410c7edc5f5bb5fa227b98359793e", null ],
+ [ "PAGE_ADULT", "boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32", null ],
[ "PAGE_APPLICATION", "boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed", null ],
[ "PAGE_AUTOCONNECT", "boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9", null ],
[ "PAGE_DIRECTORY_CHANNEL", "boot_8php.html#a5b8484922918946d041e5e0515dbe718", null ],
@@ -267,6 +268,7 @@ var boot_8php =
[ "XCHAN_FLAGS_CENSORED", "boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e", null ],
[ "XCHAN_FLAGS_HIDDEN", "boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2", null ],
[ "XCHAN_FLAGS_ORPHAN", "boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f", null ],
+ [ "XCHAN_FLAGS_SELFCENSORED", "boot_8php.html#a5a681a672e007cdc22b43345d71f07c6", null ],
[ "ZCURL_TIMEOUT", "boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af", null ],
[ "ZOT_REVISION", "boot_8php.html#a36b31575f992a10b5927b76efba9362e", null ]
];
\ No newline at end of file
diff --git a/doc/html/classConversation.html b/doc/html/classConversation.html
index 22be4c4b0..913f04052 100644
--- a/doc/html/classConversation.html
+++ b/doc/html/classConversation.html
@@ -487,7 +487,7 @@ Additional Inherited Members
diff --git a/doc/html/classItem-members.html b/doc/html/classItem-members.html
index 3e67b71c0..bdafb9e14 100644
--- a/doc/html/classItem-members.html
+++ b/doc/html/classItem-members.html
@@ -115,38 +115,40 @@ $(document).ready(function(){initNavTree('classItem.html','');});
$channel Item private
$children Item private
$comment_box_template Item private
- $conversation Item private
- $data Item
- $owner_name Item private
- $owner_photo Item private
- $owner_url Item private
- $parent Item private
- $redirect_url Item private
- $template Item private
- $threaded Item private
- $toplevel Item private
- $visiting Item private
- $wall_to_wall Item private
- __construct ($data)Item
- add_child ($item)Item
- check_wall_to_wall ()Item protected
- count_descendants ()Item private
- get_app ()BaseObject
- get_child ($id)Item
- get_children ()Item
- get_comment_box ($indent)Item private
- get_comment_box_template ()Item private
- get_conversation ()Item
- get_data ()Item
- get_data_value ($name)Item
- get_id ()Item
- get_owner_name ()Item private
- get_owner_photo ()Item private
- get_owner_url ()Item private
- get_parent ()Item protected
- get_redirect_url ()Item private
- get_template ()Item private
- get_template_data ($alike, $dlike, $thread_level=1)Item
+ $commentable Item private
+ $conversation Item private
+ $data Item
+ $owner_name Item private
+ $owner_photo Item private
+ $owner_url Item private
+ $parent Item private
+ $redirect_url Item private
+ $template Item private
+ $threaded Item private
+ $toplevel Item private
+ $visiting Item private
+ $wall_to_wall Item private
+ __construct ($data)Item
+ add_child ($item)Item
+ check_wall_to_wall ()Item protected
+ count_descendants ()Item private
+ get_app ()BaseObject
+ get_child ($id)Item
+ get_children ()Item
+ get_comment_box ($indent)Item private
+ get_comment_box_template ()Item private
+ get_conversation ()Item
+ get_data ()Item
+ get_data_value ($name)Item
+ get_id ()Item
+ get_owner_name ()Item private
+ get_owner_photo ()Item private
+ get_owner_url ()Item private
+ get_parent ()Item protected
+ get_redirect_url ()Item private
+ get_template ()Item private
+ get_template_data ($alike, $dlike, $thread_level=1)Item
+ is_commentable ()Item
is_threaded ()Item
is_toplevel ()Item private
is_visiting ()Item private
@@ -154,8 +156,9 @@ $(document).ready(function(){initNavTree('classItem.html','');});
remove_child ($item)Item
remove_parent ()Item protected
set_app ($app)BaseObject static
- set_conversation ($conv)Item
- set_parent ($item)Item protected
+ set_commentable ($val)Item
+ set_conversation ($conv)Item
+ set_parent ($item)Item protected
diff --git a/doc/html/classItem.html b/doc/html/classItem.html
index de52cab07..d37548bb6 100644
--- a/doc/html/classItem.html
+++ b/doc/html/classItem.html
@@ -136,6 +136,10 @@ Public Member Functions
is_threaded ()
+ set_commentable ($val)
+
+ is_commentable ()
+
add_child ($item)
get_child ($id)
@@ -203,6 +207,8 @@ Private Attributes
$comment_box_template = 'comment_item.tpl'
+ $commentable = false
+
$toplevel = false
$children = array()
@@ -358,7 +364,7 @@ Additional Inherited Members
@@ -672,6 +678,23 @@ Additional Inherited Members
Get data in a form usable by a conversation template
Returns: _ The data requested on success _ false on failure
+
+
+
+
+
+
+
+ Item::is_commentable
+ (
+ )
+
+
+
+
@@ -802,6 +825,22 @@ Additional Inherited Members
+
+
+
+
+
+
+ Item::set_commentable
+ (
+
+ $val )
+
+
+
+
+
@@ -911,6 +950,28 @@ Additional Inherited Members
Referenced by get_comment_box_template() .
+
+
+
+
+
+
+
+
+
+
+ Item::$commentable = false
+
+
+
+
+private
+
+
+
diff --git a/doc/html/classItem.js b/doc/html/classItem.js
index a47a3a8e3..3e0b0082f 100644
--- a/doc/html/classItem.js
+++ b/doc/html/classItem.js
@@ -19,17 +19,20 @@ var classItem =
[ "get_redirect_url", "classItem.html#a428f448f89a8629055ea3294eb942aea", null ],
[ "get_template", "classItem.html#aba23a0a9d89e316d2b343cc46d695d91", null ],
[ "get_template_data", "classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8", null ],
+ [ "is_commentable", "classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967", null ],
[ "is_threaded", "classItem.html#a5b2fafdca55aefeaa08993a5a60529f0", null ],
[ "is_toplevel", "classItem.html#aa49e40f961dff66da32c5ae110e32993", null ],
[ "is_visiting", "classItem.html#a97c7feeea7f26a73176cb19faa455e12", null ],
[ "is_wall_to_wall", "classItem.html#aabf87ded59c25b5fe2b2296678e70509", null ],
[ "remove_child", "classItem.html#a2ce70ef63f9f4d86a09c351678806925", null ],
[ "remove_parent", "classItem.html#aa452b5bcd8dea12119b09212c615cb41", null ],
+ [ "set_commentable", "classItem.html#aa1bd19fc8b5577078530265a7bf64123", null ],
[ "set_conversation", "classItem.html#aa8b1bbc4236890694635295e46d7fd72", null ],
[ "set_parent", "classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7", null ],
[ "$channel", "classItem.html#acc32426c0f465391be8a99ad810c7b8e", null ],
[ "$children", "classItem.html#a80dcd0fb7673776c0967839d429c2a0f", null ],
[ "$comment_box_template", "classItem.html#a90743c8348b13213275c223bb9333aa0", null ],
+ [ "$commentable", "classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304", null ],
[ "$conversation", "classItem.html#a007424e3e3171dcfb4312a02161da6cd", null ],
[ "$data", "classItem.html#aec24e233f9098f902b1e57e60dcb2019", null ],
[ "$owner_name", "classItem.html#a9594df6014b0b6f45364ea7a34510130", null ],
diff --git a/doc/html/conversation_8php.html b/doc/html/conversation_8php.html
index d8ae2be0c..6ce2ab111 100644
--- a/doc/html/conversation_8php.html
+++ b/doc/html/conversation_8php.html
@@ -226,7 +226,7 @@ Functions
-
Referenced by channel_content() , display_content() , items_fetch() , lastpost_content() , network_content() , search_content() , and zot_feed() .
+
Referenced by channel_content() , display_content() , items_fetch() , lastpost_content() , network_content() , and zot_feed() .
@@ -709,7 +709,7 @@ Functions
diff --git a/doc/html/crypto_8php.html b/doc/html/crypto_8php.html
index 96bea9390..df11f498d 100644
--- a/doc/html/crypto_8php.html
+++ b/doc/html/crypto_8php.html
@@ -390,7 +390,7 @@ Functions
diff --git a/doc/html/datetime_8php.html b/doc/html/datetime_8php.html
index 99f2d22c0..0595dbb57 100644
--- a/doc/html/datetime_8php.html
+++ b/doc/html/datetime_8php.html
@@ -332,7 +332,7 @@ Functions
-
Referenced by add_fcontact() , advanced_profile() , age() , api_account_rate_limit_status() , api_date() , api_rss_extra() , atom_entry() , attach_store() , authenticate_success() , build_sync_packet() , cal() , channel_content() , Cache\clear() , consume_feed() , conversation() , create_account() , create_identity() , crepair_post() , cronhooks_run() , delete_item_lowlevel() , deliver_run() , dirsearch_content() , dlogger() , dob() , ev_compare() , event_store() , events_content() , events_post() , first_post_date() , fix_system_urls() , format_event_diaspora() , format_event_html() , fsuggest_post() , get_atom_elements() , get_birthdays() , get_events() , get_feed_for() , get_first_dim() , get_item_elements() , get_mail_elements() , get_profile_elements() , get_public_feed() , Item\get_template_data() , import_directory_profile() , import_post() , import_site() , import_xchan() , invite_post() , item_post() , item_store() , item_store_update() , items_fetch() , lastpost_content() , like_content() , logger() , magic_init() , mail_store() , message_content() , network_content() , new_contact() , notification() , notifier_run() , onepoll_run() , photo_upload() , photos_post() , ping_init() , poco_load() , poller_run() , post_post() , posted_dates() , profile_photo_post() , profiles_content() , profiles_post() , dba_mysql\q() , dba_mysqli\q() , queue_run() , relative_date() , photo_driver\save() , send_message() , send_reg_approval_email() , Cache\set() , settings_post() , photo_driver\store() , update_modtime() , update_queue_time() , z_birthday() , zot_feed() , zot_process_response() , zot_refresh() , and zotfeed_init() .
+
Referenced by add_fcontact() , advanced_profile() , age() , api_account_rate_limit_status() , api_date() , api_rss_extra() , atom_entry() , attach_store() , authenticate_success() , build_sync_packet() , cal() , channel_content() , Cache\clear() , consume_feed() , conversation() , create_account() , create_identity() , crepair_post() , cronhooks_run() , delete_item_lowlevel() , deliver_run() , dirsearch_content() , dlogger() , dob() , ev_compare() , event_store() , events_content() , events_post() , first_post_date() , fix_system_urls() , format_event_diaspora() , format_event_html() , fsuggest_post() , get_atom_elements() , get_birthdays() , get_events() , get_feed_for() , get_first_dim() , get_item_elements() , get_mail_elements() , get_profile_elements() , get_public_feed() , Item\get_template_data() , import_directory_profile() , import_post() , import_site() , import_xchan() , invite_post() , item_post() , item_store() , item_store_update() , items_fetch() , lastpost_content() , like_content() , logger() , magic_init() , mail_store() , message_content() , network_content() , new_contact() , notification() , notifier_run() , onepoll_run() , photo_upload() , photos_post() , ping_init() , poco_load() , poller_run() , post_post() , posted_dates() , profile_photo_post() , profiles_content() , profiles_post() , dba_mysql\q() , dba_mysqli\q() , queue_run() , relative_date() , photo_driver\save() , send_message() , send_reg_approval_email() , Cache\set() , settings_post() , photo_driver\store() , update_modtime() , update_queue_time() , z_birthday() , zot_feed() , zot_process_response() , zot_refresh() , and zotfeed_init() .
diff --git a/doc/html/dba__driver_8php.html b/doc/html/dba__driver_8php.html
index 7c632482d..b1b6ceef9 100644
--- a/doc/html/dba__driver_8php.html
+++ b/doc/html/dba__driver_8php.html
@@ -202,7 +202,7 @@ Functions
-
Referenced by account_verify_password() , acl_init() , add_fcontact() , advanced_profile() , allowed_public_recips() , api_direct_messages_new() , api_get_user() , api_status_show() , api_statuses_mentions() , api_user() , api_users_show() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_list_files() , attach_store() , authenticate_success() , blocks_content() , build_sync_packet() , call_hooks() , categories_widget() , change_channel() , channel_content() , channel_remove() , channelx_by_hash() , channelx_by_n() , channelx_by_nick() , chanview_content() , check_account_email() , check_account_invite() , check_webbie() , Cache\clear() , comanche_block() , common_friends() , connect_init() , connect_post() , connections_content() , connections_post() , consume_feed() , contact_remove() , contactgroup_content() , count_common_friends() , create_account() , create_identity() , crepair_post() , dbesc_array_cb() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , delete_imported_item() , delete_item_lowlevel() , deliver_run() , dirsearch_content() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , event_store() , events_content() , expand_groups() , fbrowser_content() , feed_init() , fetch_post_tags() , file_tag_file_query() , filerm_content() , filestorage_content() , fix_attached_photo_permissions() , fix_contact_ssl_policy() , fix_private_photos() , fix_system_urls() , fsuggest_post() , generate_user_guid() , Cache\get() , get_all_perms() , get_birthdays() , get_config_from_storage() , get_events() , gprobe_run() , group_add() , group_add_member() , group_byname() , group_content() , group_post() , group_rec_byhash() , group_rmv() , group_rmv_member() , groups_containing() , handle_tag() , import_author_xchan() , import_directory_keywords() , import_directory_profile() , import_post() , import_profile_photo() , import_site() , import_xchan() , install_plugin() , invite_post() , item_message_id() , item_permissions_sql() , item_post() , item_store() , item_store_update() , items_fetch() , lastpost_content() , layouts_content() , like_content() , load_config() , load_plugin() , load_xconfig() , lockview_content() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , member_of() , menu_add_item() , menu_create() , menu_delete() , menu_edit() , menu_edit_item() , menu_fetch() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , FKOAuthDataStore\new_request_token() , notification() , notifications_content() , notifier_run() , notify_init() , oauth_get_client() , onepoll_run() , page_content() , perm_is_allowed() , permissions_sql() , photo_init() , photo_new_resource() , photo_upload() , photos_album_exists() , photos_album_get_db_idstr() , photos_album_rename() , photos_content() , photos_list_photos() , photos_post() , ping_init() , poco_init() , poco_load() , poller_run() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , profile_init() , profile_load() , profile_photo_post() , profiles_init() , profiles_post() , public_permissions_sql() , public_recips() , qsearch_init() , queue_run() , rconnect_url() , red_zrl_callback() , redir_init() , ref_session_destroy() , ref_session_gc() , ref_session_read() , ref_session_write() , register_hook() , register_post() , remove_all_xchan_resources() , remove_community_tag() , remove_queue_item() , rmagic_init() , rmagic_post() , photo_driver\save() , search_ac_init() , search_content() , search_init() , send_message() , send_reg_approval_email() , send_status_notifications() , Cache\set() , set_config() , set_pconfig() , set_xconfig() , settings_post() , siteinfo_init() , photo_driver\store() , store_item_tag() , stringify_array_elms() , subthread_content() , suggest_init() , sync_directories() , syncdirs() , tag_deliver() , tagger_content() , tagrm_post() , term_query() , tgroup_check() , thing_init() , uninstall_plugin() , unregister_hook() , update_modtime() , update_queue_time() , user_allow() , user_deny() , vcard_from_xchan() , vote_post() , wall_attach_post() , wall_upload_post() , webpages_content() , wfinger_init() , xchan_content() , xchan_mail_query() , xchan_query() , xrd_init() , z_readdir() , zfinger_init() , zid_init() , zot_feed() , zot_finger() , zot_get_hubloc() , zot_gethub() , zot_process_response() , zot_refresh() , and zotfeed_init() .
+
Referenced by account_verify_password() , acl_init() , add_fcontact() , advanced_profile() , allowed_public_recips() , api_direct_messages_new() , api_get_user() , api_status_show() , api_statuses_mentions() , api_user() , api_users_show() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_list_files() , attach_store() , authenticate_success() , blocks_content() , build_sync_packet() , call_hooks() , categories_widget() , change_channel() , channel_content() , channel_remove() , channelx_by_hash() , channelx_by_n() , channelx_by_nick() , chanview_content() , check_account_email() , check_account_invite() , check_item_source() , check_webbie() , Cache\clear() , comanche_block() , common_friends() , connect_init() , connect_post() , connections_content() , connections_post() , consume_feed() , contact_remove() , contactgroup_content() , count_common_friends() , create_account() , create_identity() , crepair_post() , dbesc_array_cb() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , delete_imported_item() , delete_item_lowlevel() , deliver_run() , dirsearch_content() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , event_store() , events_content() , expand_groups() , fbrowser_content() , feed_init() , fetch_post_tags() , file_tag_file_query() , filerm_content() , filestorage_content() , fix_attached_photo_permissions() , fix_contact_ssl_policy() , fix_private_photos() , fix_system_urls() , fsuggest_post() , generate_user_guid() , Cache\get() , get_all_perms() , get_birthdays() , get_config_from_storage() , get_events() , gprobe_run() , group_add() , group_add_member() , group_byname() , group_content() , group_post() , group_rec_byhash() , group_rmv() , group_rmv_member() , groups_containing() , handle_tag() , import_author_xchan() , import_directory_keywords() , import_directory_profile() , import_post() , import_profile_photo() , import_site() , import_xchan() , install_plugin() , invite_post() , item_message_id() , item_permissions_sql() , item_post() , item_store() , item_store_update() , items_fetch() , lastpost_content() , layouts_content() , like_content() , load_config() , load_plugin() , load_xconfig() , lockview_content() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , member_of() , menu_add_item() , menu_create() , menu_delete() , menu_edit() , menu_edit_item() , menu_fetch() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , FKOAuthDataStore\new_request_token() , notification() , notifications_content() , notifier_run() , notify_init() , oauth_get_client() , onepoll_run() , page_content() , perm_is_allowed() , permissions_sql() , photo_init() , photo_new_resource() , photo_upload() , photos_album_exists() , photos_album_get_db_idstr() , photos_album_rename() , photos_content() , photos_list_photos() , photos_post() , ping_init() , poco_init() , poco_load() , poller_run() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_init() , profile_load() , profile_photo_post() , profiles_init() , profiles_post() , public_permissions_sql() , public_recips() , qsearch_init() , queue_run() , rconnect_url() , red_zrl_callback() , redir_init() , ref_session_destroy() , ref_session_gc() , ref_session_read() , ref_session_write() , register_hook() , register_post() , remove_all_xchan_resources() , remove_community_tag() , remove_queue_item() , rmagic_init() , rmagic_post() , photo_driver\save() , search_ac_init() , search_content() , search_init() , send_message() , send_reg_approval_email() , send_status_notifications() , Cache\set() , set_config() , set_pconfig() , set_xconfig() , settings_post() , siteinfo_init() , photo_driver\store() , store_item_tag() , stream_perms_xchans() , stringify_array_elms() , subthread_content() , suggest_init() , sync_directories() , syncdirs() , tag_deliver() , tagger_content() , tagrm_post() , term_query() , tgroup_check() , thing_init() , uninstall_plugin() , unregister_hook() , update_modtime() , update_queue_time() , user_allow() , user_deny() , vcard_from_xchan() , vote_post() , wall_attach_post() , wall_upload_post() , webpages_content() , wfinger_init() , xchan_content() , xchan_mail_query() , xchan_query() , xrd_init() , z_readdir() , zfinger_init() , zid_init() , zot_feed() , zot_finger() , zot_get_hubloc() , zot_gethub() , zot_process_response() , zot_refresh() , and zotfeed_init() .
@@ -264,7 +264,7 @@ Functions
@@ -320,7 +320,7 @@ Functions
This will happen occasionally trying to store the session data after abnormal program termination
-
Referenced by abook_connections() , abook_self() , abook_toggle_flag() , account_remove() , account_total() , account_verify_password() , acl_init() , add_fcontact() , admin_content() , admin_page_dbsync() , admin_page_summary() , admin_page_users() , admin_page_users_post() , advanced_profile() , all_friends() , allfriends_content() , allowed_public_recips() , api_direct_messages_box() , api_direct_messages_new() , api_favorites() , api_ff_ids() , api_format_items() , api_get_user() , api_status_show() , api_statuses_f() , api_statuses_home_timeline() , api_statuses_mentions() , api_statuses_public_timeline() , api_statuses_repeat() , api_statuses_show() , api_statuses_user_timeline() , api_user() , api_users_show() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_list_files() , attach_store() , authenticate_success() , blocks_content() , build_sync_packet() , call_hooks() , categories_widget() , change_channel() , chanman_remove_everything_from_network() , channel_content() , channel_remove() , channel_total() , channelx_by_hash() , channelx_by_n() , channelx_by_nick() , chanview_content() , check_account_email() , check_account_invite() , check_config() , check_webbie() , Cache\clear() , collect_recipients() , comanche_block() , common_friends() , common_friends_zcid() , common_init() , community_content() , connect_init() , connect_post() , connections_content() , connections_init() , connections_post() , consume_feed() , contact_block() , contact_profile_assign() , contact_remove() , contact_select() , contactgroup_content() , contacts_not_grouped() , count_all_friends() , count_common_friends() , count_common_friends_zcid() , create_account() , create_identity() , crepair_content() , crepair_init() , crepair_post() , current_theme() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , delete_imported_item() , delete_item_lowlevel() , deliver_run() , dfrn_deliver() , dir_tagadelic() , directory_content() , directory_run() , dirsearch_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , encode_item() , event_store() , events_content() , expand_groups() , expire_run() , fbrowser_content() , feed_init() , fetch_post_tags() , fileas_widget() , filer_content() , filerm_content() , filestorage_content() , first_post_date() , fix_attached_photo_permissions() , fix_contact_ssl_policy() , fix_private_photos() , fix_system_urls() , follow_widget() , fsuggest_content() , fsuggest_post() , generate_user_guid() , Cache\get() , get_all_perms() , get_birthdays() , get_config_from_storage() , get_events() , gprobe_run() , group_add() , group_add_member() , group_byname() , group_content() , group_get_members() , group_post() , group_rec_byhash() , group_rmv() , group_rmv_member() , group_select() , group_side() , groups_containing() , handle_tag() , identity_basic_export() , identity_check_service_class() , import_author_xchan() , import_directory_keywords() , import_directory_profile() , import_post() , import_profile_photo() , import_site() , import_xchan() , install_plugin() , intro_content() , intro_post() , invite_post() , item_check_service_class() , item_expire() , item_message_id() , item_post() , item_store() , item_store_update() , items_fetch() , lastpost_content() , layout_select() , layouts_content() , like_content() , list_public_sites() , load_config() , load_contact_links() , load_hooks() , load_pconfig() , load_plugin() , load_translation_table() , load_xconfig() , lockview_content() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , manage_content() , match_content() , member_of() , menu_add_item() , menu_create() , menu_del_item() , menu_delete() , menu_delete_id() , menu_edit() , menu_edit_item() , menu_fetch() , menu_fetch_id() , menu_list() , message_content() , mimetype_select() , mini_group_select() , mitem_content() , mood_init() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , FKOAuthDataStore\new_request_token() , notification() , notifications_content() , notifications_post() , notifier_run() , notify_content() , notify_init() , oauth_get_client() , onepoll_run() , page_content() , pagelist_widget() , pdl_selector() , perm_is_allowed() , photo_init() , photo_new_resource() , photo_upload() , photos_album_exists() , photos_album_get_db_idstr() , photos_album_rename() , photos_albums_list() , photos_content() , photos_list_photos() , photos_post() , ping_init() , poco_init() , poco_load() , poke_content() , poke_init() , poller_run() , post_activity_item() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profile_sidebar() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , public_recips() , qsearch_init() , queue_run() , random_profile() , rconnect_url() , red_zrl_callback() , redir_init() , ref_session_destroy() , ref_session_gc() , ref_session_read() , ref_session_write() , register_content() , register_hook() , register_post() , reload_plugins() , remove_all_xchan_resources() , remove_community_tag() , remove_queue_item() , rmagic_init() , rmagic_post() , photo_driver\save() , saved_searches() , search_ac_init() , search_content() , search_init() , search_saved_searches() , send_message() , send_reg_approval_email() , send_status_notifications() , service_class_allows() , service_class_fetch() , Cache\set() , set_config() , set_default_login_identity() , set_pconfig() , set_xconfig() , settings_aside() , settings_post() , setup_content() , share_init() , siteinfo_content() , siteinfo_init() , sitelist_init() , starred_init() , photo_driver\store() , store_item_tag() , stream_perms_api_uids() , subthread_content() , suggest_init() , suggestion_query() , sync_directories() , syncdirs() , tag_deliver() , tagadelic() , tagger_content() , tagrm_content() , tagrm_post() , tgroup_check() , thing_init() , uninstall_plugin() , unregister_hook() , update_modtime() , update_queue_time() , update_suggestions() , user_allow() , user_deny() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , vote_content() , vote_init() , vote_post() , wall_attach_post() , wall_upload_post() , webpages_content() , wfinger_init() , xchan_content() , xchan_mail_query() , xchan_query() , xrd_init() , z_input_filter() , z_readdir() , zfinger_init() , zid_init() , zot_feed() , zot_finger() , zot_get_hubloc() , zot_gethub() , zot_import() , zot_process_response() , zot_refresh() , and zotfeed_init() .
+
Referenced by abook_connections() , abook_self() , abook_toggle_flag() , account_remove() , account_total() , account_verify_password() , acl_init() , add_fcontact() , admin_content() , admin_page_dbsync() , admin_page_hubloc() , admin_page_summary() , admin_page_users() , admin_page_users_post() , advanced_profile() , all_friends() , allfriends_content() , allowed_public_recips() , api_direct_messages_box() , api_direct_messages_new() , api_favorites() , api_ff_ids() , api_format_items() , api_get_user() , api_status_show() , api_statuses_f() , api_statuses_home_timeline() , api_statuses_mentions() , api_statuses_public_timeline() , api_statuses_repeat() , api_statuses_show() , api_statuses_user_timeline() , api_user() , api_users_show() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_list_files() , attach_store() , authenticate_success() , blocks_content() , build_sync_packet() , call_hooks() , categories_widget() , change_channel() , chanman_remove_everything_from_network() , channel_content() , channel_remove() , channel_total() , channelx_by_hash() , channelx_by_n() , channelx_by_nick() , chanview_content() , check_account_email() , check_account_invite() , check_config() , check_item_source() , check_webbie() , Cache\clear() , collect_recipients() , comanche_block() , common_friends() , common_friends_zcid() , common_init() , community_content() , connect_init() , connect_post() , connections_content() , connections_init() , connections_post() , consume_feed() , contact_block() , contact_profile_assign() , contact_remove() , contact_select() , contactgroup_content() , contacts_not_grouped() , count_all_friends() , count_common_friends() , count_common_friends_zcid() , create_account() , create_identity() , crepair_content() , crepair_init() , crepair_post() , current_theme() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , delete_imported_item() , delete_item_lowlevel() , deliver_run() , dfrn_deliver() , dir_tagadelic() , directory_content() , directory_run() , dirsearch_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , encode_item() , event_store() , events_content() , expand_groups() , expire_run() , fbrowser_content() , feed_init() , fetch_post_tags() , fileas_widget() , filer_content() , filerm_content() , filestorage_content() , first_post_date() , fix_attached_photo_permissions() , fix_contact_ssl_policy() , fix_private_photos() , fix_system_urls() , follow_widget() , fsuggest_content() , fsuggest_post() , generate_user_guid() , Cache\get() , get_all_perms() , get_birthdays() , get_config_from_storage() , get_events() , gprobe_run() , group_add() , group_add_member() , group_byname() , group_content() , group_get_members() , group_post() , group_rec_byhash() , group_rmv() , group_rmv_member() , group_select() , group_side() , groups_containing() , handle_tag() , identity_basic_export() , identity_check_service_class() , import_author_xchan() , import_directory_keywords() , import_directory_profile() , import_post() , import_profile_photo() , import_site() , import_xchan() , install_plugin() , intro_content() , intro_post() , invite_post() , item_check_service_class() , item_expire() , item_message_id() , item_post() , item_store() , item_store_update() , items_fetch() , lastpost_content() , layout_select() , layouts_content() , like_content() , list_public_sites() , load_config() , load_contact_links() , load_hooks() , load_pconfig() , load_plugin() , load_translation_table() , load_xconfig() , lockview_content() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , manage_content() , match_content() , member_of() , menu_add_item() , menu_create() , menu_del_item() , menu_delete() , menu_delete_id() , menu_edit() , menu_edit_item() , menu_fetch() , menu_fetch_id() , menu_list() , message_content() , mimetype_select() , mini_group_select() , mitem_content() , mood_init() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , FKOAuthDataStore\new_request_token() , notification() , notifications_content() , notifications_post() , notifier_run() , notify_content() , notify_init() , oauth_get_client() , onepoll_run() , page_content() , pagelist_widget() , pdl_selector() , perm_is_allowed() , photo_init() , photo_new_resource() , photo_upload() , photos_album_exists() , photos_album_get_db_idstr() , photos_album_rename() , photos_albums_list() , photos_content() , photos_list_photos() , photos_post() , ping_init() , poco_init() , poco_load() , poke_content() , poke_init() , poller_run() , post_activity_item() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profile_sidebar() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , public_recips() , qsearch_init() , queue_run() , random_profile() , rconnect_url() , red_zrl_callback() , redir_init() , ref_session_destroy() , ref_session_gc() , ref_session_read() , ref_session_write() , register_content() , register_hook() , register_post() , reload_plugins() , remove_all_xchan_resources() , remove_community_tag() , remove_queue_item() , rmagic_init() , rmagic_post() , photo_driver\save() , saved_searches() , search_ac_init() , search_content() , search_init() , search_saved_searches() , send_message() , send_reg_approval_email() , send_status_notifications() , service_class_allows() , service_class_fetch() , Cache\set() , set_config() , set_default_login_identity() , set_pconfig() , set_xconfig() , settings_aside() , settings_post() , setup_content() , share_init() , siteinfo_content() , siteinfo_init() , sitelist_init() , starred_init() , photo_driver\store() , store_item_tag() , stream_perms_api_uids() , stream_perms_xchans() , subthread_content() , suggest_init() , suggestion_query() , sync_directories() , syncdirs() , tag_deliver() , tagadelic() , tagger_content() , tagrm_content() , tagrm_post() , tgroup_check() , thing_init() , uninstall_plugin() , unregister_hook() , update_modtime() , update_queue_time() , update_suggestions() , user_allow() , user_deny() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , vote_content() , vote_init() , vote_post() , wall_attach_post() , wall_upload_post() , webpages_content() , wfinger_init() , xchan_content() , xchan_mail_query() , xchan_query() , xrd_init() , z_input_filter() , z_readdir() , zfinger_init() , zid_init() , zot_feed() , zot_finger() , zot_get_hubloc() , zot_gethub() , zot_import() , zot_process_response() , zot_refresh() , and zotfeed_init() .
diff --git a/doc/html/extract_8php.html b/doc/html/extract_8php.html
index c4a4c3565..20001d28c 100644
--- a/doc/html/extract_8php.html
+++ b/doc/html/extract_8php.html
@@ -132,7 +132,7 @@ Variables
-
Referenced by activity_sanitise() , add_fcontact() , api_rss_extra() , array_sanitise() , attach_store() , check_account_admin() , check_account_email() , check_account_invite() , check_account_password() , check_list_permissions() , check_webbie() , connect_content() , connections_content() , construct_page() , contact_block() , contact_select() , conversation() , create_account() , create_identity() , dbesc_array() , directory_content() , event_store() , feature_enabled() , fetch_xrd_links() , find_xchan_in_array() , format_like() , get_all_perms() , get_atom_elements() , get_features() , get_item_elements() , get_mail_elements() , get_mood_verbs() , get_poke_verbs() , get_profile_elements() , Item\get_template_data() , get_terms_oftype() , App\get_widgets() , group_select() , identity_basic_import() , ids_to_querystr() , import_directory_profile() , import_post() , import_site() , import_xchan() , item_getfeedattach() , item_store() , item_store_update() , items_fetch() , like_content() , like_puller() , load_database() , lrdd() , magic_init() , mail_store() , menu_add_item() , menu_create() , menu_edit() , menu_edit_item() , message_content() , mood_init() , network_content() , new_channel_post() , new_contact() , obj_verbs() , parse_url_content() , pdl_selector() , perm_is_allowed() , photo_upload() , photos_album_get_db_idstr() , photos_create_item() , photos_post() , ping_init() , po2php_run() , poke_init() , post_activity_item() , post_init() , post_post() , prepare_body() , proc_run() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_activity() , profile_sidebar() , profile_tabs() , profiles_content() , register_post() , remove_community_tag() , photo_driver\save() , send_reg_approval_email() , service_class_allows() , service_class_fetch() , App\set_apps() , settings_post() , sort_by_date() , stringify_array_elms() , subthread_content() , suggest_content() , tagger_content() , tagrm_content() , tagrm_post() , thing_init() , validate_channelname() , wfinger_init() , xchan_mail_query() , xchan_query() , xml2array() , xrd_init() , zfinger_init() , zid() , zid_init() , zot_fetch() , zot_get_hubloc() , zot_gethub() , zot_import() , zot_process_response() , and zot_register_hub() .
+
Referenced by activity_sanitise() , add_fcontact() , api_rss_extra() , array_sanitise() , attach_store() , check_account_admin() , check_account_email() , check_account_invite() , check_account_password() , check_list_permissions() , check_webbie() , connect_content() , connections_content() , construct_page() , contact_block() , contact_select() , conversation() , create_account() , create_identity() , dbesc_array() , directory_content() , event_store() , feature_enabled() , fetch_xrd_links() , find_xchan_in_array() , format_like() , get_all_perms() , get_atom_elements() , get_features() , get_item_elements() , get_mail_elements() , get_mood_verbs() , get_poke_verbs() , get_profile_elements() , Item\get_template_data() , get_terms_oftype() , App\get_widgets() , group_select() , identity_basic_import() , ids_to_querystr() , import_directory_profile() , import_post() , import_site() , import_xchan() , item_getfeedattach() , item_store() , item_store_update() , items_fetch() , like_content() , like_puller() , load_database() , lrdd() , magic_init() , mail_store() , menu_add_item() , menu_create() , menu_edit() , menu_edit_item() , message_content() , mood_init() , network_content() , new_channel_post() , new_contact() , obj_verbs() , parse_url_content() , pdl_selector() , perm_is_allowed() , photo_upload() , photos_album_get_db_idstr() , photos_create_item() , photos_post() , ping_init() , po2php_run() , poke_init() , post_activity_item() , post_init() , post_post() , prepare_body() , proc_run() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_activity() , profile_sidebar() , profile_tabs() , profiles_content() , register_post() , remove_community_tag() , photo_driver\save() , send_reg_approval_email() , service_class_allows() , service_class_fetch() , App\set_apps() , settings_post() , sort_by_date() , stringify_array_elms() , subthread_content() , suggest_content() , tagger_content() , tagrm_content() , tagrm_post() , thing_init() , validate_channelname() , wfinger_init() , xchan_mail_query() , xchan_query() , xml2array() , xrd_init() , zfinger_init() , zid() , zid_init() , zot_fetch() , zot_get_hubloc() , zot_gethub() , zot_import() , zot_process_response() , and zot_register_hub() .
diff --git a/doc/html/functions.html b/doc/html/functions.html
index a1218aa43..209d03587 100644
--- a/doc/html/functions.html
+++ b/doc/html/functions.html
@@ -184,6 +184,7 @@ $(document).ready(function(){initNavTree('functions.html','');});
$commentable
: Conversation
+, Item
$config
: App
@@ -224,8 +225,8 @@ $(document).ready(function(){initNavTree('functions.html','');});
, dba_driver
$debug
-: Template
-, dba_driver
+: dba_driver
+, Template
$done
: Template
@@ -286,8 +287,8 @@ $(document).ready(function(){initNavTree('functions.html','');});
: App
$name
-: FriendicaSmartyEngine
-, Template
+: Template
+, FriendicaSmartyEngine
$nav_sel
: App
@@ -296,8 +297,8 @@ $(document).ready(function(){initNavTree('functions.html','');});
: Template
$observer
-: App
-, Conversation
+: Conversation
+, App
$owner_name
: Item
diff --git a/doc/html/functions_0x69.html b/doc/html/functions_0x69.html
index 7a702c8c5..3bd5d0893 100644
--- a/doc/html/functions_0x69.html
+++ b/doc/html/functions_0x69.html
@@ -149,6 +149,7 @@ $(document).ready(function(){initNavTree('functions_0x69.html','');});
is_commentable()
: Conversation
+, Item
is_preview()
: Conversation
diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html
index 5e5535dfa..ab734fe0a 100644
--- a/doc/html/functions_0x73.html
+++ b/doc/html/functions_0x73.html
@@ -175,6 +175,9 @@ $(document).ready(function(){initNavTree('functions_0x73.html','');});
set_channel()
: App
+set_commentable()
+: Item
+
set_conversation()
: Item
@@ -221,9 +224,9 @@ $(document).ready(function(){initNavTree('functions_0x73.html','');});
: App
setDimensions()
-: photo_imagick
+: photo_gd
, photo_driver
-, photo_gd
+, photo_imagick
store()
: photo_driver
diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html
index d30dad0e1..eea6dc231 100644
--- a/doc/html/functions_func.html
+++ b/doc/html/functions_func.html
@@ -459,6 +459,7 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
is_commentable()
: Conversation
+, Item
is_preview()
: Conversation
@@ -601,6 +602,9 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
set_channel()
: App
+set_commentable()
+: Item
+
set_conversation()
: Item
@@ -647,9 +651,9 @@ $(document).ready(function(){initNavTree('functions_func.html','');});
: App
setDimensions()
-: photo_imagick
+: photo_gd
, photo_driver
-, photo_gd
+, photo_imagick
store()
: photo_driver
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
index 1fbd9bfd4..c13e2dad8 100644
--- a/doc/html/functions_vars.html
+++ b/doc/html/functions_vars.html
@@ -165,6 +165,7 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
$commentable
: Conversation
+, Item
$config
: App
@@ -205,8 +206,8 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
, dba_driver
$debug
-: Template
-, dba_driver
+: dba_driver
+, Template
$done
: Template
@@ -267,8 +268,8 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: App
$name
-: FriendicaSmartyEngine
-, Template
+: Template
+, FriendicaSmartyEngine
$nav_sel
: App
@@ -277,8 +278,8 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: Template
$observer
-: App
-, Conversation
+: Conversation
+, App
$owner_name
: Item
diff --git a/doc/html/globals_0x63.html b/doc/html/globals_0x63.html
index 41a4bfee0..c754efe95 100644
--- a/doc/html/globals_0x63.html
+++ b/doc/html/globals_0x63.html
@@ -237,6 +237,9 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
check_htconfig()
: setup.php
+check_item_source()
+: items.php
+
check_keys()
: setup.php
diff --git a/doc/html/globals_0x69.html b/doc/html/globals_0x69.html
index 961d66478..5d89cfb98 100644
--- a/doc/html/globals_0x69.html
+++ b/doc/html/globals_0x69.html
@@ -177,7 +177,7 @@ $(document).ready(function(){initNavTree('globals_0x69.html','');});
: zot.php
import_directory_profile()
-: zot.php
+: zot.php
import_post()
: import.php
@@ -189,7 +189,7 @@ $(document).ready(function(){initNavTree('globals_0x69.html','');});
: zot.php
import_xchan()
-: zot.php
+: zot.php
in_arrayi()
: text.php
diff --git a/doc/html/globals_0x70.html b/doc/html/globals_0x70.html
index c96cd5508..197fd4712 100644
--- a/doc/html/globals_0x70.html
+++ b/doc/html/globals_0x70.html
@@ -149,6 +149,9 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
, mod_new_channel.php
, mod_register.php
+PAGE_ADULT
+: boot.php
+
PAGE_APPLICATION
: boot.php
diff --git a/doc/html/globals_0x73.html b/doc/html/globals_0x73.html
index 3b97b548f..bb2d2b4f8 100644
--- a/doc/html/globals_0x73.html
+++ b/doc/html/globals_0x73.html
@@ -294,6 +294,9 @@ $(document).ready(function(){initNavTree('globals_0x73.html','');});
stream_perms_api_uids()
: security.php
+stream_perms_xchans()
+: security.php
+
string_plural_select_default()
: language.php
diff --git a/doc/html/globals_0x75.html b/doc/html/globals_0x75.html
index 02c22be8b..874255cd4 100644
--- a/doc/html/globals_0x75.html
+++ b/doc/html/globals_0x75.html
@@ -187,7 +187,7 @@ $(document).ready(function(){initNavTree('globals_0x75.html','');});
: zot.php
update_modtime()
-: zot.php
+: zot.php
update_network_content()
: update_network.php
diff --git a/doc/html/globals_0x78.html b/doc/html/globals_0x78.html
index 7aa6e4490..a7a24b033 100644
--- a/doc/html/globals_0x78.html
+++ b/doc/html/globals_0x78.html
@@ -159,6 +159,9 @@ $(document).ready(function(){initNavTree('globals_0x78.html','');});
XCHAN_FLAGS_ORPHAN
: boot.php
+XCHAN_FLAGS_SELFCENSORED
+: boot.php
+
xchan_mail_query()
: text.php
diff --git a/doc/html/globals_func_0x63.html b/doc/html/globals_func_0x63.html
index 9029ab6ad..488cf02cd 100644
--- a/doc/html/globals_func_0x63.html
+++ b/doc/html/globals_func_0x63.html
@@ -236,6 +236,9 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
check_htconfig()
: setup.php
+check_item_source()
+: items.php
+
check_keys()
: setup.php
diff --git a/doc/html/globals_func_0x69.html b/doc/html/globals_func_0x69.html
index 17ed3fecc..898c8f3df 100644
--- a/doc/html/globals_func_0x69.html
+++ b/doc/html/globals_func_0x69.html
@@ -168,7 +168,7 @@ $(document).ready(function(){initNavTree('globals_func_0x69.html','');});
: zot.php
import_directory_profile()
-: zot.php
+: zot.php
import_post()
: import.php
@@ -180,7 +180,7 @@ $(document).ready(function(){initNavTree('globals_func_0x69.html','');});
: zot.php
import_xchan()
-: zot.php
+: zot.php
in_arrayi()
: text.php
diff --git a/doc/html/globals_func_0x73.html b/doc/html/globals_func_0x73.html
index 2b6e1a481..71b938fbf 100644
--- a/doc/html/globals_func_0x73.html
+++ b/doc/html/globals_func_0x73.html
@@ -284,6 +284,9 @@ $(document).ready(function(){initNavTree('globals_func_0x73.html','');});
stream_perms_api_uids()
: security.php
+stream_perms_xchans()
+: security.php
+
string_plural_select_default()
: language.php
diff --git a/doc/html/globals_func_0x75.html b/doc/html/globals_func_0x75.html
index c6c22560d..c3a7d0455 100644
--- a/doc/html/globals_func_0x75.html
+++ b/doc/html/globals_func_0x75.html
@@ -183,7 +183,7 @@ $(document).ready(function(){initNavTree('globals_func_0x75.html','');});
: zot.php
update_modtime()
-: zot.php
+: zot.php
update_network_content()
: update_network.php
diff --git a/doc/html/globals_vars_0x70.html b/doc/html/globals_vars_0x70.html
index 9f1930d4c..0d39d843c 100644
--- a/doc/html/globals_vars_0x70.html
+++ b/doc/html/globals_vars_0x70.html
@@ -144,6 +144,9 @@ $(document).ready(function(){initNavTree('globals_vars_0x70.html','');});
, mod_new_channel.php
, mod_register.php
+PAGE_ADULT
+: boot.php
+
PAGE_APPLICATION
: boot.php
diff --git a/doc/html/globals_vars_0x78.html b/doc/html/globals_vars_0x78.html
index 663fbab58..0ae8f0067 100644
--- a/doc/html/globals_vars_0x78.html
+++ b/doc/html/globals_vars_0x78.html
@@ -148,6 +148,9 @@ $(document).ready(function(){initNavTree('globals_vars_0x78.html','');});
XCHAN_FLAGS_ORPHAN
: boot.php
+XCHAN_FLAGS_SELFCENSORED
+: boot.php
+
diff --git a/doc/html/html2plain_8php.html b/doc/html/html2plain_8php.html
index 89b965515..9a8e81a00 100644
--- a/doc/html/html2plain_8php.html
+++ b/doc/html/html2plain_8php.html
@@ -204,7 +204,7 @@ Functions
diff --git a/doc/html/identity_8php.html b/doc/html/identity_8php.html
index 891e0aa4e..e48a5e79a 100644
--- a/doc/html/identity_8php.html
+++ b/doc/html/identity_8php.html
@@ -176,7 +176,7 @@ Functions
diff --git a/doc/html/include_2config_8php.html b/doc/html/include_2config_8php.html
index c8157ee2d..b33dd13bb 100644
--- a/doc/html/include_2config_8php.html
+++ b/doc/html/include_2config_8php.html
@@ -256,7 +256,7 @@ Functions
-
Referenced by admin_page_dbsync() , admin_page_logs() , admin_page_site() , admin_page_summary() , admin_page_themes() , allowed_email() , allowed_url() , api_statuses_mentions() , api_statusnet_config() , attach_store() , build_sync_packet() , channel_content() , check_account_admin() , check_account_invite() , check_config() , cli_startup() , community_content() , create_account() , create_identity() , detect_language() , dfrn_deliver() , directory_content() , directory_run() , dirsearch_content() , display_content() , dlogger() , dob() , editblock_content() , editpost_content() , editwebpage_content() , encode_item() , encode_mail() , events_content() , expire_run() , feed_init() , fetch_url() , fetch_xrd_links() , findpeople_widget() , Item\get_comment_box() , get_item_elements() , get_mail_elements() , group_content() , hcard_init() , hostxrd_init() , photo_gd\imageString() , import_post() , import_xchan() , invite_content() , invite_post() , item_post() , item_store() , lastpost_content() , photo_imagick\load() , logger() , login() , lostpass_content() , lostpass_post() , match_content() , nav() , navbar_complete() , FKOAuthDataStore\new_access_token() , new_channel_post() , new_keypair() , notification() , notifier_run() , oembed_bbcode2html() , parse_url_content() , photo_upload() , photos_content() , photos_init() , poco_init() , poller_run() , post_post() , post_url() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , proc_run() , profile_content() , profile_create_sidebar() , profile_photo_post() , profiles_content() , profperm_content() , pubsites_content() , qsearch_init() , register_content() , register_post() , reload_plugins() , scale_external_images() , search_content() , send_message() , send_reg_approval_email() , send_verification_email() , service_class_allows() , service_class_fetch() , set_config() , settings_post() , site_default_perms() , siteinfo_content() , smilies() , unobscure() , update_suggestions() , upgrade_link() , user_allow() , valid_email() , validate_email() , viewconnections_aside() , viewconnections_content() , viewconnections_init() , webpages_content() , widget_profile() , z_fetch_url() , z_post_url() , zfinger_init() , zot_fetch() , zot_import() , and zotfeed_init() .
+
Referenced by admin_page_dbsync() , admin_page_logs() , admin_page_site() , admin_page_summary() , admin_page_themes() , allowed_email() , allowed_url() , api_statuses_mentions() , api_statusnet_config() , attach_store() , build_sync_packet() , channel_content() , check_account_admin() , check_account_invite() , check_config() , cli_startup() , community_content() , create_account() , create_identity() , detect_language() , dfrn_deliver() , directory_content() , directory_run() , dirsearch_content() , display_content() , dlogger() , dob() , editblock_content() , editpost_content() , editwebpage_content() , encode_item() , encode_mail() , events_content() , expire_run() , feed_init() , fetch_url() , fetch_xrd_links() , findpeople_widget() , Item\get_comment_box() , get_item_elements() , get_mail_elements() , group_content() , hcard_init() , hostxrd_init() , photo_gd\imageString() , import_post() , import_xchan() , invite_content() , invite_post() , item_post() , item_store() , lastpost_content() , photo_imagick\load() , logger() , login() , lostpass_content() , lostpass_post() , match_content() , nav() , navbar_complete() , FKOAuthDataStore\new_access_token() , new_channel_post() , new_keypair() , notification() , notifier_run() , oembed_bbcode2html() , parse_url_content() , photo_upload() , photos_content() , photos_init() , poco_init() , poller_run() , post_post() , post_url() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , proc_run() , profile_content() , profile_create_sidebar() , profile_photo_post() , profiles_content() , profperm_content() , pubsites_content() , qsearch_init() , register_content() , register_post() , reload_plugins() , scale_external_images() , search_content() , send_message() , send_reg_approval_email() , send_verification_email() , service_class_allows() , service_class_fetch() , set_config() , settings_post() , site_default_perms() , siteinfo_content() , smilies() , unobscure() , update_suggestions() , upgrade_link() , user_allow() , valid_email() , validate_email() , viewconnections_aside() , viewconnections_content() , viewconnections_init() , webpages_content() , widget_profile() , z_fetch_url() , z_post_url() , zfinger_init() , zot_fetch() , zot_import() , and zotfeed_init() .
@@ -324,7 +324,7 @@ Functions
-
Referenced by authenticate_success() , App\build_pagehead() , change_channel() , channel_aside() , channel_content() , community_content() , connect_content() , contact_block() , contact_remove() , conversation() , current_theme() , directory_content() , feature_enabled() , findpeople_widget() , Item\get_comment_box() , get_theme_uid() , group_content() , intro_content() , invite_content() , invite_post() , item_expire() , item_store() , item_store_update() , items_fetch() , lastpost_aside() , lastpost_content() , FKOAuth1\loginUser() , message_content() , network_content() , network_init() , notifications_content() , profile_activity() , profile_load() , profile_sidebar() , profperm_content() , remove_community_tag() , set_pconfig() , smilies() , tag_deliver() , and theme_content() .
+
Referenced by authenticate_success() , App\build_pagehead() , change_channel() , channel_aside() , channel_content() , chanview_content() , community_content() , connect_content() , contact_block() , contact_remove() , conversation() , current_theme() , directory_content() , feature_enabled() , findpeople_widget() , Item\get_comment_box() , get_theme_uid() , group_content() , intro_content() , invite_content() , invite_post() , item_expire() , item_store() , item_store_update() , items_fetch() , lastpost_aside() , lastpost_content() , FKOAuth1\loginUser() , message_content() , network_content() , network_init() , notifications_content() , profile_activity() , profile_load() , profile_sidebar() , profperm_content() , remove_community_tag() , set_pconfig() , smilies() , tag_deliver() , and theme_content() .
diff --git a/doc/html/items_8php.html b/doc/html/items_8php.html
index 09d2998ea..41b25e9fc 100644
--- a/doc/html/items_8php.html
+++ b/doc/html/items_8php.html
@@ -178,6 +178,8 @@ Functions
tgroup_check ($uid, $item)
+ check_item_source ($uid, $item)
+
mail_store ($arr)
dfrn_deliver ($owner, $contact, $atom, $dissolve=false)
@@ -392,7 +394,43 @@ Functions
+
+
+
+
+
+
+ check_item_source
+ (
+
+ $uid ,
+
+
+
+
+
+ $item
+
+
+
+ )
+
+
+
+
+
check_item_source($uid,$item)
+
Parameters
+
+ $uid
+ $item Checks to see if this item owner is referenced as a source for this channel and if the post matches the rules for inclusion in this channel. Returns true if we should create a second delivery chain and false if none of the rules apply, or if the item is private.
+
+
+
+
+
Referenced by tag_deliver() .
diff --git a/doc/html/items_8php.js b/doc/html/items_8php.js
index 70521ff4a..2e800bca3 100644
--- a/doc/html/items_8php.js
+++ b/doc/html/items_8php.js
@@ -5,6 +5,7 @@ var items_8php =
[ "atom_author", "items_8php.html#a016dd86c827d08db89061ea81d15c6cb", null ],
[ "atom_entry", "items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6", null ],
[ "can_comment_on_post", "items_8php.html#a1e75047cf175aaee8dd16aa761913ff9", null ],
+ [ "check_item_source", "items_8php.html#a87ac9e359591721a824ecd23bbb56296", null ],
[ "collect_recipients", "items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70", null ],
[ "compare_permissions", "items_8php.html#a0790a4550b829e85504af548623002ca", null ],
[ "construct_activity_object", "items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee", null ],
diff --git a/doc/html/language_8php.html b/doc/html/language_8php.html
index 4423eedab..750cf73e6 100644
--- a/doc/html/language_8php.html
+++ b/doc/html/language_8php.html
@@ -280,7 +280,7 @@ Functions
-
Referenced by admin_content() , admin_page_dbsync() , admin_page_logs() , admin_page_logs_post() , admin_page_plugins() , admin_page_site() , admin_page_site_post() , admin_page_summary() , admin_page_themes() , admin_page_users() , admin_post() , advanced_profile() , allfriends_content() , alt_pager() , api_content() , api_post() , api_statuses_public_timeline() , apps_content() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_init() , attach_list_files() , attach_store() , authenticate_success() , bb_ShareAttributes() , bbcode() , blocks_content() , categories_widget() , channel_content() , channel_init() , chanview_content() , check_account_email() , check_account_invite() , check_config() , check_form_security_std_err_msg() , check_funcs() , check_htaccess() , check_htconfig() , check_keys() , check_php() , check_smarty3() , common_content() , common_friends_visitor_widget() , common_init() , community_content() , connect_content() , connect_init() , connect_post() , connections_content() , connections_post() , construct_page() , contact_block() , contact_poll_interval() , contact_reputation() , conversation() , create_account() , create_identity() , crepair_content() , crepair_post() , datesel_format() , day_translate() , delegate_content() , design_tools() , dir_tagblock() , directory_content() , dirsearch_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , fbrowser_content() , fileas_widget() , filer_content() , filestorage_content() , findpeople_widget() , fix_attached_photo_permissions() , follow_init() , follow_widget() , format_event_diaspora() , format_event_html() , format_like() , format_notification() , fsuggest_content() , fsuggest_post() , gender_selector() , get_birthdays() , Item\get_comment_box() , get_events() , get_features() , get_mood_verbs() , get_perms() , get_plink() , get_poke_verbs() , Item\get_template_data() , group_add() , group_content() , group_post() , group_side() , hcard_init() , help_content() , identity_check_service_class() , import_channel_photo() , import_content() , import_post() , import_xchan() , dba_driver\install() , intro_content() , intro_post() , invite_content() , invite_post() , item_check_service_class() , item_photo_menu() , item_post() , item_post_type() , items_fetch() , lang_selector() , lastpost_content() , lastpost_init() , layout_select() , layouts_content() , like_content() , load_database() , localize_item() , lockview_content() , login() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , manual_config() , marital_selector() , match_content() , menu_content() , menu_post() , message_aside() , message_content() , message_post() , mimetype_select() , mini_group_select() , mitem_content() , mitem_init() , mitem_post() , mood_content() , mood_init() , nav() , network_content() , network_init() , network_to_name() , new_channel_content() , new_channel_post() , new_contact() , nogroup_content() , notification() , notifications_content() , notifications_post() , notify_content() , obj_verbs() , oembed_bbcode2html() , oembed_iframe() , oexchange_content() , page_content() , paginate() , pdl_selector() , photo_upload() , photos_album_widget() , photos_content() , photos_init() , photos_post() , ping_init() , poke_content() , poke_init() , populate_acl() , post_activity_item() , post_init() , posted_date_widget() , prepare_body() , profile_activity() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , pubsites_content() , redbasic_form() , register_content() , register_post() , regmod_content() , relative_date() , removeme_content() , rmagic_content() , saved_searches() , scale_external_images() , search() , search_content() , search_saved_searches() , select_timezone() , send_message() , send_reg_approval_email() , send_verification_email() , settings_aside() , settings_post() , setup_content() , sexpref_selector() , siteinfo_content() , subthread_content() , suggest_content() , tagblock() , tagger_content() , tagrm_content() , tagrm_post() , thing_content() , thing_init() , timezone_cmp() , update_channel_content() , update_community_content() , update_display_content() , update_network_content() , update_search_content() , upgrade_bool_message() , upgrade_link() , upgrade_message() , user_allow() , user_deny() , validate_channelname() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , vote_content() , wall_upload_post() , webpages_content() , what_next() , writepages_widget() , xchan_content() , z_readdir() , and zfinger_init() .
+
Referenced by admin_content() , admin_page_dbsync() , admin_page_hubloc() , admin_page_logs() , admin_page_logs_post() , admin_page_plugins() , admin_page_site() , admin_page_site_post() , admin_page_summary() , admin_page_themes() , admin_page_users() , admin_post() , advanced_profile() , allfriends_content() , alt_pager() , api_content() , api_post() , api_statuses_public_timeline() , apps_content() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_init() , attach_list_files() , attach_store() , authenticate_success() , bb_ShareAttributes() , bbcode() , blocks_content() , categories_widget() , channel_content() , channel_init() , chanview_content() , check_account_email() , check_account_invite() , check_config() , check_form_security_std_err_msg() , check_funcs() , check_htaccess() , check_htconfig() , check_keys() , check_php() , check_smarty3() , common_content() , common_friends_visitor_widget() , common_init() , community_content() , connect_content() , connect_init() , connect_post() , connections_content() , connections_post() , construct_page() , contact_block() , contact_poll_interval() , contact_reputation() , conversation() , create_account() , create_identity() , crepair_content() , crepair_post() , datesel_format() , day_translate() , delegate_content() , design_tools() , dir_tagblock() , directory_content() , dirsearch_content() , display_content() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , events_post() , fbrowser_content() , fileas_widget() , filer_content() , filestorage_content() , findpeople_widget() , fix_attached_photo_permissions() , follow_init() , follow_widget() , format_event_diaspora() , format_event_html() , format_like() , format_notification() , fsuggest_content() , fsuggest_post() , gender_selector() , get_birthdays() , Item\get_comment_box() , get_events() , get_features() , get_mood_verbs() , get_perms() , get_plink() , get_poke_verbs() , Item\get_template_data() , group_add() , group_content() , group_post() , group_side() , hcard_init() , help_content() , identity_check_service_class() , import_channel_photo() , import_content() , import_post() , import_xchan() , dba_driver\install() , intro_content() , intro_post() , invite_content() , invite_post() , item_check_service_class() , item_photo_menu() , item_post() , item_post_type() , items_fetch() , lang_selector() , lastpost_content() , lastpost_init() , layout_select() , layouts_content() , like_content() , load_database() , localize_item() , lockview_content() , login() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , manual_config() , marital_selector() , match_content() , menu_content() , menu_post() , message_aside() , message_content() , message_post() , mimetype_select() , mini_group_select() , mitem_content() , mitem_init() , mitem_post() , mood_content() , mood_init() , nav() , network_content() , network_init() , network_to_name() , new_channel_content() , new_channel_post() , new_contact() , nogroup_content() , notification() , notifications_content() , notifications_post() , notify_content() , obj_verbs() , oembed_bbcode2html() , oembed_iframe() , oexchange_content() , page_content() , paginate() , pdl_selector() , photo_upload() , photos_album_widget() , photos_content() , photos_init() , photos_post() , ping_init() , poke_content() , poke_init() , populate_acl() , post_activity_item() , post_init() , posted_date_widget() , prepare_body() , profile_activity() , profile_content() , profile_init() , profile_load() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_content() , profiles_init() , profiles_post() , profperm_content() , pubsites_content() , redbasic_form() , register_content() , register_post() , regmod_content() , relative_date() , removeme_content() , rmagic_content() , saved_searches() , scale_external_images() , search() , search_content() , search_saved_searches() , select_timezone() , send_message() , send_reg_approval_email() , send_verification_email() , settings_aside() , settings_post() , setup_content() , sexpref_selector() , siteinfo_content() , subthread_content() , suggest_content() , tagblock() , tagger_content() , tagrm_content() , tagrm_post() , thing_content() , thing_init() , timezone_cmp() , update_channel_content() , update_community_content() , update_display_content() , update_network_content() , update_search_content() , upgrade_bool_message() , upgrade_link() , upgrade_message() , user_allow() , user_deny() , validate_channelname() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , vote_content() , wall_upload_post() , webpages_content() , what_next() , writepages_widget() , xchan_content() , z_readdir() , and zfinger_init() .
diff --git a/doc/html/navtree.js b/doc/html/navtree.js
index 438a93cb9..001fbfa3e 100644
--- a/doc/html/navtree.js
+++ b/doc/html/navtree.js
@@ -36,13 +36,13 @@ var NAVTREE =
var NAVTREEINDEX =
[
"BaseObject_8php.html",
-"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b",
-"classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118",
-"datetime_8php.html",
-"html2plain_8php.html#a3214912e3d00cf0a948072daccf16740",
-"language_8php.html#a632da17c7ac0d2dc1a00a4706870194b",
-"redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a",
-"thing_8php.html"
+"boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90",
+"classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6",
+"crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96",
+"html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7",
+"items_8php.html#ae73794179b62d39bb597ff670ab1c1e5",
+"randprof_8php.html",
+"text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js
index 9386dbdb3..25ffcc15f 100644
--- a/doc/html/navtreeindex0.js
+++ b/doc/html/navtreeindex0.js
@@ -95,18 +95,18 @@ var NAVTREEINDEX0 =
"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[5,0,4,140],
"boot_8php.html#a01353c9abebc3544ea080ac161729632":[5,0,4,43],
"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[5,0,4,153],
-"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[5,0,4,245],
+"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[5,0,4,246],
"boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8":[5,0,4,62],
"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[5,0,4,169],
"boot_8php.html#a0450389f24c632906fbc24347700a543":[5,0,4,54],
"boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b":[5,0,4,110],
"boot_8php.html#a081307d681d7d04f17b9ced2076e7c85":[5,0,4,1],
-"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[5,0,4,207],
+"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[5,0,4,208],
"boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562":[5,0,4,75],
"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[5,0,4,173],
-"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[5,0,4,261],
-"boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe":[5,0,4,257],
-"boot_8php.html#a0d877df1e20bae765e1708be50f6b503":[5,0,4,260],
+"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[5,0,4,262],
+"boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe":[5,0,4,258],
+"boot_8php.html#a0d877df1e20bae765e1708be50f6b503":[5,0,4,261],
"boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84":[5,0,4,26],
"boot_8php.html#a0e57f846e6d47a308feced0f7274f178":[5,0,4,67],
"boot_8php.html#a0e6db7e365f2b041a828b93786f694bc":[5,0,4,15],
@@ -118,107 +118,108 @@ var NAVTREEINDEX0 =
"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[5,0,4,152],
"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[5,0,4,148],
"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[5,0,4,172],
-"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[5,0,4,265],
-"boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc":[5,0,4,239],
-"boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f":[5,0,4,266],
+"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[5,0,4,266],
+"boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc":[5,0,4,240],
+"boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f":[5,0,4,267],
"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[5,0,4,176],
"boot_8php.html#a1da180f961f49a11573cac4ff6c62c05":[5,0,4,84],
-"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[5,0,4,218],
+"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[5,0,4,219],
"boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273":[5,0,4,39],
"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[5,0,4,112],
"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[5,0,4,159],
"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[5,0,4,192],
-"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[5,0,4,241],
+"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[5,0,4,242],
"boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5":[5,0,4,49],
"boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77":[5,0,4,25],
"boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8":[5,0,4,108],
"boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f":[5,0,4,100],
-"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[5,0,4,250],
+"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[5,0,4,251],
"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[5,0,4,195],
"boot_8php.html#a29528a2544373cc19a378f350040c6a1":[5,0,4,91],
"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[5,0,4,135],
-"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[5,0,4,216],
+"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[5,0,4,217],
"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[5,0,4,113],
-"boot_8php.html#a2b525996e4426bdddbcec277778bde08":[5,0,4,237],
+"boot_8php.html#a2b525996e4426bdddbcec277778bde08":[5,0,4,238],
"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[5,0,4,191],
"boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d":[5,0,4,132],
"boot_8php.html#a2e90096fede6acce16abf0da8cb2febe":[5,0,4,76],
"boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab":[5,0,4,81],
-"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[5,0,4,223],
+"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[5,0,4,224],
"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[5,0,4,146],
"boot_8php.html#a34c756469ebed32e2fc987bcde62d382":[5,0,4,51],
"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[5,0,4,125],
"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[5,0,4,161],
-"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[5,0,4,268],
+"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[5,0,4,270],
"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[5,0,4,180],
"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[5,0,4,115],
"boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456":[5,0,4,120],
-"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[5,0,4,267],
-"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[5,0,4,214],
+"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[5,0,4,269],
+"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[5,0,4,215],
"boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4":[5,0,4,12],
"boot_8php.html#a3e2ea123d29a72012db1241f96280b0e":[5,0,4,68],
"boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77":[5,0,4,98],
"boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a":[5,0,4,60],
"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[5,0,4,136],
-"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[5,0,4,210],
+"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[5,0,4,211],
"boot_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc":[5,0,4,38],
"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[5,0,4,190],
"boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731":[5,0,4,97],
"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[5,0,4,166],
"boot_8php.html#a44ae1542a805ffd7f826fb511db07374":[5,0,4,156],
"boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f":[5,0,4,79],
-"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[5,0,4,258],
+"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[5,0,4,259],
"boot_8php.html#a4751b522ea913d0e7ed43e03d22e9e68":[5,0,4,37],
"boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2":[5,0,4,20],
"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[5,0,4,178],
"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[5,0,4,111],
-"boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4":[5,0,4,231],
+"boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4":[5,0,4,232],
"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[5,0,4,177],
"boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3":[5,0,4,6],
-"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[5,0,4,209],
-"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[5,0,4,227],
+"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[5,0,4,210],
+"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[5,0,4,228],
"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[5,0,4,202],
"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[5,0,4,160],
"boot_8php.html#a52b599cd13e152ebc80d7e4413683195":[5,0,4,50],
"boot_8php.html#a53e4bdb6f225da55115acb9277f75e53":[5,0,4,90],
"boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209":[5,0,4,40],
"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[5,0,4,194],
-"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[5,0,4,226],
+"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[5,0,4,227],
+"boot_8php.html#a5a681a672e007cdc22b43345d71f07c6":[5,0,4,268],
"boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1":[5,0,4,24],
"boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434":[5,0,4,69],
"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[5,0,4,184],
"boot_8php.html#a5b815330f3d177ab383af37a6c12e532":[5,0,4,47],
-"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[5,0,4,205],
+"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[5,0,4,206],
"boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4":[5,0,4,87],
"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[5,0,4,164],
-"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[5,0,4,206],
+"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[5,0,4,207],
"boot_8php.html#a623e49c79943f3e7bdb770d021683cf7":[5,0,4,22],
"boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5":[5,0,4,83],
-"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[5,0,4,254],
+"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[5,0,4,255],
"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[5,0,4,170],
"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[5,0,4,144],
"boot_8php.html#a680fbafc2db023c5b1309e0180e81315":[5,0,4,48],
"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[5,0,4,147],
"boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155":[5,0,4,53],
"boot_8php.html#a6969947145a139ec374ce098224d8e81":[5,0,4,150],
-"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[5,0,4,243],
-"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[5,0,4,230],
-"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[5,0,4,224],
+"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[5,0,4,244],
+"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[5,0,4,231],
+"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[5,0,4,225],
"boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd":[5,0,4,109],
"boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9":[5,0,4,101],
-"boot_8php.html#a6df1102664f64b274810db85197c2755":[5,0,4,212],
+"boot_8php.html#a6df1102664f64b274810db85197c2755":[5,0,4,213],
"boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d":[5,0,4,134],
-"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[5,0,4,242],
+"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[5,0,4,243],
"boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6":[5,0,4,31],
"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[5,0,4,185],
"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[5,0,4,138],
"boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab":[5,0,4,80],
"boot_8php.html#a75a90b0eadd0df510f7e63210733634d":[5,0,4,2],
-"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[5,0,4,262],
+"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[5,0,4,263],
"boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006":[5,0,4,4],
"boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966":[5,0,4,82],
"boot_8php.html#a781916f83fcc8ff1035649afa45f0292":[5,0,4,95],
-"boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383":[5,0,4,233],
+"boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383":[5,0,4,234],
"boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c":[5,0,4,121],
"boot_8php.html#a7aa57438db03834aaa0b468bdce773a6":[5,0,4,73],
"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[5,0,4,137],
@@ -229,25 +230,24 @@ var NAVTREEINDEX0 =
"boot_8php.html#a7f3474fec541e261fc8dff47313c4017":[5,0,4,57],
"boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866":[5,0,4,92],
"boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf":[5,0,4,123],
-"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[5,0,4,203],
+"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[5,0,4,204],
"boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8":[5,0,4,61],
"boot_8php.html#a845891f82bf6edd7fa2d578b66703112":[5,0,4,118],
"boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688":[5,0,4,65],
"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[5,0,4,130],
-"boot_8php.html#a882b666adfe21f035a0f8c02806066d6":[5,0,4,253],
-"boot_8php.html#a8892374789fd261eb32a7969d934a14a":[5,0,4,252],
+"boot_8php.html#a882b666adfe21f035a0f8c02806066d6":[5,0,4,254],
+"boot_8php.html#a8892374789fd261eb32a7969d934a14a":[5,0,4,253],
"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[5,0,4,183],
"boot_8php.html#a899d24fd074594ceebbf72e1feff335f":[5,0,4,17],
"boot_8php.html#a8a60cc38bb567765fd926fef70205f16":[5,0,4,106],
-"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[5,0,4,228],
+"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[5,0,4,229],
"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[5,0,4,133],
"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[5,0,4,127],
-"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[5,0,4,235],
+"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[5,0,4,236],
"boot_8php.html#a9255af5ae9c887520091ea04763c1a88":[5,0,4,34],
"boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3":[5,0,4,11],
"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[5,0,4,151],
"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[5,0,4,131],
"boot_8php.html#a949116d9a295b214293006c060ca4848":[5,0,4,129],
-"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[5,0,4,240],
-"boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90":[5,0,4,19]
+"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[5,0,4,241]
};
diff --git a/doc/html/navtreeindex1.js b/doc/html/navtreeindex1.js
index b285b454d..0e196d879 100644
--- a/doc/html/navtreeindex1.js
+++ b/doc/html/navtreeindex1.js
@@ -1,16 +1,17 @@
var NAVTREEINDEX1 =
{
+"boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90":[5,0,4,19],
"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[5,0,4,197],
-"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[5,0,4,229],
+"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[5,0,4,230],
"boot_8php.html#a9c80420e5a063a4a87ce4831f086134d":[5,0,4,56],
"boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e":[5,0,4,5],
-"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[5,0,4,221],
+"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[5,0,4,222],
"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[5,0,4,198],
-"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[5,0,4,255],
-"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[5,0,4,220],
+"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[5,0,4,256],
+"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[5,0,4,221],
"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[5,0,4,186],
"boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e":[5,0,4,29],
-"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[5,0,4,204],
+"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[5,0,4,205],
"boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6":[5,0,4,52],
"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[5,0,4,158],
"boot_8php.html#aa4221641e5c21db69fa52c426b9017f5":[5,0,4,9],
@@ -19,18 +20,18 @@ var NAVTREEINDEX1 =
"boot_8php.html#aa589421267f0c2f0d643f727792cce35":[5,0,4,117],
"boot_8php.html#aa74438cf71e48e37bf7b440b94243985":[5,0,4,94],
"boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d":[5,0,4,103],
-"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[5,0,4,225],
+"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[5,0,4,226],
"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[5,0,4,142],
"boot_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3":[5,0,4,23],
"boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14":[5,0,4,74],
"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[5,0,4,189],
"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[5,0,4,122],
-"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[5,0,4,211],
+"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[5,0,4,212],
"boot_8php.html#ab346a2ece14993861f3e4206befa94f0":[5,0,4,35],
-"boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8":[5,0,4,208],
-"boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0":[5,0,4,232],
+"boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8":[5,0,4,209],
+"boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0":[5,0,4,233],
"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[5,0,4,182],
-"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[5,0,4,215],
+"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[5,0,4,216],
"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[5,0,4,116],
"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[5,0,4,143],
"boot_8php.html#ab55e545b72ec8c097e052ea7d373491f":[5,0,4,44],
@@ -39,20 +40,20 @@ var NAVTREEINDEX1 =
"boot_8php.html#ab79b8b4555cae20d03f8200666d89d63":[5,0,4,7],
"boot_8php.html#ab7d65a7e7417825a4db62906bb600729":[5,0,4,105],
"boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda":[5,0,4,45],
-"boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86":[5,0,4,236],
+"boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86":[5,0,4,237],
"boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7":[5,0,4,3],
-"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[5,0,4,259],
+"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[5,0,4,260],
"boot_8php.html#abdcdfc873ace4e0902177bad934de0c0":[5,0,4,72],
"boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1":[5,0,4,119],
"boot_8php.html#abedd940e664017c61b48c6efa31d0cb8":[5,0,4,104],
"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[5,0,4,128],
"boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c":[5,0,4,28],
"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[5,0,4,168],
-"boot_8php.html#ac43182e0d8bae7576a30b603774974f8":[5,0,4,234],
+"boot_8php.html#ac43182e0d8bae7576a30b603774974f8":[5,0,4,235],
"boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03":[5,0,4,102],
"boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0":[5,0,4,42],
"boot_8php.html#ac8400313df2c831653f9036f71ebd86d":[5,0,4,64],
-"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[5,0,4,263],
+"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[5,0,4,264],
"boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20":[5,0,4,124],
"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[5,0,4,126],
"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[5,0,4,196],
@@ -60,8 +61,9 @@ var NAVTREEINDEX1 =
"boot_8php.html#aca5e42678e178c6b9034610d66666fd7":[5,0,4,13],
"boot_8php.html#acc4e0c910af066148b810e5fde55fff1":[5,0,4,8],
"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[5,0,4,171],
-"boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e":[5,0,4,264],
-"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[5,0,4,222],
+"boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e":[5,0,4,265],
+"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[5,0,4,223],
+"boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32":[5,0,4,203],
"boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3":[5,0,4,71],
"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[5,0,4,154],
"boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5":[5,0,4,162],
@@ -71,45 +73,45 @@ var NAVTREEINDEX1 =
"boot_8php.html#ad34c1547020a305915bcc39707744690":[5,0,4,93],
"boot_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620":[5,0,4,36],
"boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44":[5,0,4,32],
-"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[5,0,4,217],
-"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[5,0,4,244],
-"boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5":[5,0,4,238],
+"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[5,0,4,218],
+"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[5,0,4,245],
+"boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5":[5,0,4,239],
"boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29":[5,0,4,99],
"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[5,0,4,139],
-"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[5,0,4,247],
+"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[5,0,4,248],
"boot_8php.html#add517a0958ac684792c62142a3877f81":[5,0,4,46],
"boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498":[5,0,4,27],
-"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[5,0,4,251],
+"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[5,0,4,252],
"boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312":[5,0,4,18],
"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[5,0,4,179],
"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[5,0,4,157],
"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[5,0,4,187],
"boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c":[5,0,4,30],
-"boot_8php.html#aead84fa27d7516b855220fe004964a45":[5,0,4,256],
+"boot_8php.html#aead84fa27d7516b855220fe004964a45":[5,0,4,257],
"boot_8php.html#aeb1039302affcbe7e8872c01c08c88f8":[5,0,4,58],
-"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[5,0,4,219],
+"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[5,0,4,220],
"boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53":[5,0,4,163],
"boot_8php.html#aedfb9501ed408278667995524e0d15cf":[5,0,4,107],
"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[5,0,4,174],
"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[5,0,4,188],
"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[5,0,4,141],
"boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4":[5,0,4,33],
-"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[5,0,4,248],
+"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[5,0,4,249],
"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[5,0,4,181],
"boot_8php.html#af3a4271630aabd8be592213f925d6a36":[5,0,4,66],
"boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9":[5,0,4,59],
"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[5,0,4,145],
"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[5,0,4,201],
"boot_8php.html#af6f6f6f40139f12fc09ec47373b30919":[5,0,4,96],
-"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[5,0,4,246],
+"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[5,0,4,247],
"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[5,0,4,193],
"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[5,0,4,175],
-"boot_8php.html#afb97615e985a013799839b68b99018d7":[5,0,4,249],
+"boot_8php.html#afb97615e985a013799839b68b99018d7":[5,0,4,250],
"boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4":[5,0,4,55],
"boot_8php.html#afe084c30a1810c10442edb4fbcbc0086":[5,0,4,88],
"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[5,0,4,149],
"boot_8php.html#afe88b920aa285982edb817a0dd44eb37":[5,0,4,14],
-"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[5,0,4,213],
+"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[5,0,4,214],
"cache_8php.html":[5,0,0,11],
"channel_8php.html":[5,0,1,9],
"channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1":[5,0,1,9,1],
@@ -247,7 +249,5 @@ var NAVTREEINDEX1 =
"classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819":[4,0,14,0],
"classFriendicaSmarty.html":[4,0,15],
"classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690":[4,0,15,2],
-"classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9":[4,0,15,1],
-"classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6":[4,0,15,0],
-"classFriendicaSmartyEngine.html":[4,0,16]
+"classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9":[4,0,15,1]
};
diff --git a/doc/html/navtreeindex2.js b/doc/html/navtreeindex2.js
index 74258f637..c8a20e774 100644
--- a/doc/html/navtreeindex2.js
+++ b/doc/html/navtreeindex2.js
@@ -1,52 +1,57 @@
var NAVTREEINDEX2 =
{
+"classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6":[4,0,15,0],
+"classFriendicaSmartyEngine.html":[4,0,16],
"classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118":[4,0,16,1],
"classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88":[4,0,16,2],
"classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6":[4,0,16,0],
"classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2":[4,0,16,3],
"classItem.html":[4,0,17],
-"classItem.html#a007424e3e3171dcfb4312a02161da6cd":[4,0,17,30],
-"classItem.html#a078f95b4134ce3a1df344cf8d386f986":[4,0,17,33],
+"classItem.html#a007424e3e3171dcfb4312a02161da6cd":[4,0,17,33],
+"classItem.html#a078f95b4134ce3a1df344cf8d386f986":[4,0,17,36],
"classItem.html#a0c301aaed2b7d682728d18db3a22afa3":[4,0,17,8],
-"classItem.html#a1a1e42877e6ac7af50286142ceb483d2":[4,0,17,35],
-"classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2":[4,0,17,38],
+"classItem.html#a1a1e42877e6ac7af50286142ceb483d2":[4,0,17,38],
+"classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2":[4,0,17,41],
"classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2":[4,0,17,0],
-"classItem.html#a2ce70ef63f9f4d86a09c351678806925":[4,0,17,23],
+"classItem.html#a2ce70ef63f9f4d86a09c351678806925":[4,0,17,24],
"classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf":[4,0,17,6],
"classItem.html#a428f448f89a8629055ea3294eb942aea":[4,0,17,16],
-"classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8":[4,0,17,40],
+"classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8":[4,0,17,43],
"classItem.html#a4b92e3a9d6212c553aa2661489bd95d8":[4,0,17,15],
-"classItem.html#a5b2fafdca55aefeaa08993a5a60529f0":[4,0,17,19],
-"classItem.html#a5b561415861f5b89b0733aacfe0428d1":[4,0,17,36],
-"classItem.html#a5cfa6cf964f433a917a81cab079ff9d8":[4,0,17,39],
-"classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189":[4,0,17,41],
+"classItem.html#a5b2fafdca55aefeaa08993a5a60529f0":[4,0,17,20],
+"classItem.html#a5b561415861f5b89b0733aacfe0428d1":[4,0,17,39],
+"classItem.html#a5cfa6cf964f433a917a81cab079ff9d8":[4,0,17,42],
+"classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189":[4,0,17,44],
"classItem.html#a632185dd25c5caf277067c76230a4320":[4,0,17,4],
"classItem.html#a67892aa23d19f4431bb2e5f43c74000e":[4,0,17,12],
-"classItem.html#a7f7bc059de377319282cb4ef4a828480":[4,0,17,37],
-"classItem.html#a80dcd0fb7673776c0967839d429c2a0f":[4,0,17,28],
+"classItem.html#a7f7bc059de377319282cb4ef4a828480":[4,0,17,40],
+"classItem.html#a80dcd0fb7673776c0967839d429c2a0f":[4,0,17,30],
"classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51":[4,0,17,1],
"classItem.html#a904421c7a427411bb2ab473bca872f63":[4,0,17,7],
-"classItem.html#a90743c8348b13213275c223bb9333aa0":[4,0,17,29],
-"classItem.html#a9594df6014b0b6f45364ea7a34510130":[4,0,17,32],
-"classItem.html#a97c7feeea7f26a73176cb19faa455e12":[4,0,17,21],
-"classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7":[4,0,17,26],
+"classItem.html#a90743c8348b13213275c223bb9333aa0":[4,0,17,31],
+"classItem.html#a9594df6014b0b6f45364ea7a34510130":[4,0,17,35],
+"classItem.html#a97c7feeea7f26a73176cb19faa455e12":[4,0,17,22],
+"classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7":[4,0,17,28],
"classItem.html#a9f2d219da712390f59012fc32a342074":[4,0,17,14],
"classItem.html#aa0ee775ec94abccec6c798428835d001":[4,0,17,5],
-"classItem.html#aa452b5bcd8dea12119b09212c615cb41":[4,0,17,24],
-"classItem.html#aa49e40f961dff66da32c5ae110e32993":[4,0,17,20],
+"classItem.html#aa1bd19fc8b5577078530265a7bf64123":[4,0,17,26],
+"classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304":[4,0,17,32],
+"classItem.html#aa452b5bcd8dea12119b09212c615cb41":[4,0,17,25],
+"classItem.html#aa49e40f961dff66da32c5ae110e32993":[4,0,17,21],
"classItem.html#aa541bc4290e51bfd688d6921bebabc73":[4,0,17,13],
-"classItem.html#aa8b1bbc4236890694635295e46d7fd72":[4,0,17,25],
-"classItem.html#aabf87ded59c25b5fe2b2296678e70509":[4,0,17,22],
+"classItem.html#aa8b1bbc4236890694635295e46d7fd72":[4,0,17,27],
+"classItem.html#aabf87ded59c25b5fe2b2296678e70509":[4,0,17,23],
"classItem.html#aba23a0a9d89e316d2b343cc46d695d91":[4,0,17,17],
"classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8":[4,0,17,2],
+"classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967":[4,0,17,19],
"classItem.html#ac0f27e58532612f6e7a54c8a621b9b92":[4,0,17,11],
"classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c":[4,0,17,10],
"classItem.html#aca1e66988ed00cd627b2a359b72cd0ae":[4,0,17,3],
-"classItem.html#acc32426c0f465391be8a99ad810c7b8e":[4,0,17,27],
+"classItem.html#acc32426c0f465391be8a99ad810c7b8e":[4,0,17,29],
"classItem.html#ad3638f93065693c1f69eb349feb1b7aa":[4,0,17,9],
"classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8":[4,0,17,18],
-"classItem.html#aec24e233f9098f902b1e57e60dcb2019":[4,0,17,31],
-"classItem.html#afa54851df82962c7c42dea3cc9f5c92c":[4,0,17,34],
+"classItem.html#aec24e233f9098f902b1e57e60dcb2019":[4,0,17,34],
+"classItem.html#afa54851df82962c7c42dea3cc9f5c92c":[4,0,17,37],
"classProtoDriver.html":[4,0,22],
"classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a":[4,0,22,0],
"classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d":[4,0,22,2],
@@ -244,10 +249,5 @@ var NAVTREEINDEX2 =
"crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286":[5,0,0,23,2],
"crypto_8php.html#a5c61821d205f95f127114159cbffa764":[5,0,0,23,1],
"crypto_8php.html#a920e5f222d0020f47556033d8b2b6552":[5,0,0,23,7],
-"crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a":[5,0,0,23,4],
-"crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96":[5,0,0,23,8],
-"crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9":[5,0,0,23,0],
-"crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85":[5,0,0,23,6],
-"crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914":[5,0,0,23,3],
-"crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec":[5,0,0,23,5]
+"crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a":[5,0,0,23,4]
};
diff --git a/doc/html/navtreeindex3.js b/doc/html/navtreeindex3.js
index 47fa85406..16b565527 100644
--- a/doc/html/navtreeindex3.js
+++ b/doc/html/navtreeindex3.js
@@ -1,5 +1,10 @@
var NAVTREEINDEX3 =
{
+"crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96":[5,0,0,23,8],
+"crypto_8php.html#ac852ee41392d1358c3a54d54935e0bf9":[5,0,0,23,0],
+"crypto_8php.html#ac95ac3b1b23b65b04a86613d4206ae85":[5,0,0,23,6],
+"crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914":[5,0,0,23,3],
+"crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec":[5,0,0,23,5],
"datetime_8php.html":[5,0,0,24],
"datetime_8php.html#a03900dcf0f9e3c58793a031673a70326":[5,0,0,24,6],
"datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1":[5,0,0,24,11],
@@ -183,8 +188,8 @@ var NAVTREEINDEX3 =
"globals_0x77.html":[5,1,0,24],
"globals_0x78.html":[5,1,0,25],
"globals_0x7a.html":[5,1,0,26],
-"globals_func.html":[5,1,1,0],
"globals_func.html":[5,1,1],
+"globals_func.html":[5,1,1,0],
"globals_func_0x61.html":[5,1,1,1],
"globals_func_0x62.html":[5,1,1,2],
"globals_func_0x63.html":[5,1,1,3],
@@ -210,8 +215,8 @@ var NAVTREEINDEX3 =
"globals_func_0x77.html":[5,1,1,23],
"globals_func_0x78.html":[5,1,1,24],
"globals_func_0x7a.html":[5,1,1,25],
-"globals_vars.html":[5,1,2],
"globals_vars.html":[5,1,2,0],
+"globals_vars.html":[5,1,2],
"globals_vars_0x61.html":[5,1,2,1],
"globals_vars_0x63.html":[5,1,2,2],
"globals_vars_0x64.html":[5,1,2,3],
@@ -244,10 +249,5 @@ var NAVTREEINDEX3 =
"home_8php.html":[5,0,1,36],
"hostxrd_8php.html":[5,0,1,37],
"hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92":[5,0,1,37,0],
-"html2bbcode_8php.html":[5,0,0,36],
-"html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7":[5,0,0,36,3],
-"html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837":[5,0,0,36,1],
-"html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2":[5,0,0,36,0],
-"html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8":[5,0,0,36,2],
-"html2plain_8php.html":[5,0,0,37]
+"html2bbcode_8php.html":[5,0,0,36]
};
diff --git a/doc/html/navtreeindex4.js b/doc/html/navtreeindex4.js
index bae12a1c2..1b894c77e 100644
--- a/doc/html/navtreeindex4.js
+++ b/doc/html/navtreeindex4.js
@@ -1,5 +1,10 @@
var NAVTREEINDEX4 =
{
+"html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7":[5,0,0,36,3],
+"html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837":[5,0,0,36,1],
+"html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2":[5,0,0,36,0],
+"html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8":[5,0,0,36,2],
+"html2plain_8php.html":[5,0,0,37],
"html2plain_8php.html#a3214912e3d00cf0a948072daccf16740":[5,0,0,37,0],
"html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0":[5,0,0,37,3],
"html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04":[5,0,0,37,2],
@@ -194,60 +199,55 @@ var NAVTREEINDEX4 =
"item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10":[5,0,1,41,1],
"item_8php.html#abd0e603a6696051af16476eb968d52e7":[5,0,1,41,2],
"items_8php.html":[5,0,0,41],
-"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[5,0,0,41,53],
+"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[5,0,0,41,54],
"items_8php.html#a016dd86c827d08db89061ea81d15c6cb":[5,0,0,41,2],
-"items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70":[5,0,0,41,5],
-"items_8php.html#a04a35b610acfe54434df08adec39c0c7":[5,0,0,41,27],
-"items_8php.html#a0790a4550b829e85504af548623002ca":[5,0,0,41,6],
-"items_8php.html#a079e099e15d88d47aeb6ca6d60da7107":[5,0,0,41,32],
-"items_8php.html#a09d425596b9f8663472cf7474ad36d96":[5,0,0,41,36],
-"items_8php.html#a0cf98bb619f07dd18f602683a55a5f59":[5,0,0,41,24],
+"items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70":[5,0,0,41,6],
+"items_8php.html#a04a35b610acfe54434df08adec39c0c7":[5,0,0,41,28],
+"items_8php.html#a0790a4550b829e85504af548623002ca":[5,0,0,41,7],
+"items_8php.html#a079e099e15d88d47aeb6ca6d60da7107":[5,0,0,41,33],
+"items_8php.html#a09d425596b9f8663472cf7474ad36d96":[5,0,0,41,37],
+"items_8php.html#a0cf98bb619f07dd18f602683a55a5f59":[5,0,0,41,25],
"items_8php.html#a1e75047cf175aaee8dd16aa761913ff9":[5,0,0,41,4],
-"items_8php.html#a251343637ff40a50cca93452cd530c26":[5,0,0,41,31],
-"items_8php.html#a2541e6861a56d145c9281877cc501615":[5,0,0,41,38],
+"items_8php.html#a251343637ff40a50cca93452cd530c26":[5,0,0,41,32],
+"items_8php.html#a2541e6861a56d145c9281877cc501615":[5,0,0,41,39],
"items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6":[5,0,0,41,3],
-"items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259":[5,0,0,41,12],
-"items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7":[5,0,0,41,20],
+"items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259":[5,0,0,41,13],
+"items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7":[5,0,0,41,21],
"items_8php.html#a36e656667193c83aa2cc03a024fc131b":[5,0,0,41,0],
-"items_8php.html#a410f9c743877c125ca06312373346903":[5,0,0,41,44],
-"items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b":[5,0,0,41,47],
-"items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361":[5,0,0,41,29],
-"items_8php.html#a566c601726697e044e75284af7fb6f17":[5,0,0,41,19],
-"items_8php.html#a56b2a4abcadfac71175cd50555528cc3":[5,0,0,41,11],
-"items_8php.html#a5f690fc2484abec07840b4f9dd525bd9":[5,0,0,41,17],
-"items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7":[5,0,0,41,37],
-"items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55":[5,0,0,41,15],
-"items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc":[5,0,0,41,35],
-"items_8php.html#a756738301f2ed96be50232500677d58a":[5,0,0,41,40],
-"items_8php.html#a77051724d1784074ff187e73a4db93fe":[5,0,0,41,33],
-"items_8php.html#a77da7ce9a117601d49ac4a67c71b514f":[5,0,0,41,42],
-"items_8php.html#a82955cc578f0fa600acec84475026194":[5,0,0,41,16],
-"items_8php.html#a8395d189a36abfa0dfff81a2b0e70669":[5,0,0,41,13],
-"items_8php.html#a8794863cdf8ce1333040933d3a3f66bd":[5,0,0,41,10],
-"items_8php.html#a88c6cf7649ac836fbbed82a7a0315110":[5,0,0,41,51],
-"items_8php.html#a896c1809d58f2d7a42cfe14577958ddf":[5,0,0,41,26],
-"items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8":[5,0,0,41,9],
-"items_8php.html#a94ddb1d6c8fa21dd7433677e85168037":[5,0,0,41,30],
-"items_8php.html#aa371905f0a211b307cb3f7188c6cba04":[5,0,0,41,52],
-"items_8php.html#aa579bc4445d60098b1410961ca8e96b7":[5,0,0,41,8],
-"items_8php.html#aa723c0571e314a1853a24c5854b4f54f":[5,0,0,41,21],
-"items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee":[5,0,0,41,7],
-"items_8php.html#aab9c6bae4c40799867596bdaae9829fd":[5,0,0,41,28],
-"items_8php.html#aab9e0c58247427126de0699c729c3b6c":[5,0,0,41,48],
-"items_8php.html#ab1bce4261bcf75ad62753b498a144d17":[5,0,0,41,49],
-"items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87":[5,0,0,41,25],
-"items_8php.html#abe695dd89e1e10ed042c26b80114f0ed":[5,0,0,41,45],
+"items_8php.html#a410f9c743877c125ca06312373346903":[5,0,0,41,45],
+"items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b":[5,0,0,41,48],
+"items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361":[5,0,0,41,30],
+"items_8php.html#a566c601726697e044e75284af7fb6f17":[5,0,0,41,20],
+"items_8php.html#a56b2a4abcadfac71175cd50555528cc3":[5,0,0,41,12],
+"items_8php.html#a5f690fc2484abec07840b4f9dd525bd9":[5,0,0,41,18],
+"items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7":[5,0,0,41,38],
+"items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55":[5,0,0,41,16],
+"items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc":[5,0,0,41,36],
+"items_8php.html#a756738301f2ed96be50232500677d58a":[5,0,0,41,41],
+"items_8php.html#a77051724d1784074ff187e73a4db93fe":[5,0,0,41,34],
+"items_8php.html#a77da7ce9a117601d49ac4a67c71b514f":[5,0,0,41,43],
+"items_8php.html#a82955cc578f0fa600acec84475026194":[5,0,0,41,17],
+"items_8php.html#a8395d189a36abfa0dfff81a2b0e70669":[5,0,0,41,14],
+"items_8php.html#a8794863cdf8ce1333040933d3a3f66bd":[5,0,0,41,11],
+"items_8php.html#a87ac9e359591721a824ecd23bbb56296":[5,0,0,41,5],
+"items_8php.html#a88c6cf7649ac836fbbed82a7a0315110":[5,0,0,41,52],
+"items_8php.html#a896c1809d58f2d7a42cfe14577958ddf":[5,0,0,41,27],
+"items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8":[5,0,0,41,10],
+"items_8php.html#a94ddb1d6c8fa21dd7433677e85168037":[5,0,0,41,31],
+"items_8php.html#aa371905f0a211b307cb3f7188c6cba04":[5,0,0,41,53],
+"items_8php.html#aa579bc4445d60098b1410961ca8e96b7":[5,0,0,41,9],
+"items_8php.html#aa723c0571e314a1853a24c5854b4f54f":[5,0,0,41,22],
+"items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee":[5,0,0,41,8],
+"items_8php.html#aab9c6bae4c40799867596bdaae9829fd":[5,0,0,41,29],
+"items_8php.html#aab9e0c58247427126de0699c729c3b6c":[5,0,0,41,49],
+"items_8php.html#ab1bce4261bcf75ad62753b498a144d17":[5,0,0,41,50],
+"items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87":[5,0,0,41,26],
+"items_8php.html#abe695dd89e1e10ed042c26b80114f0ed":[5,0,0,41,46],
"items_8php.html#abf7a1b73eb352d79acd36309b0dababd":[5,0,0,41,1],
-"items_8php.html#ac1fcf621dce7370515b420a7753f4726":[5,0,0,41,43],
-"items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a":[5,0,0,41,18],
-"items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484":[5,0,0,41,39],
-"items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0":[5,0,0,41,46],
-"items_8php.html#ad34827ed330898456783fb14c7b46154":[5,0,0,41,50],
-"items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9":[5,0,0,41,23],
-"items_8php.html#ae73794179b62d39bb597ff670ab1c1e5":[5,0,0,41,34],
-"items_8php.html#af94c281016c6c912d06e064113336c5c":[5,0,0,41,41],
-"items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1":[5,0,0,41,14],
-"items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67":[5,0,0,41,22],
-"language_8php.html":[5,0,0,42],
-"language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0":[5,0,0,42,6]
+"items_8php.html#ac1fcf621dce7370515b420a7753f4726":[5,0,0,41,44],
+"items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a":[5,0,0,41,19],
+"items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484":[5,0,0,41,40],
+"items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0":[5,0,0,41,47],
+"items_8php.html#ad34827ed330898456783fb14c7b46154":[5,0,0,41,51],
+"items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9":[5,0,0,41,24]
};
diff --git a/doc/html/navtreeindex5.js b/doc/html/navtreeindex5.js
index eced1806e..6369f1d24 100644
--- a/doc/html/navtreeindex5.js
+++ b/doc/html/navtreeindex5.js
@@ -1,5 +1,11 @@
var NAVTREEINDEX5 =
{
+"items_8php.html#ae73794179b62d39bb597ff670ab1c1e5":[5,0,0,41,35],
+"items_8php.html#af94c281016c6c912d06e064113336c5c":[5,0,0,41,42],
+"items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1":[5,0,0,41,15],
+"items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67":[5,0,0,41,23],
+"language_8php.html":[5,0,0,42],
+"language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0":[5,0,0,42,6],
"language_8php.html#a632da17c7ac0d2dc1a00a4706870194b":[5,0,0,42,0],
"language_8php.html#a78bd204955ec4cc3a9ac651285a1689d":[5,0,0,42,4],
"language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05":[5,0,0,42,3],
@@ -87,20 +93,20 @@ var NAVTREEINDEX5 =
"mood_8php.html#a7ae136dd7476865b4828136175db5022":[5,0,1,54,1],
"msearch_8php.html":[5,0,1,55],
"msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8":[5,0,1,55,0],
-"namespaceFriendica.html":[3,0,1],
"namespaceFriendica.html":[4,0,1],
+"namespaceFriendica.html":[3,0,1],
"namespaceacl__selectors.html":[4,0,0],
"namespaceacl__selectors.html":[3,0,0],
-"namespacefriendica-to-smarty-tpl.html":[4,0,2],
"namespacefriendica-to-smarty-tpl.html":[3,0,2],
+"namespacefriendica-to-smarty-tpl.html":[4,0,2],
"namespacemembers.html":[3,1,0],
"namespacemembers_func.html":[3,1,1],
"namespacemembers_vars.html":[3,1,2],
"namespaces.html":[3,0],
"namespaceupdatetpl.html":[3,0,3],
"namespaceupdatetpl.html":[4,0,3],
-"namespaceutil.html":[4,0,4],
"namespaceutil.html":[3,0,4],
+"namespaceutil.html":[4,0,4],
"nav_8php.html":[5,0,0,45],
"nav_8php.html#a43be0df73b90647ea70947ce004e231e":[5,0,0,45,0],
"nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a":[5,0,0,45,1],
@@ -243,11 +249,5 @@ var NAVTREEINDEX5 =
"queue_8php.html#af8c93de86d866c3200174c8450a0f341":[5,0,0,60,0],
"queue__fn_8php.html":[5,0,0,61],
"queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1":[5,0,0,61,1],
-"queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24":[5,0,0,61,0],
-"randprof_8php.html":[5,0,1,81],
-"randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090":[5,0,1,81,0],
-"redbasic_2php_2style_8php.html":[5,0,3,1,0,0,1],
-"redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd":[5,0,3,1,0,0,1,14],
-"redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba":[5,0,3,1,0,0,1,5],
-"redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70":[5,0,3,1,0,0,1,13]
+"queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24":[5,0,0,61,0]
};
diff --git a/doc/html/navtreeindex6.js b/doc/html/navtreeindex6.js
index 8e739b433..65cee9f8c 100644
--- a/doc/html/navtreeindex6.js
+++ b/doc/html/navtreeindex6.js
@@ -1,5 +1,11 @@
var NAVTREEINDEX6 =
{
+"randprof_8php.html":[5,0,1,81],
+"randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090":[5,0,1,81,0],
+"redbasic_2php_2style_8php.html":[5,0,3,1,0,0,1],
+"redbasic_2php_2style_8php.html#a02d39b683a42fffbb27823d3860283bd":[5,0,3,1,0,0,1,14],
+"redbasic_2php_2style_8php.html#a03a72942b7428fd9af1224770d20a8ba":[5,0,3,1,0,0,1,5],
+"redbasic_2php_2style_8php.html#a0b942d36d8862908864e2ffa4521be70":[5,0,3,1,0,0,1,13],
"redbasic_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a":[5,0,3,1,0,0,1,17],
"redbasic_2php_2style_8php.html#a232513bf4339fe34908c4c63cb93168b":[5,0,3,1,0,0,1,4],
"redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab":[5,0,3,1,0,0,1,0],
@@ -64,6 +70,7 @@ var NAVTREEINDEX6 =
"search__ac_8php.html":[5,0,1,89],
"search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138":[5,0,1,89,0],
"security_8php.html":[5,0,0,62],
+"security_8php.html#a15e0f8f511cc06192db63387f97238b3":[5,0,0,62,11],
"security_8php.html#a20f8b9851f23ee8894b8925584ef6821":[5,0,0,62,2],
"security_8php.html#a444ac867dfa8c37cf0a7a226412bee28":[5,0,0,62,4],
"security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433":[5,0,0,62,5],
@@ -242,12 +249,5 @@ var NAVTREEINDEX6 =
"text_8php.html#ae4df74296fbe55051ed3c035e55205e5":[5,0,0,68,55],
"text_8php.html#ae4f6881d7e13623f8eded6277595112a":[5,0,0,68,23],
"text_8php.html#af8a3e3a66a7b862d4510f145d2e13186":[5,0,0,68,0],
-"text_8php.html#afc998d2796a6b2a08e96f7cc061e7221":[5,0,0,68,60],
-"text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28":[5,0,0,68,22],
-"text_8php.html#afe18627c4983ee5f7c940a0992818cd5":[5,0,0,68,12],
-"text_8php.html#afe54312607d92f7ce9593f5760831f80":[5,0,0,68,56],
-"text_8php.html#afe9f178d264d44a94dc1292aaf0fd585":[5,0,0,68,51],
-"theme_2redstrap_2php_2default_8php.html":[5,0,3,1,1,0,1],
-"theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762":[5,0,3,1,1,0,1,0],
-"theme_2redstrap_2php_2theme__init_8php.html":[5,0,3,1,1,0,4]
+"text_8php.html#afc998d2796a6b2a08e96f7cc061e7221":[5,0,0,68,60]
};
diff --git a/doc/html/navtreeindex7.js b/doc/html/navtreeindex7.js
index 7cb67d5a8..90efb65cb 100644
--- a/doc/html/navtreeindex7.js
+++ b/doc/html/navtreeindex7.js
@@ -1,5 +1,12 @@
var NAVTREEINDEX7 =
{
+"text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28":[5,0,0,68,22],
+"text_8php.html#afe18627c4983ee5f7c940a0992818cd5":[5,0,0,68,12],
+"text_8php.html#afe54312607d92f7ce9593f5760831f80":[5,0,0,68,56],
+"text_8php.html#afe9f178d264d44a94dc1292aaf0fd585":[5,0,0,68,51],
+"theme_2redstrap_2php_2default_8php.html":[5,0,3,1,1,0,1],
+"theme_2redstrap_2php_2default_8php.html#a23bc1996b18e69c1a3ab44536613a762":[5,0,3,1,1,0,1,0],
+"theme_2redstrap_2php_2theme__init_8php.html":[5,0,3,1,1,0,4],
"thing_8php.html":[5,0,1,101],
"thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b":[5,0,1,101,0],
"thing_8php.html#a8be23b1d475ec3d9291999221c674c80":[5,0,1,101,1],
@@ -81,8 +88,8 @@ var NAVTREEINDEX7 =
"zot_8php.html#a37ec13b18057634eadb071f05297f5e1":[5,0,0,69,8],
"zot_8php.html#a3862b3161b2c8557dc1a95020179bd81":[5,0,0,69,15],
"zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a":[5,0,0,69,3],
-"zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32":[5,0,0,69,4],
"zot_8php.html#a55056e863a7860bc0cf922e78fcce073":[5,0,0,69,19],
+"zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1":[5,0,0,69,6],
"zot_8php.html#a5bcdfef419b16075a0eca990956223dc":[5,0,0,69,24],
"zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea":[5,0,0,69,16],
"zot_8php.html#a703f528ade8382cf374e4119bd6f7859":[5,0,0,69,0],
@@ -92,14 +99,14 @@ var NAVTREEINDEX7 =
"zot_8php.html#a9a57b40669351c9791126b925cb7ef3b":[5,0,0,69,10],
"zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc":[5,0,0,69,9],
"zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10":[5,0,0,69,12],
-"zot_8php.html#ab0227978011d8601494a7651fa26acf0":[5,0,0,69,6],
"zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7":[5,0,0,69,21],
+"zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd":[5,0,0,69,14],
"zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142":[5,0,0,69,25],
-"zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63":[5,0,0,69,14],
"zot_8php.html#ac301c67864917c35922257950ae0f95c":[5,0,0,69,7],
"zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7":[5,0,0,69,1],
"zot_8php.html#acdea9362d78a63dce948fdf0ea73ef0e":[5,0,0,69,18],
"zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72":[5,0,0,69,2],
+"zot_8php.html#aeec89da5b6ff090c63a79de4de884a35":[5,0,0,69,4],
"zotfeed_8php.html":[5,0,1,121],
"zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac":[5,0,1,121,0],
"zping_8php.html":[5,0,1,122],
diff --git a/doc/html/photo__driver_8php.html b/doc/html/photo__driver_8php.html
index 152219830..a35d02b1e 100644
--- a/doc/html/photo__driver_8php.html
+++ b/doc/html/photo__driver_8php.html
@@ -226,7 +226,7 @@ Functions
diff --git a/doc/html/php2po_8php.html b/doc/html/php2po_8php.html
index 782da345d..81173174e 100644
--- a/doc/html/php2po_8php.html
+++ b/doc/html/php2po_8php.html
@@ -168,7 +168,7 @@ Variables
-
Referenced by App\__construct() , Template\_get_var() , Template\_replcb_for() , activity_sanitise() , advanced_profile() , aes_encapsulate() , aes_unencapsulate() , build_sync_packet() , connections_content() , connections_post() , construct_page() , contact_poll_interval() , contact_reputation() , dirsearch_content() , get_plugin_info() , get_theme_info() , guess_image_type() , import_directory_profile() , item_photo_menu() , item_store_update() , load_config() , load_pconfig() , load_xconfig() , message_post() , mood_content() , network_init() , new_contact() , FKOAuthDataStore\new_request_token() , obj_verb_selector() , photos_albums_list() , po2php_run() , poco_init() , poke_content() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , process_channel_sync_delivery() , requestdata() , App\set_widget() , settings_post() , startup() , syncdirs() , tt() , vote_post() , x() , zfinger_init() , and zot_refresh() .
+
Referenced by App\__construct() , Template\_get_var() , Template\_replcb_for() , activity_sanitise() , advanced_profile() , aes_encapsulate() , aes_unencapsulate() , build_sync_packet() , connections_content() , connections_post() , construct_page() , contact_poll_interval() , contact_reputation() , dirsearch_content() , get_plugin_info() , get_theme_info() , guess_image_type() , import_directory_profile() , item_photo_menu() , item_store_update() , load_config() , load_pconfig() , load_xconfig() , message_post() , mood_content() , network_init() , new_contact() , FKOAuthDataStore\new_request_token() , obj_verb_selector() , photos_albums_list() , po2php_run() , poco_init() , poke_content() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , process_channel_sync_delivery() , requestdata() , App\set_widget() , settings_post() , startup() , syncdirs() , tt() , vote_post() , x() , zfinger_init() , and zot_refresh() .
diff --git a/doc/html/plugin_8php.html b/doc/html/plugin_8php.html
index 32ac2b22c..ed3fa7e03 100644
--- a/doc/html/plugin_8php.html
+++ b/doc/html/plugin_8php.html
@@ -190,7 +190,7 @@ Functions
-
Referenced by api_login() , atom_author() , atom_entry() , authenticate_success() , avatar_img() , bb2diaspora() , bbcode() , channel_remove() , check_account_email() , check_account_invite() , check_account_password() , connect_content() , connections_content() , connections_post() , contact_block() , contact_select() , conversation() , create_identity() , cronhooks_run() , directory_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , event_store() , feature_enabled() , gender_selector() , get_all_perms() , get_atom_elements() , get_features() , get_feed_for() , get_mood_verbs() , get_perms() , get_poke_verbs() , Item\get_template_data() , App\get_widgets() , group_select() , html2bbcode() , import_directory_profile() , item_photo_menu() , item_post() , item_store() , item_store_update() , like_content() , login() , magic_init() , mail_store() , marital_selector() , mood_init() , nav() , network_content() , network_to_name() , new_contact() , notification() , notifier_run() , obj_verbs() , oembed_fetch_url() , parse_url_content() , pdl_selector() , perm_is_allowed() , photo_upload() , photos_content() , ping_init() , post_activity_item() , post_init() , prepare_body() , proc_run() , profile_content() , profile_sidebar() , profile_tabs() , profiles_content() , profiles_post() , settings_post() , sexpref_selector() , siteinfo_content() , smilies() , subthread_content() , validate_channelname() , wfinger_init() , xrd_init() , zid() , and zid_init() .
+
Referenced by api_login() , atom_author() , atom_entry() , authenticate_success() , avatar_img() , bb2diaspora() , bbcode() , channel_remove() , check_account_email() , check_account_invite() , check_account_password() , connect_content() , connections_content() , connections_post() , contact_block() , contact_select() , conversation() , create_identity() , cronhooks_run() , directory_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , event_store() , feature_enabled() , gender_selector() , get_all_perms() , get_atom_elements() , get_features() , get_feed_for() , get_mood_verbs() , get_perms() , get_poke_verbs() , Item\get_template_data() , App\get_widgets() , group_select() , html2bbcode() , import_directory_profile() , item_photo_menu() , item_post() , item_store() , item_store_update() , like_content() , login() , magic_init() , mail_store() , marital_selector() , mood_init() , nav() , network_content() , network_to_name() , new_contact() , notification() , notifier_run() , obj_verbs() , oembed_fetch_url() , parse_url_content() , pdl_selector() , perm_is_allowed() , photo_upload() , photos_content() , ping_init() , post_activity_item() , post_init() , prepare_body() , proc_run() , profile_content() , profile_sidebar() , profile_tabs() , profiles_content() , profiles_post() , settings_post() , sexpref_selector() , siteinfo_content() , smilies() , subthread_content() , validate_channelname() , wfinger_init() , xrd_init() , zid() , and zid_init() .
@@ -282,7 +282,7 @@ Functions
-
Referenced by admin_content() , admin_page_dbsync() , admin_page_logs() , admin_page_plugins() , admin_page_site() , admin_page_summary() , admin_page_themes() , admin_page_users() , advanced_profile() , allfriends_content() , alt_pager() , api_apply_template() , api_content() , apps_content() , blocks_content() , App\build_pagehead() , categories_widget() , channel_content() , chanview_content() , check_php() , common_content() , common_friends_visitor_widget() , connect_content() , connections_content() , construct_page() , contact_block() , conversation() , crepair_content() , delegate_content() , directory_content() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , fbrowser_content() , field_timezone() , fileas_widget() , filer_content() , filestorage_content() , findpeople_widget() , follow_widget() , get_birthdays() , Item\get_comment_box() , get_events() , get_feed_for() , group_content() , group_side() , help_content() , hostxrd_init() , import_content() , intro_content() , invite_content() , lang_selector() , lastpost_content() , layouts_content() , login() , lostpass_content() , manage_content() , match_content() , menu_content() , menu_render() , message_aside() , message_content() , micropro() , mini_group_select() , mitem_content() , mood_content() , nav() , network_content() , new_channel_content() , nogroup_content() , notification() , notifications_content() , notify_content() , oembed_format_object() , oexchange_init() , opensearch_init() , pagelist_widget() , photos_album_widget() , photos_content() , poco_init() , poke_content() , populate_acl() , posted_date_widget() , profile_sidebar() , profile_tabs() , profiles_content() , redbasic_form() , register_content() , removeme_content() , rmagic_content() , saved_searches() , search_content() , settings_aside() , setup_content() , siteinfo_content() , suggest_content() , thing_content() , vcard_from_xchan() , viewconnections_content() , vote_content() , webpages_content() , writepages_widget() , and xrd_init() .
+
Referenced by admin_content() , admin_page_dbsync() , admin_page_hubloc() , admin_page_logs() , admin_page_plugins() , admin_page_site() , admin_page_summary() , admin_page_themes() , admin_page_users() , advanced_profile() , allfriends_content() , alt_pager() , api_apply_template() , api_content() , apps_content() , blocks_content() , App\build_pagehead() , categories_widget() , channel_content() , chanview_content() , check_php() , common_content() , common_friends_visitor_widget() , connect_content() , connections_content() , construct_page() , contact_block() , conversation() , crepair_content() , delegate_content() , directory_content() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , fbrowser_content() , field_timezone() , fileas_widget() , filer_content() , filestorage_content() , findpeople_widget() , follow_widget() , get_birthdays() , Item\get_comment_box() , get_events() , get_feed_for() , group_content() , group_side() , help_content() , hostxrd_init() , import_content() , intro_content() , invite_content() , lang_selector() , lastpost_content() , layouts_content() , login() , lostpass_content() , manage_content() , match_content() , menu_content() , menu_render() , message_aside() , message_content() , micropro() , mini_group_select() , mitem_content() , mood_content() , nav() , network_content() , new_channel_content() , nogroup_content() , notification() , notifications_content() , notify_content() , oembed_format_object() , oexchange_init() , opensearch_init() , pagelist_widget() , photos_album_widget() , photos_content() , poco_init() , poke_content() , populate_acl() , posted_date_widget() , profile_sidebar() , profile_tabs() , profiles_content() , redbasic_form() , register_content() , removeme_content() , rmagic_content() , saved_searches() , search_content() , settings_aside() , setup_content() , siteinfo_content() , suggest_content() , thing_content() , vcard_from_xchan() , viewconnections_content() , vote_content() , webpages_content() , writepages_widget() , and xrd_init() .
diff --git a/doc/html/redbasic_2php_2style_8php.html b/doc/html/redbasic_2php_2style_8php.html
index 20796dd9d..8ce95fff5 100644
--- a/doc/html/redbasic_2php_2style_8php.html
+++ b/doc/html/redbasic_2php_2style_8php.html
@@ -386,7 +386,7 @@ Variables
-
Referenced by admin_page_users() , admin_page_users_post() , all_friends() , build_sync_packet() , check_list_permissions() , common_friends() , common_friends_zcid() , contacts_not_grouped() , count_all_friends() , count_common_friends() , count_common_friends_zcid() , current_theme_url() , del_pconfig() , delete_imported_item() , drop_items() , events_post() , feature_enabled() , first_post_date() , fix_attached_photo_permissions() , fix_private_photos() , follow_init() , follow_widget() , get_all_perms() , get_pconfig() , get_theme_uid() , group_add() , group_add_member() , group_byname() , group_rec_byhash() , group_rmv() , group_rmv_member() , groups_containing() , import_channel_photo() , item_expire() , item_post() , item_store_update() , items_fetch() , load_contact_links() , load_pconfig() , FKOAuth1\loginUser() , menu_add_item() , menu_del_item() , menu_delete() , menu_delete_id() , menu_edit_item() , menu_fetch() , mini_group_select() , mood_init() , new_contact() , notifier_run() , pdl_selector() , perm_is_allowed() , photo_init() , poke_init() , posted_date_widget() , posted_dates() , private_messages_list() , remove_community_tag() , send_message() , service_class_allows() , service_class_fetch() , set_pconfig() , Conversation\set_profile_owner() , photo_driver\store() , store_item_tag() , suggestion_query() , syncdirs() , tag_deliver() , tagadelic() , tagblock() , tgroup_check() , and zot_feed() .
+
Referenced by admin_page_users() , admin_page_users_post() , all_friends() , build_sync_packet() , check_item_source() , check_list_permissions() , common_friends() , common_friends_zcid() , contacts_not_grouped() , count_all_friends() , count_common_friends() , count_common_friends_zcid() , current_theme_url() , del_pconfig() , delete_imported_item() , drop_items() , events_post() , feature_enabled() , first_post_date() , fix_attached_photo_permissions() , fix_private_photos() , follow_init() , follow_widget() , get_all_perms() , get_pconfig() , get_theme_uid() , group_add() , group_add_member() , group_byname() , group_rec_byhash() , group_rmv() , group_rmv_member() , groups_containing() , import_channel_photo() , item_expire() , item_post() , item_store_update() , items_fetch() , load_contact_links() , load_pconfig() , FKOAuth1\loginUser() , menu_add_item() , menu_del_item() , menu_delete() , menu_delete_id() , menu_edit_item() , menu_fetch() , mini_group_select() , mood_init() , new_contact() , notifier_run() , pdl_selector() , perm_is_allowed() , photo_init() , poke_init() , posted_date_widget() , posted_dates() , private_messages_list() , remove_community_tag() , send_message() , service_class_allows() , service_class_fetch() , set_pconfig() , Conversation\set_profile_owner() , photo_driver\store() , store_item_tag() , suggestion_query() , syncdirs() , tag_deliver() , tagadelic() , tagblock() , tgroup_check() , and zot_feed() .
@@ -400,7 +400,7 @@ Variables
-
Referenced by Template\_replcb_for() , Template\_replcb_if() , account_remove() , acl_init() , activity_sanitise() , admin_page_themes() , aes_encapsulate() , argv() , array_sanitise() , attach_store() , autoname() , blocks_content() , build_sync_packet() , change_channel() , channel_content() , check_config() , check_form_security_token() , check_list_permissions() , check_webbie() , common_init() , construct_page() , conversation() , crepair_post() , photo_gd\cropImage() , photo_imagick\cropImage() , datesel() , datesel_format() , decode_tags() , deliver_run() , dir_tagadelic() , directory_content() , directory_run() , display_content() , email_header_encode() , encode_item() , encode_mail() , event_store() , expand_groups() , feature_enabled() , fetch_post_tags() , find_xchan_in_array() , findpeople_widget() , fix_private_photos() , fix_system_urls() , photo_gd\flip() , fsuggest_post() , generate_user_guid() , get_all_perms() , get_item_elements() , get_mail_elements() , get_mentions() , get_profile_elements() , get_terms_oftype() , gprobe_run() , ids_to_querystr() , import_author_xchan() , import_directory_keywords() , import_directory_profile() , import_post() , import_xchan() , invite_content() , invite_post() , item_post() , json_decode_plus() , json_return_and_die() , lastpost_content() , layouts_content() , legal_webbie() , lrdd() , magic_init() , manage_content() , match_content() , menu_content() , menu_delete_id() , menu_fetch() , menu_render() , message_post() , mimetype_select() , navbar_complete() , network_content() , network_init() , new_channel_init() , new_contact() , notification() , notifier_run() , oembed_fetch_url() , onepoll_run() , parse_xml_string() , perm_is_allowed() , photos_post() , ping_init() , poco_load() , poller_run() , post_init() , post_post() , preg_heart() , prepare_body() , print_template() , private_messages_list() , proc_run() , process_mail_delivery() , profile_init() , profile_load() , profile_photo_post() , public_recips() , dba_mysql\q() , dba_mysqli\q() , randprof_init() , remove_community_tag() , photo_driver\save() , search_ac_init() , send_status_notifications() , App\set_widget() , site_default_perms() , smilies() , photo_driver\store() , stringify_array_elms() , sync_directories() , tag_deliver() , tagadelic() , tagrm_content() , tagrm_post() , theme_status() , timesel() , toggle_theme() , update_imported_item() , upgrade_bool_message() , upgrade_message() , valid_email() , webpages_content() , xchan_query() , xmlify() , zfinger_init() , zot_process_response() , zot_refresh() , and zot_register_hub() .
+
Referenced by Template\_replcb_for() , Template\_replcb_if() , account_remove() , acl_init() , activity_sanitise() , admin_page_themes() , aes_encapsulate() , argv() , array_sanitise() , attach_store() , autoname() , blocks_content() , build_sync_packet() , change_channel() , channel_content() , check_config() , check_form_security_token() , check_list_permissions() , check_webbie() , common_init() , construct_page() , conversation() , crepair_post() , photo_gd\cropImage() , photo_imagick\cropImage() , datesel() , datesel_format() , decode_tags() , deliver_run() , dir_tagadelic() , directory_content() , directory_run() , display_content() , email_header_encode() , encode_item() , encode_mail() , event_store() , expand_groups() , feature_enabled() , fetch_post_tags() , find_xchan_in_array() , findpeople_widget() , fix_private_photos() , fix_system_urls() , photo_gd\flip() , fsuggest_post() , generate_user_guid() , get_all_perms() , get_item_elements() , get_mail_elements() , get_mentions() , get_profile_elements() , get_terms_oftype() , gprobe_run() , ids_to_querystr() , import_author_xchan() , import_directory_keywords() , import_directory_profile() , import_post() , import_xchan() , invite_content() , invite_post() , item_post() , json_decode_plus() , json_return_and_die() , lastpost_content() , layouts_content() , legal_webbie() , lrdd() , magic_init() , manage_content() , match_content() , menu_content() , menu_delete_id() , menu_fetch() , menu_render() , message_post() , mimetype_select() , navbar_complete() , network_content() , network_init() , new_channel_init() , new_contact() , notification() , notifier_run() , oembed_fetch_url() , onepoll_run() , parse_xml_string() , perm_is_allowed() , photos_post() , ping_init() , poco_load() , poller_run() , post_init() , post_post() , preg_heart() , prepare_body() , print_template() , private_messages_list() , proc_run() , process_mail_delivery() , profile_init() , profile_load() , profile_photo_post() , public_recips() , dba_mysql\q() , dba_mysqli\q() , randprof_init() , remove_community_tag() , photo_driver\save() , search_ac_init() , send_status_notifications() , App\set_widget() , site_default_perms() , smilies() , photo_driver\store() , stringify_array_elms() , sync_directories() , tag_deliver() , tagadelic() , tagrm_content() , tagrm_post() , theme_status() , timesel() , toggle_theme() , update_imported_item() , upgrade_bool_message() , upgrade_message() , valid_email() , webpages_content() , xchan_query() , xmlify() , zfinger_init() , zot_process_response() , zot_refresh() , and zot_register_hub() .
diff --git a/doc/html/search/all_24.js b/doc/html/search/all_24.js
index 9a60a349f..4c567bcfe 100644
--- a/doc/html/search/all_24.js
+++ b/doc/html/search/all_24.js
@@ -19,7 +19,7 @@ var searchData=
['_24cmd',['$cmd',['../classApp.html#a495ec082c2719314e536070ca1ce073d',1,'App']]],
['_24colour',['$colour',['../redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour(): style.php'],['../redstrap_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour(): style.php']]],
['_24comment_5fbox_5ftemplate',['$comment_box_template',['../classItem.html#a90743c8348b13213275c223bb9333aa0',1,'Item']]],
- ['_24commentable',['$commentable',['../classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6',1,'Conversation']]],
+ ['_24commentable',['$commentable',['../classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6',1,'Conversation\$commentable()'],['../classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304',1,'Item\$commentable()']]],
['_24config',['$config',['../classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88',1,'App']]],
['_24connected',['$connected',['../classdba__driver.html#a205f6535e399700b6fca2492f96f2229',1,'dba_driver']]],
['_24contact',['$contact',['../classApp.html#a98ef4cfd36693a3457c879b76bc6d694',1,'App']]],
diff --git a/doc/html/search/all_63.js b/doc/html/search/all_63.js
index 2e93528cb..b4bef5619 100644
--- a/doc/html/search/all_63.js
+++ b/doc/html/search/all_63.js
@@ -38,6 +38,7 @@ var searchData=
['check_5ffuncs',['check_funcs',['../setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e',1,'setup.php']]],
['check_5fhtaccess',['check_htaccess',['../setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4',1,'setup.php']]],
['check_5fhtconfig',['check_htconfig',['../setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f',1,'setup.php']]],
+ ['check_5fitem_5fsource',['check_item_source',['../items_8php.html#a87ac9e359591721a824ecd23bbb56296',1,'items.php']]],
['check_5fkeys',['check_keys',['../setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76',1,'setup.php']]],
['check_5flist_5fpermissions',['check_list_permissions',['../permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7',1,'permissions.php']]],
['check_5fphp',['check_php',['../setup_8php.html#a14d208682a88632290c895d20da6e7d6',1,'setup.php']]],
diff --git a/doc/html/search/all_69.js b/doc/html/search/all_69.js
index d3a506a80..ce5a4472a 100644
--- a/doc/html/search/all_69.js
+++ b/doc/html/search/all_69.js
@@ -12,11 +12,11 @@ var searchData=
['import_5fchannel_5fphoto',['import_channel_photo',['../photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a',1,'photo_driver.php']]],
['import_5fcontent',['import_content',['../import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184',1,'import.php']]],
['import_5fdirectory_5fkeywords',['import_directory_keywords',['../zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a',1,'zot.php']]],
- ['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32',1,'zot.php']]],
+ ['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#aeec89da5b6ff090c63a79de4de884a35',1,'zot.php']]],
['import_5fpost',['import_post',['../import_8php.html#af17fef0410518f7eac205d0ea416eaa2',1,'import.php']]],
['import_5fprofile_5fphoto',['import_profile_photo',['../photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca',1,'photo_driver.php']]],
['import_5fsite',['import_site',['../zot_8php.html#a2657e141d62d5f67ad3c87651b585299',1,'zot.php']]],
- ['import_5fxchan',['import_xchan',['../zot_8php.html#ab0227978011d8601494a7651fa26acf0',1,'zot.php']]],
+ ['import_5fxchan',['import_xchan',['../zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1',1,'zot.php']]],
['in_5farrayi',['in_arrayi',['../text_8php.html#a75c326298519ed14ebe762194c8a3f2a',1,'text.php']]],
['info',['info',['../boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498',1,'boot.php']]],
['install',['install',['../classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746',1,'dba_driver']]],
@@ -30,7 +30,7 @@ var searchData=
['invite_5fpost',['invite_post',['../invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5',1,'invite.php']]],
['is_5fa_5fdate_5farg',['is_a_date_arg',['../text_8php.html#a1557112a774ec00fa06ed6b6f6495506',1,'text.php']]],
['is_5fajax',['is_ajax',['../boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c',1,'boot.php']]],
- ['is_5fcommentable',['is_commentable',['../classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3',1,'Conversation']]],
+ ['is_5fcommentable',['is_commentable',['../classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3',1,'Conversation\is_commentable()'],['../classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967',1,'Item\is_commentable()']]],
['is_5fpreview',['is_preview',['../classConversation.html#adf25ce023b69a166c63c6e84e02c136a',1,'Conversation']]],
['is_5fsite_5fadmin',['is_site_admin',['../boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e',1,'boot.php']]],
['is_5fthreaded',['is_threaded',['../classItem.html#a5b2fafdca55aefeaa08993a5a60529f0',1,'Item']]],
diff --git a/doc/html/search/all_70.js b/doc/html/search/all_70.js
index 6c8ce271c..16c9b9ec6 100644
--- a/doc/html/search/all_70.js
+++ b/doc/html/search/all_70.js
@@ -2,6 +2,7 @@ var searchData=
[
['page',['page',['../mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page(): mod_import.php'],['../mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page(): mod_new_channel.php'],['../mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page(): mod_register.php']]],
['page_2ephp',['page.php',['../page_8php.html',1,'']]],
+ ['page_5fadult',['PAGE_ADULT',['../boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32',1,'boot.php']]],
['page_5fapplication',['PAGE_APPLICATION',['../boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed',1,'boot.php']]],
['page_5fautoconnect',['PAGE_AUTOCONNECT',['../boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9',1,'boot.php']]],
['page_5fcontent',['page_content',['../page_8php.html#a91a5f649f68406149108bded1dc90b22',1,'page.php']]],
diff --git a/doc/html/search/all_73.js b/doc/html/search/all_73.js
index b8c8f7800..2f1ad8b1a 100644
--- a/doc/html/search/all_73.js
+++ b/doc/html/search/all_73.js
@@ -32,6 +32,7 @@ var searchData=
['set_5fapps',['set_apps',['../classApp.html#abea5a4f77dcd53c928dc4eed86616637',1,'App']]],
['set_5fbaseurl',['set_baseurl',['../classApp.html#a78788f6e9d8b713b138f81e457c5cd08',1,'App']]],
['set_5fchannel',['set_channel',['../classApp.html#a89e9feb2bfb5253883a9720beaffe876',1,'App']]],
+ ['set_5fcommentable',['set_commentable',['../classItem.html#aa1bd19fc8b5577078530265a7bf64123',1,'Item']]],
['set_5fconfig',['set_config',['../include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a',1,'config.php']]],
['set_5fconversation',['set_conversation',['../classItem.html#aa8b1bbc4236890694635295e46d7fd72',1,'Item']]],
['set_5fcurl_5fcode',['set_curl_code',['../classApp.html#a5e6a6bd641e4d9909df56f0283c03821',1,'App']]],
@@ -91,11 +92,12 @@ var searchData=
['store',['store',['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver']]],
['store_5fitem_5ftag',['store_item_tag',['../taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd',1,'taxonomy.php']]],
['stream_5fperms_5fapi_5fuids',['stream_perms_api_uids',['../security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809',1,'security.php']]],
+ ['stream_5fperms_5fxchans',['stream_perms_xchans',['../security_8php.html#a15e0f8f511cc06192db63387f97238b3',1,'security.php']]],
['string_5fplural_5fselect_5fdefault',['string_plural_select_default',['../language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0',1,'language.php']]],
['stringify_5farray_5felms',['stringify_array_elms',['../text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13',1,'text.php']]],
['stripdcode_5fbr_5fcb',['stripdcode_br_cb',['../bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93',1,'bb2diaspora.php']]],
- ['style_2ephp',['style.php',['../redstrap_2php_2style_8php.html',1,'']]],
['style_2ephp',['style.php',['../redbasic_2php_2style_8php.html',1,'']]],
+ ['style_2ephp',['style.php',['../redstrap_2php_2style_8php.html',1,'']]],
['subthread_2ephp',['subthread.php',['../subthread_8php.html',1,'']]],
['subthread_5fcontent',['subthread_content',['../subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3',1,'subthread.php']]],
['suggest_2ephp',['suggest.php',['../suggest_8php.html',1,'']]],
diff --git a/doc/html/search/all_75.js b/doc/html/search/all_75.js
index 6a2613c0d..cb0a3c332 100644
--- a/doc/html/search/all_75.js
+++ b/doc/html/search/all_75.js
@@ -18,7 +18,7 @@ var searchData=
['update_5fdisplay_5fcontent',['update_display_content',['../update__display_8php.html#aa36ac524059e209d5d75a03c16206246',1,'update_display.php']]],
['update_5ffailed',['UPDATE_FAILED',['../boot_8php.html#a75fc600186b13c3b25e661afefb5eac8',1,'boot.php']]],
['update_5fimported_5fitem',['update_imported_item',['../zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df',1,'zot.php']]],
- ['update_5fmodtime',['update_modtime',['../zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63',1,'zot.php']]],
+ ['update_5fmodtime',['update_modtime',['../zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd',1,'zot.php']]],
['update_5fnetwork_2ephp',['update_network.php',['../update__network_8php.html',1,'']]],
['update_5fnetwork_5fcontent',['update_network_content',['../update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41',1,'update_network.php']]],
['update_5fqueue_5ftime',['update_queue_time',['../queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1',1,'queue_fn.php']]],
diff --git a/doc/html/search/all_78.js b/doc/html/search/all_78.js
index d09ff964d..4ef03b7d7 100644
--- a/doc/html/search/all_78.js
+++ b/doc/html/search/all_78.js
@@ -6,6 +6,7 @@ var searchData=
['xchan_5fflags_5fcensored',['XCHAN_FLAGS_CENSORED',['../boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e',1,'boot.php']]],
['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]],
+ ['xchan_5fflags_5fselfcensored',['XCHAN_FLAGS_SELFCENSORED',['../boot_8php.html#a5a681a672e007cdc22b43345d71f07c6',1,'boot.php']]],
['xchan_5fmail_5fquery',['xchan_mail_query',['../text_8php.html#a543447c5ed766535221e2d9636b379ee',1,'text.php']]],
['xchan_5fquery',['xchan_query',['../text_8php.html#a36a2e5d418ee81140f25c4233cfecd1f',1,'text.php']]],
['xml2array',['xml2array',['../include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff',1,'network.php']]],
diff --git a/doc/html/search/functions_63.js b/doc/html/search/functions_63.js
index f4c8814a8..485d2de9d 100644
--- a/doc/html/search/functions_63.js
+++ b/doc/html/search/functions_63.js
@@ -32,6 +32,7 @@ var searchData=
['check_5ffuncs',['check_funcs',['../setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e',1,'setup.php']]],
['check_5fhtaccess',['check_htaccess',['../setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4',1,'setup.php']]],
['check_5fhtconfig',['check_htconfig',['../setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f',1,'setup.php']]],
+ ['check_5fitem_5fsource',['check_item_source',['../items_8php.html#a87ac9e359591721a824ecd23bbb56296',1,'items.php']]],
['check_5fkeys',['check_keys',['../setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76',1,'setup.php']]],
['check_5flist_5fpermissions',['check_list_permissions',['../permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7',1,'permissions.php']]],
['check_5fphp',['check_php',['../setup_8php.html#a14d208682a88632290c895d20da6e7d6',1,'setup.php']]],
diff --git a/doc/html/search/functions_69.js b/doc/html/search/functions_69.js
index f20215bbc..4f605002a 100644
--- a/doc/html/search/functions_69.js
+++ b/doc/html/search/functions_69.js
@@ -9,11 +9,11 @@ var searchData=
['import_5fchannel_5fphoto',['import_channel_photo',['../photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a',1,'photo_driver.php']]],
['import_5fcontent',['import_content',['../import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184',1,'import.php']]],
['import_5fdirectory_5fkeywords',['import_directory_keywords',['../zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a',1,'zot.php']]],
- ['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32',1,'zot.php']]],
+ ['import_5fdirectory_5fprofile',['import_directory_profile',['../zot_8php.html#aeec89da5b6ff090c63a79de4de884a35',1,'zot.php']]],
['import_5fpost',['import_post',['../import_8php.html#af17fef0410518f7eac205d0ea416eaa2',1,'import.php']]],
['import_5fprofile_5fphoto',['import_profile_photo',['../photo__driver_8php.html#a102f3f26f67e0e38f4322a771951c1ca',1,'photo_driver.php']]],
['import_5fsite',['import_site',['../zot_8php.html#a2657e141d62d5f67ad3c87651b585299',1,'zot.php']]],
- ['import_5fxchan',['import_xchan',['../zot_8php.html#ab0227978011d8601494a7651fa26acf0',1,'zot.php']]],
+ ['import_5fxchan',['import_xchan',['../zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1',1,'zot.php']]],
['in_5farrayi',['in_arrayi',['../text_8php.html#a75c326298519ed14ebe762194c8a3f2a',1,'text.php']]],
['info',['info',['../boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498',1,'boot.php']]],
['install',['install',['../classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746',1,'dba_driver']]],
@@ -25,7 +25,7 @@ var searchData=
['invite_5fpost',['invite_post',['../invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5',1,'invite.php']]],
['is_5fa_5fdate_5farg',['is_a_date_arg',['../text_8php.html#a1557112a774ec00fa06ed6b6f6495506',1,'text.php']]],
['is_5fajax',['is_ajax',['../boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c',1,'boot.php']]],
- ['is_5fcommentable',['is_commentable',['../classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3',1,'Conversation']]],
+ ['is_5fcommentable',['is_commentable',['../classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3',1,'Conversation\is_commentable()'],['../classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967',1,'Item\is_commentable()']]],
['is_5fpreview',['is_preview',['../classConversation.html#adf25ce023b69a166c63c6e84e02c136a',1,'Conversation']]],
['is_5fsite_5fadmin',['is_site_admin',['../boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e',1,'boot.php']]],
['is_5fthreaded',['is_threaded',['../classItem.html#a5b2fafdca55aefeaa08993a5a60529f0',1,'Item']]],
diff --git a/doc/html/search/functions_73.js b/doc/html/search/functions_73.js
index 208720a2c..58c5932b8 100644
--- a/doc/html/search/functions_73.js
+++ b/doc/html/search/functions_73.js
@@ -28,6 +28,7 @@ var searchData=
['set_5fapps',['set_apps',['../classApp.html#abea5a4f77dcd53c928dc4eed86616637',1,'App']]],
['set_5fbaseurl',['set_baseurl',['../classApp.html#a78788f6e9d8b713b138f81e457c5cd08',1,'App']]],
['set_5fchannel',['set_channel',['../classApp.html#a89e9feb2bfb5253883a9720beaffe876',1,'App']]],
+ ['set_5fcommentable',['set_commentable',['../classItem.html#aa1bd19fc8b5577078530265a7bf64123',1,'Item']]],
['set_5fconfig',['set_config',['../include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a',1,'config.php']]],
['set_5fconversation',['set_conversation',['../classItem.html#aa8b1bbc4236890694635295e46d7fd72',1,'Item']]],
['set_5fcurl_5fcode',['set_curl_code',['../classApp.html#a5e6a6bd641e4d9909df56f0283c03821',1,'App']]],
@@ -76,6 +77,7 @@ var searchData=
['store',['store',['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver']]],
['store_5fitem_5ftag',['store_item_tag',['../taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd',1,'taxonomy.php']]],
['stream_5fperms_5fapi_5fuids',['stream_perms_api_uids',['../security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809',1,'security.php']]],
+ ['stream_5fperms_5fxchans',['stream_perms_xchans',['../security_8php.html#a15e0f8f511cc06192db63387f97238b3',1,'security.php']]],
['string_5fplural_5fselect_5fdefault',['string_plural_select_default',['../language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0',1,'language.php']]],
['stringify_5farray_5felms',['stringify_array_elms',['../text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13',1,'text.php']]],
['stripdcode_5fbr_5fcb',['stripdcode_br_cb',['../bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93',1,'bb2diaspora.php']]],
diff --git a/doc/html/search/functions_75.js b/doc/html/search/functions_75.js
index bb71f06e7..f305db55a 100644
--- a/doc/html/search/functions_75.js
+++ b/doc/html/search/functions_75.js
@@ -13,7 +13,7 @@ var searchData=
['update_5fcommunity_5fcontent',['update_community_content',['../update__community_8php.html#abdcc5c4ecebbe0b5fcba2755c69cb3b1',1,'update_community.php']]],
['update_5fdisplay_5fcontent',['update_display_content',['../update__display_8php.html#aa36ac524059e209d5d75a03c16206246',1,'update_display.php']]],
['update_5fimported_5fitem',['update_imported_item',['../zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df',1,'zot.php']]],
- ['update_5fmodtime',['update_modtime',['../zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63',1,'zot.php']]],
+ ['update_5fmodtime',['update_modtime',['../zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd',1,'zot.php']]],
['update_5fnetwork_5fcontent',['update_network_content',['../update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41',1,'update_network.php']]],
['update_5fqueue_5ftime',['update_queue_time',['../queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1',1,'queue_fn.php']]],
['update_5fsearch_5fcontent',['update_search_content',['../update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52',1,'update_search.php']]],
diff --git a/doc/html/search/variables_24.js b/doc/html/search/variables_24.js
index 9a60a349f..4c567bcfe 100644
--- a/doc/html/search/variables_24.js
+++ b/doc/html/search/variables_24.js
@@ -19,7 +19,7 @@ var searchData=
['_24cmd',['$cmd',['../classApp.html#a495ec082c2719314e536070ca1ce073d',1,'App']]],
['_24colour',['$colour',['../redbasic_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour(): style.php'],['../redstrap_2php_2style_8php.html#a4086b1a341b7c8462a47fb1b25fd49ab',1,'$colour(): style.php']]],
['_24comment_5fbox_5ftemplate',['$comment_box_template',['../classItem.html#a90743c8348b13213275c223bb9333aa0',1,'Item']]],
- ['_24commentable',['$commentable',['../classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6',1,'Conversation']]],
+ ['_24commentable',['$commentable',['../classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6',1,'Conversation\$commentable()'],['../classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304',1,'Item\$commentable()']]],
['_24config',['$config',['../classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88',1,'App']]],
['_24connected',['$connected',['../classdba__driver.html#a205f6535e399700b6fca2492f96f2229',1,'dba_driver']]],
['_24contact',['$contact',['../classApp.html#a98ef4cfd36693a3457c879b76bc6d694',1,'App']]],
diff --git a/doc/html/search/variables_70.js b/doc/html/search/variables_70.js
index 8656256c5..2c2c3e344 100644
--- a/doc/html/search/variables_70.js
+++ b/doc/html/search/variables_70.js
@@ -1,6 +1,7 @@
var searchData=
[
['page',['page',['../mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page(): mod_import.php'],['../mod__new__channel_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page(): mod_new_channel.php'],['../mod__register_8php.html#a8db1899eeeb44dabd0904065b63627bb',1,'page(): mod_register.php']]],
+ ['page_5fadult',['PAGE_ADULT',['../boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32',1,'boot.php']]],
['page_5fapplication',['PAGE_APPLICATION',['../boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed',1,'boot.php']]],
['page_5fautoconnect',['PAGE_AUTOCONNECT',['../boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9',1,'boot.php']]],
['page_5fdirectory_5fchannel',['PAGE_DIRECTORY_CHANNEL',['../boot_8php.html#a5b8484922918946d041e5e0515dbe718',1,'boot.php']]],
diff --git a/doc/html/search/variables_78.js b/doc/html/search/variables_78.js
index 61a0bd8c1..ffc522bca 100644
--- a/doc/html/search/variables_78.js
+++ b/doc/html/search/variables_78.js
@@ -2,5 +2,6 @@ var searchData=
[
['xchan_5fflags_5fcensored',['XCHAN_FLAGS_CENSORED',['../boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e',1,'boot.php']]],
['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
- ['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]]
+ ['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]],
+ ['xchan_5fflags_5fselfcensored',['XCHAN_FLAGS_SELFCENSORED',['../boot_8php.html#a5a681a672e007cdc22b43345d71f07c6',1,'boot.php']]]
];
diff --git a/doc/html/security_8php.html b/doc/html/security_8php.html
index 75ee842cd..c5f363bce 100644
--- a/doc/html/security_8php.html
+++ b/doc/html/security_8php.html
@@ -134,6 +134,8 @@ Functions
if (!function_exists('init_groups_visitor')) stream_perms_api_uids ($perms_min=PERMS_SITE )
+ stream_perms_xchans ($perms_min=PERMS_SITE )
+
@@ -415,7 +417,7 @@ Functions
@@ -433,7 +435,25 @@ Functions
+
+
+
+
+
+
+ stream_perms_xchans
+ (
+
+ $perms_min = PERMS_SITE )
+
+
+
+
diff --git a/doc/html/security_8php.js b/doc/html/security_8php.js
index f31abc14a..e9abb6b48 100644
--- a/doc/html/security_8php.js
+++ b/doc/html/security_8php.js
@@ -10,5 +10,6 @@ var security_8php =
[ "item_permissions_sql", "security_8php.html#a9355488460ab11d6058656ff919e5cf9", null ],
[ "permissions_sql", "security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f", null ],
[ "public_permissions_sql", "security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01", null ],
- [ "stream_perms_api_uids", "security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809", null ]
+ [ "stream_perms_api_uids", "security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809", null ],
+ [ "stream_perms_xchans", "security_8php.html#a15e0f8f511cc06192db63387f97238b3", null ]
];
\ No newline at end of file
diff --git a/doc/html/text_8php.html b/doc/html/text_8php.html
index 822498a55..acf43d68c 100644
--- a/doc/html/text_8php.html
+++ b/doc/html/text_8php.html
@@ -443,7 +443,7 @@ Variables
-
Referenced by aes_unencapsulate() , get_atom_elements() , import_post() , import_site() , import_xchan() , oembed_init() , post_init() , post_post() , smile_decode() , and zfinger_init() .
+
Referenced by aes_unencapsulate() , get_atom_elements() , import_post() , import_site() , import_xchan() , oembed_init() , post_init() , post_post() , smile_decode() , and zfinger_init() .
@@ -471,7 +471,7 @@ Variables
-
Referenced by aes_encapsulate() , allowed_public_recips() , create_identity() , fix_system_urls() , get_item_elements() , get_mail_elements() , get_profile_elements() , identity_basic_export() , import_post() , import_xchan() , magic_init() , oembed_iframe() , post_post() , random_string() , smile_encode() , zfinger_init() , zot_build_packet() , zot_fetch() , zot_import() , zot_new_uid() , and zot_register_hub() .
+
Referenced by aes_encapsulate() , allowed_public_recips() , create_identity() , fix_system_urls() , get_item_elements() , get_mail_elements() , get_profile_elements() , identity_basic_export() , import_post() , import_xchan() , magic_init() , oembed_iframe() , post_post() , random_string() , smile_encode() , zfinger_init() , zot_build_packet() , zot_fetch() , zot_import() , zot_new_uid() , and zot_register_hub() .
@@ -961,7 +961,7 @@ Variables
-
Referenced by channel_content() , display_content() , items_fetch() , lastpost_content() , network_content() , search_content() , and zot_feed() .
+
Referenced by channel_content() , display_content() , items_fetch() , lastpost_content() , network_content() , and zot_feed() .
@@ -989,7 +989,7 @@ Variables
@@ -1225,7 +1225,7 @@ Variables
-
Referenced by account_remove() , account_verify_password() , Item\add_child() , Conversation\add_thread() , advanced_profile() , aes_encapsulate() , allowed_public_recips() , api_call() , api_channel_stream() , api_export_basic() , api_favorites() , api_get_user() , api_login() , api_oauth_request_token() , api_statuses_destroy() , api_statuses_mediap() , api_statuses_repeat() , api_statuses_show() , api_statuses_update() , api_statuses_user_timeline() , authenticate_success() , avatar_img() , base64url_decode() , build_sync_packet() , chanman_remove_everything_from_network() , channel_remove() , chanview_content() , check_config() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , consume_feed() , conversation() , create_account() , create_identity() , crepair_post() , cronhooks_run() , datetime_convert() , delete_imported_item() , deliver_run() , detect_language() , dfrn_deliver() , directory_content() , directory_run() , email_send() , encode_item() , expire_run() , feed_init() , fetch_lrdd_template() , fetch_xrd_links() , filer_content() , filerm_content() , fix_private_photos() , fix_system_urls() , Conversation\get_template_data() , group_content() , guess_image_type() , head_set_icon() , http_status_exit() , import_author_xchan() , import_channel_photo() , import_directory_profile() , import_post() , import_profile_photo() , import_site() , import_xchan() , install_plugin() , item_expire() , item_post() , item_store() , item_store_update() , like_content() , limit_body_size() , load_plugin() , localize_item() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_token() , lrdd() , magic_init() , mail_store() , menu_edit() , message_content() , message_post() , mini_group_select() , mood_init() , network_content() , FKOAuthDataStore\new_access_token() , new_contact() , new_keypair() , FKOAuthDataStore\new_request_token() , notification() , notifier_run() , onepoll_run() , page_content() , parse_url_content() , parse_xml_string() , photo_init() , photo_upload() , photos_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , post_activity_item() , post_init() , post_post() , private_messages_list() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_load() , public_recips() , dba_mysql\q() , dba_mysqli\q() , q() , queue_run() , redir_init() , register_content() , reload_plugins() , Item\remove_child() , remove_community_tag() , remove_queue_item() , scale_external_images() , search_ac_init() , enotify\send() , send_reg_approval_email() , Conversation\set_mode() , subthread_content() , syncdirs() , tag_deliver() , tagger_content() , tgroup_check() , uninstall_plugin() , unload_plugin() , update_imported_item() , update_queue_time() , webfinger() , webfinger_dfrn() , xml2array() , xml_status() , z_fetch_url() , z_post_url() , zfinger_init() , zid_init() , zot_build_packet() , zot_fetch() , zot_finger() , zot_gethub() , zot_import() , zot_process_response() , zot_refresh() , and zot_register_hub() .
+
Referenced by account_remove() , account_verify_password() , Item\add_child() , Conversation\add_thread() , advanced_profile() , aes_encapsulate() , allowed_public_recips() , api_call() , api_channel_stream() , api_export_basic() , api_favorites() , api_get_user() , api_login() , api_oauth_request_token() , api_statuses_destroy() , api_statuses_mediap() , api_statuses_repeat() , api_statuses_show() , api_statuses_update() , api_statuses_user_timeline() , authenticate_success() , avatar_img() , base64url_decode() , build_sync_packet() , chanman_remove_everything_from_network() , channel_remove() , chanview_content() , check_config() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , consume_feed() , conversation() , create_account() , create_identity() , crepair_post() , cronhooks_run() , datetime_convert() , delete_imported_item() , deliver_run() , detect_language() , dfrn_deliver() , directory_content() , directory_run() , email_send() , encode_item() , expire_run() , feed_init() , fetch_lrdd_template() , fetch_xrd_links() , filer_content() , filerm_content() , fix_private_photos() , fix_system_urls() , Conversation\get_template_data() , group_content() , guess_image_type() , head_set_icon() , http_status_exit() , import_author_xchan() , import_channel_photo() , import_directory_profile() , import_post() , import_profile_photo() , import_site() , import_xchan() , install_plugin() , item_expire() , item_post() , item_store() , item_store_update() , like_content() , limit_body_size() , load_plugin() , localize_item() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_token() , lrdd() , magic_init() , mail_store() , menu_edit() , message_content() , message_post() , mini_group_select() , mood_init() , network_content() , FKOAuthDataStore\new_access_token() , new_contact() , new_keypair() , FKOAuthDataStore\new_request_token() , notification() , notifier_run() , onepoll_run() , page_content() , parse_url_content() , parse_xml_string() , photo_init() , photo_upload() , photos_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , post_activity_item() , post_init() , post_post() , private_messages_list() , process_channel_sync_delivery() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_load() , public_recips() , dba_mysql\q() , dba_mysqli\q() , q() , queue_run() , redir_init() , register_content() , reload_plugins() , Item\remove_child() , remove_community_tag() , remove_queue_item() , scale_external_images() , search_ac_init() , enotify\send() , send_reg_approval_email() , Conversation\set_mode() , stream_perms_api_uids() , stream_perms_xchans() , subthread_content() , syncdirs() , tag_deliver() , tagger_content() , tgroup_check() , uninstall_plugin() , unload_plugin() , update_imported_item() , update_queue_time() , webfinger() , webfinger_dfrn() , xml2array() , xml_status() , z_fetch_url() , z_post_url() , zfinger_init() , zid_init() , zot_build_packet() , zot_fetch() , zot_finger() , zot_gethub() , zot_import() , zot_process_response() , zot_refresh() , and zot_register_hub() .
@@ -1531,7 +1531,7 @@ Variables
-
Referenced by advanced_profile() , api_format_items() , api_format_messages() , api_status_show() , api_users_show() , atom_entry() , comanche_block() , connect_content() , and prepare_body() .
+
Referenced by advanced_profile() , api_format_items() , api_format_messages() , api_status_show() , api_users_show() , atom_entry() , check_item_source() , comanche_block() , connect_content() , and prepare_body() .
@@ -1645,7 +1645,7 @@ Variables
-
Referenced by aes_encapsulate() , attach_store() , build_sync_packet() , create_account() , create_identity() , dfrn_deliver() , event_store() , fsuggest_post() , generate_user_guid() , group_add() , import_directory_profile() , import_xchan() , item_message_id() , item_store() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , notification() , notifier_run() , prepare_body() , profiles_init() , redir_init() , removeme_content() , send_message() , send_reg_approval_email() , settings_post() , setup_post() , and thing_init() .
+
Referenced by aes_encapsulate() , attach_store() , build_sync_packet() , create_account() , create_identity() , dfrn_deliver() , event_store() , fsuggest_post() , generate_user_guid() , group_add() , import_directory_profile() , import_xchan() , item_message_id() , item_store() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , notification() , notifier_run() , prepare_body() , profiles_init() , redir_init() , removeme_content() , send_message() , send_reg_approval_email() , settings_post() , setup_post() , and thing_init() .
@@ -1710,7 +1710,7 @@ Variables
Returns string substituted string
-Referenced by admin_content() , admin_page_dbsync() , admin_page_logs() , admin_page_plugins() , admin_page_site() , admin_page_summary() , admin_page_themes() , admin_page_users() , advanced_profile() , allfriends_content() , alt_pager() , api_apply_template() , api_content() , apps_content() , blocks_content() , App\build_pagehead() , categories_widget() , channel_content() , chanview_content() , check_config() , check_php() , common_content() , common_friends_visitor_widget() , connect_content() , connections_content() , construct_page() , contact_block() , conversation() , crepair_content() , delegate_content() , directory_content() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , fbrowser_content() , field_timezone() , fileas_widget() , filer_content() , filestorage_content() , findpeople_widget() , follow_widget() , get_birthdays() , Item\get_comment_box() , get_events() , get_feed_for() , group_content() , group_side() , help_content() , hostxrd_init() , import_content() , intro_content() , invite_content() , lang_selector() , lastpost_content() , layouts_content() , login() , lostpass_content() , lostpass_post() , manage_content() , match_content() , menu_content() , menu_render() , message_aside() , message_content() , micropro() , mini_group_select() , mitem_content() , mood_content() , nav() , network_content() , new_channel_content() , nogroup_content() , notification() , notifications_content() , notify_content() , oembed_format_object() , oexchange_init() , opensearch_init() , pagelist_widget() , photos_album_widget() , photos_content() , poco_init() , poke_content() , populate_acl() , posted_date_widget() , profile_sidebar() , profile_tabs() , profiles_content() , redbasic_form() , register_content() , removeme_content() , rmagic_content() , saved_searches() , search_content() , send_reg_approval_email() , send_verification_email() , settings_aside() , setup_content() , setup_post() , siteinfo_content() , suggest_content() , thing_content() , user_allow() , vcard_from_xchan() , viewconnections_content() , vote_content() , webpages_content() , writepages_widget() , and xrd_init() .
+Referenced by admin_content() , admin_page_dbsync() , admin_page_hubloc() , admin_page_logs() , admin_page_plugins() , admin_page_site() , admin_page_summary() , admin_page_themes() , admin_page_users() , advanced_profile() , allfriends_content() , alt_pager() , api_apply_template() , api_content() , apps_content() , blocks_content() , App\build_pagehead() , categories_widget() , channel_content() , chanview_content() , check_config() , check_php() , common_content() , common_friends_visitor_widget() , connect_content() , connections_content() , construct_page() , contact_block() , conversation() , crepair_content() , delegate_content() , directory_content() , display_content() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , events_content() , fbrowser_content() , field_timezone() , fileas_widget() , filer_content() , filestorage_content() , findpeople_widget() , follow_widget() , get_birthdays() , Item\get_comment_box() , get_events() , get_feed_for() , group_content() , group_side() , help_content() , hostxrd_init() , import_content() , intro_content() , invite_content() , lang_selector() , lastpost_content() , layouts_content() , login() , lostpass_content() , lostpass_post() , manage_content() , match_content() , menu_content() , menu_render() , message_aside() , message_content() , micropro() , mini_group_select() , mitem_content() , mood_content() , nav() , network_content() , new_channel_content() , nogroup_content() , notification() , notifications_content() , notify_content() , oembed_format_object() , oexchange_init() , opensearch_init() , pagelist_widget() , photos_album_widget() , photos_content() , poco_init() , poke_content() , populate_acl() , posted_date_widget() , profile_sidebar() , profile_tabs() , profiles_content() , redbasic_form() , register_content() , removeme_content() , rmagic_content() , saved_searches() , search_content() , send_reg_approval_email() , send_verification_email() , settings_aside() , setup_content() , setup_post() , siteinfo_content() , suggest_content() , thing_content() , user_allow() , vcard_from_xchan() , viewconnections_content() , vote_content() , webpages_content() , writepages_widget() , and xrd_init() .
@@ -2010,7 +2010,7 @@ Variables
-
Referenced by api_format_items() , api_statuses_home_timeline() , api_statuses_public_timeline() , api_statuses_show() , channel_content() , display_content() , events_content() , items_fetch() , lastpost_content() , network_content() , notification() , notifier_run() , page_content() , ping_init() , search_content() , share_init() , and zot_feed() .
+
Referenced by api_format_items() , api_statuses_home_timeline() , api_statuses_public_timeline() , api_statuses_show() , channel_content() , display_content() , events_content() , item_post() , items_fetch() , lastpost_content() , network_content() , notification() , notifier_run() , page_content() , ping_init() , search_content() , share_init() , and zot_feed() .
diff --git a/doc/html/typo_8php.html b/doc/html/typo_8php.html
index 055cd2aff..2e816292a 100644
--- a/doc/html/typo_8php.html
+++ b/doc/html/typo_8php.html
@@ -134,7 +134,7 @@ Variables
-
Referenced by FriendicaSmarty\__construct() , Item\__construct() , FriendicaSmartyEngine\__construct() , Template\_replcb_if() , Template\_replcb_inc() , _well_known_init() , abook_toggle_flag() , acl_init() , admin_content() , admin_page_dbsync() , admin_page_logs() , admin_page_logs_post() , admin_page_plugins() , admin_page_site() , admin_page_site_post() , admin_page_summary() , admin_page_themes() , admin_page_users() , admin_page_users_post() , admin_post() , advanced_profile() , allfriends_content() , allowed_email() , allowed_url() , alt_pager() , api_account_verify_credentials() , api_albums() , api_apply_template() , api_call() , api_content() , api_direct_messages_all() , api_direct_messages_box() , api_direct_messages_conversation() , api_direct_messages_inbox() , api_direct_messages_new() , api_direct_messages_sentbox() , api_favorites() , api_followers_ids() , api_format_as() , api_format_items() , api_friends_ids() , api_get_user() , api_item_get_user() , api_login() , api_photos() , api_post() , api_rss_extra() , api_status_show() , api_statuses_destroy() , api_statuses_f() , api_statuses_followers() , api_statuses_friends() , api_statuses_home_timeline() , api_statuses_mediap() , api_statuses_mentions() , api_statuses_public_timeline() , api_statuses_repeat() , api_statuses_show() , api_statuses_update() , api_statuses_user_timeline() , api_statusnet_config() , api_users_show() , apps_content() , atom_entry() , attribute_contains() , authenticate_success() , avatar_img() , bbcode() , best_link_url() , blocks_content() , build_sync_packet() , cal() , call_hooks() , categories_widget() , channel_aside() , channel_content() , channel_init() , channel_remove() , chanview_content() , check_config() , check_form_security_token() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , check_htaccess() , clean_urls() , cli_startup() , cli_suggest_run() , comanche_menu() , comanche_parser() , comanche_replace_region() , comanche_widget() , common_aside() , common_content() , common_friends_visitor_widget() , common_init() , community_content() , connect_content() , connect_init() , connect_post() , connections_aside() , connections_clone() , connections_content() , connections_init() , connections_post() , construct_page() , contact_block() , contact_select() , conversation() , create_identity() , crepair_content() , crepair_init() , crepair_post() , current_theme() , current_theme_url() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , deliver_run() , dfrn_deliver() , directory_aside() , directory_content() , directory_init() , dirsearch_init() , display_content() , dlogger() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , ev_compare() , event_store() , events_content() , events_post() , expand_acl() , expand_groups() , fbrowser_content() , fetch_url() , fileas_widget() , filer_content() , filerm_content() , filestorage_content() , findpeople_widget() , fix_private_photos() , follow_init() , follow_widget() , format_event_diaspora() , fsuggest_content() , fsuggest_post() , BaseObject\get_app() , get_app() , get_best_language() , get_birthdays() , Item\get_comment_box() , get_config() , get_custom_nav() , get_events() , get_form_security_token() , FriendicaSmartyEngine\get_intltext_template() , get_intltext_template() , get_markup_template() , get_max_import_size() , get_pconfig() , get_plink() , Item\get_template_data() , get_theme_screenshot() , get_xconfig() , gprobe_run() , group_aside() , group_content() , group_post() , group_select() , guess_image_type() , handle_tag() , hcard_aside() , hcard_init() , head_get_icon() , head_set_icon() , help_content() , hostxrd_init() , import_channel_photo() , import_post() , import_profile_photo() , info() , intro_aside() , intro_content() , invite_content() , invite_post() , is_site_admin() , item_content() , item_photo_menu() , item_post() , items_fetch() , lang_selector() , lastpost_aside() , lastpost_content() , lastpost_init() , layouts_content() , like_content() , like_puller() , link_compare() , load_config() , load_contact_links() , load_database() , load_hooks() , load_pconfig() , load_translation_table() , load_xconfig() , logger() , login() , login_content() , FKOAuth1\loginUser() , lostpass_content() , lostpass_post() , lrdd() , magic_init() , manual_config() , match_content() , menu_content() , message_aside() , message_content() , message_post() , mitem_content() , mitem_init() , mitem_post() , mood_init() , msearch_post() , nav() , nav_set_selected() , network_content() , network_init() , new_contact() , nogroup_content() , nogroup_init() , notice() , notification() , notifications_content() , notifications_post() , notifier_run() , notify_content() , notify_init() , oembed_fetch_url() , oembed_format_object() , oembed_iframe() , oexchange_content() , oexchange_init() , onepoll_run() , opensearch_init() , page_content() , page_init() , paginate() , photo_init() , photos_content() , photos_init() , photos_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , pop_lang() , post_init() , post_url() , preg_heart() , prepare_body() , probe_content() , proc_run() , profile_activity() , profile_aside() , profile_content() , profile_create_sidebar() , profile_init() , profile_load() , profile_photo_aside() , profile_photo_init() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_aside() , profiles_content() , profiles_init() , profiles_post() , profperm_aside() , profperm_content() , profperm_init() , push_lang() , queue_run() , randprof_init() , redbasic_form() , redir_init() , redstrap_init() , register_content() , regmod_content() , relative_date() , removeme_content() , removeme_post() , replace_macros() , rmagic_post() , saved_searches() , scale_external_images() , search() , search_ac_init() , search_content() , search_init() , search_post() , send_message() , service_class_allows() , service_class_fetch() , set_config() , Conversation\set_mode() , set_pconfig() , set_xconfig() , settings_aside() , settings_init() , settings_post() , setup_content() , setup_post() , siteinfo_content() , siteinfo_init() , smilies() , subthread_content() , suggest_aside() , suggest_content() , t() , tag_deliver() , tagger_content() , tagrm_content() , tagrm_post() , tags_sort() , terminate_friendship() , tgroup_check() , theme_content() , theme_include() , thing_init() , timezone_cmp() , toggle_mobile_init() , tt() , uexport_init() , update_channel_content() , update_community_content() , update_display_content() , update_network_content() , update_search_content() , update_suggestions() , user_allow() , vcard_from_xchan() , viewconnections_aside() , viewconnections_content() , viewconnections_init() , viewsrc_content() , vote_content() , vote_init() , vote_post() , wall_upload_post() , webpages_content() , wfinger_init() , what_next() , widget_profile() , xrd_init() , z_fetch_url() , z_path() , z_root() , zfinger_init() , zid_init() , zotfeed_init() , and zping_content() .
+
Referenced by FriendicaSmarty\__construct() , Item\__construct() , FriendicaSmartyEngine\__construct() , Template\_replcb_if() , Template\_replcb_inc() , _well_known_init() , abook_toggle_flag() , acl_init() , admin_content() , admin_page_dbsync() , admin_page_hubloc() , admin_page_logs() , admin_page_logs_post() , admin_page_plugins() , admin_page_site() , admin_page_site_post() , admin_page_summary() , admin_page_themes() , admin_page_users() , admin_page_users_post() , admin_post() , advanced_profile() , allfriends_content() , allowed_email() , allowed_url() , alt_pager() , api_account_verify_credentials() , api_albums() , api_apply_template() , api_call() , api_content() , api_direct_messages_all() , api_direct_messages_box() , api_direct_messages_conversation() , api_direct_messages_inbox() , api_direct_messages_new() , api_direct_messages_sentbox() , api_favorites() , api_followers_ids() , api_format_as() , api_format_items() , api_friends_ids() , api_get_user() , api_item_get_user() , api_login() , api_photos() , api_post() , api_rss_extra() , api_status_show() , api_statuses_destroy() , api_statuses_f() , api_statuses_followers() , api_statuses_friends() , api_statuses_home_timeline() , api_statuses_mediap() , api_statuses_mentions() , api_statuses_public_timeline() , api_statuses_repeat() , api_statuses_show() , api_statuses_update() , api_statuses_user_timeline() , api_statusnet_config() , api_users_show() , apps_content() , atom_entry() , attribute_contains() , authenticate_success() , avatar_img() , bbcode() , best_link_url() , blocks_content() , build_sync_packet() , cal() , call_hooks() , categories_widget() , channel_aside() , channel_content() , channel_init() , channel_remove() , chanview_content() , check_config() , check_form_security_token() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , check_htaccess() , clean_urls() , cli_startup() , cli_suggest_run() , comanche_block() , comanche_menu() , comanche_parser() , comanche_replace_region() , comanche_widget() , common_aside() , common_content() , common_friends_visitor_widget() , common_init() , community_content() , connect_content() , connect_init() , connect_post() , connections_aside() , connections_clone() , connections_content() , connections_init() , connections_post() , construct_page() , contact_block() , contact_select() , conversation() , create_identity() , crepair_content() , crepair_init() , crepair_post() , current_theme() , current_theme_url() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , deliver_run() , dfrn_deliver() , directory_aside() , directory_content() , directory_init() , dirsearch_init() , display_content() , dlogger() , drop_item() , editblock_content() , editlayout_content() , editpost_content() , editwebpage_content() , ev_compare() , event_store() , events_content() , events_post() , expand_acl() , expand_groups() , fbrowser_content() , fetch_url() , fileas_widget() , filer_content() , filerm_content() , filestorage_content() , findpeople_widget() , fix_private_photos() , follow_init() , follow_widget() , format_event_diaspora() , fsuggest_content() , fsuggest_post() , BaseObject\get_app() , get_app() , get_best_language() , get_birthdays() , Item\get_comment_box() , get_config() , get_custom_nav() , get_events() , get_form_security_token() , FriendicaSmartyEngine\get_intltext_template() , get_intltext_template() , get_markup_template() , get_max_import_size() , get_pconfig() , get_plink() , Item\get_template_data() , get_theme_screenshot() , get_xconfig() , gprobe_run() , group_aside() , group_content() , group_post() , group_select() , guess_image_type() , handle_tag() , hcard_aside() , hcard_init() , head_get_icon() , head_set_icon() , help_content() , hostxrd_init() , import_channel_photo() , import_post() , import_profile_photo() , info() , intro_aside() , intro_content() , invite_content() , invite_post() , is_site_admin() , item_content() , item_photo_menu() , item_post() , items_fetch() , lang_selector() , lastpost_aside() , lastpost_content() , lastpost_init() , layouts_content() , like_content() , like_puller() , link_compare() , load_config() , load_contact_links() , load_database() , load_hooks() , load_pconfig() , load_translation_table() , load_xconfig() , logger() , login() , login_content() , FKOAuth1\loginUser() , lostpass_content() , lostpass_post() , lrdd() , magic_init() , manual_config() , match_content() , menu_content() , message_aside() , message_content() , message_post() , mitem_content() , mitem_init() , mitem_post() , mood_init() , msearch_post() , nav() , nav_set_selected() , network_content() , network_init() , new_contact() , nogroup_content() , nogroup_init() , notice() , notification() , notifications_content() , notifications_post() , notifier_run() , notify_content() , notify_init() , oembed_fetch_url() , oembed_format_object() , oembed_iframe() , oexchange_content() , oexchange_init() , onepoll_run() , opensearch_init() , page_content() , page_init() , paginate() , photo_init() , photos_content() , photos_init() , photos_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , pop_lang() , post_init() , post_url() , preg_heart() , prepare_body() , probe_content() , proc_run() , profile_activity() , profile_aside() , profile_content() , profile_create_sidebar() , profile_init() , profile_load() , profile_photo_aside() , profile_photo_init() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_aside() , profiles_content() , profiles_init() , profiles_post() , profperm_aside() , profperm_content() , profperm_init() , push_lang() , queue_run() , randprof_init() , redbasic_form() , redir_init() , redstrap_init() , register_content() , regmod_content() , relative_date() , removeme_content() , removeme_post() , replace_macros() , rmagic_post() , saved_searches() , scale_external_images() , search() , search_ac_init() , search_content() , search_init() , search_post() , send_message() , service_class_allows() , service_class_fetch() , set_config() , Conversation\set_mode() , set_pconfig() , set_xconfig() , settings_aside() , settings_init() , settings_post() , setup_content() , setup_post() , siteinfo_content() , siteinfo_init() , smilies() , subthread_content() , suggest_aside() , suggest_content() , t() , tag_deliver() , tagger_content() , tagrm_content() , tagrm_post() , tags_sort() , terminate_friendship() , tgroup_check() , theme_content() , theme_include() , thing_init() , timezone_cmp() , toggle_mobile_init() , tt() , uexport_init() , update_channel_content() , update_community_content() , update_display_content() , update_network_content() , update_search_content() , update_suggestions() , user_allow() , vcard_from_xchan() , viewconnections_aside() , viewconnections_content() , viewconnections_init() , viewsrc_content() , vote_content() , vote_init() , vote_post() , wall_upload_post() , webpages_content() , wfinger_init() , what_next() , widget_profile() , xrd_init() , z_fetch_url() , z_path() , z_root() , zfinger_init() , zid_init() , zotfeed_init() , and zping_content() .
diff --git a/doc/html/typohelper_8php.html b/doc/html/typohelper_8php.html
index 674acf1cb..1b72515e1 100644
--- a/doc/html/typohelper_8php.html
+++ b/doc/html/typohelper_8php.html
@@ -130,7 +130,7 @@ Variables
Initial value:
error_reporting(E_ERROR | E_WARNING | E_PARSE )
-Referenced by api_date() , check_php() , check_webbie() , dbesc() , dba_mysql\escape() , dba_mysqli\escape() , head_get_css() , head_get_js() , item_store_update() , load_database() , photos_album_get_db_idstr() , photos_post() , posted_dates() , relative_date() , stream_perms_api_uids() , thing_init() , and xmlify() .
+Referenced by api_date() , check_php() , check_webbie() , dbesc() , dba_mysql\escape() , dba_mysqli\escape() , head_get_css() , head_get_js() , item_store_update() , load_database() , photos_album_get_db_idstr() , photos_post() , posted_dates() , relative_date() , stream_perms_api_uids() , stream_perms_xchans() , thing_init() , and xmlify() .
diff --git a/doc/html/zot_8php.html b/doc/html/zot_8php.html
index 79d85da0f..13b89b4c5 100644
--- a/doc/html/zot_8php.html
+++ b/doc/html/zot_8php.html
@@ -128,8 +128,8 @@ Functions
zot_register_hub ($arr)
- import_xchan ($arr)
-
+ import_xchan ($arr, $ud_flags=1)
+
zot_process_response ($hub, $arr, $outq)
zot_fetch ($arr)
@@ -152,12 +152,12 @@ Functions
process_profile_delivery ($sender, $arr, $deliveries)
- import_directory_profile ($hash, $profile)
-
+ import_directory_profile ($hash, $profile, $addr, $ud_flags=1, $suppress_update=0)
+
import_directory_keywords ($hash, $keywords)
- update_modtime ($hash, $guid)
-
+ update_modtime ($hash, $guid, $addr, $flags=0)
+
import_site ($arr, $pubkey)
build_sync_packet ($uid=0, $packet=null)
@@ -271,11 +271,11 @@ Functions
-
+
@@ -289,7 +289,25 @@ Functions
- $profile
+ $profile ,
+
+
+
+
+
+ $addr ,
+
+
+
+
+
+ $ud_flags = 1,
+
+
+
+
+
+ $suppress_update = 0
@@ -299,7 +317,7 @@ Functions
@@ -327,11 +345,11 @@ Functions
-
+
@@ -339,8 +357,18 @@ Functions
import_xchan
(
- $arr )
+ $arr ,
+
+
+
+
+ $ud_flags = 1
+
+
+
+ )
+
@@ -577,7 +605,7 @@ Functions
-
+
@@ -591,7 +619,19 @@ Functions
- $guid
+ $guid ,
+
+
+
+
+
+ $addr ,
+
+
+
+
+
+ $flags = 0
@@ -601,7 +641,7 @@ Functions
diff --git a/doc/html/zot_8php.js b/doc/html/zot_8php.js
index 86cc47ab9..ca1e0eebd 100644
--- a/doc/html/zot_8php.js
+++ b/doc/html/zot_8php.js
@@ -4,9 +4,9 @@ var zot_8php =
[ "build_sync_packet", "zot_8php.html#ac34e479d27f32b82dd6b33542f81a6a7", null ],
[ "delete_imported_item", "zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72", null ],
[ "import_directory_keywords", "zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a", null ],
- [ "import_directory_profile", "zot_8php.html#a3c9e0b243ba29a7b0c050bd0b86eee32", null ],
+ [ "import_directory_profile", "zot_8php.html#aeec89da5b6ff090c63a79de4de884a35", null ],
[ "import_site", "zot_8php.html#a2657e141d62d5f67ad3c87651b585299", null ],
- [ "import_xchan", "zot_8php.html#ab0227978011d8601494a7651fa26acf0", null ],
+ [ "import_xchan", "zot_8php.html#a56f3f65514e4e7f0cd117d01735aebd1", null ],
[ "process_channel_sync_delivery", "zot_8php.html#ac301c67864917c35922257950ae0f95c", null ],
[ "process_delivery", "zot_8php.html#a37ec13b18057634eadb071f05297f5e1", null ],
[ "process_mail_delivery", "zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc", null ],
@@ -14,7 +14,7 @@ var zot_8php =
[ "public_recips", "zot_8php.html#a083aec6c900d244e1bfc1406f9461465", null ],
[ "remove_community_tag", "zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10", null ],
[ "update_imported_item", "zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df", null ],
- [ "update_modtime", "zot_8php.html#abd83bc7e3db604bdca85c3a8c7e2bf63", null ],
+ [ "update_modtime", "zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd", null ],
[ "zot_build_packet", "zot_8php.html#a3862b3161b2c8557dc1a95020179bd81", null ],
[ "zot_fetch", "zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea", null ],
[ "zot_finger", "zot_8php.html#a77720d6b59894e9b609af89c310c8a4d", null ],
diff --git a/include/Contact.php b/include/Contact.php
index b9e879bcf..46c84aab6 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -219,7 +219,8 @@ function channel_remove($channel_id, $local = true) {
$r = q("update channel set channel_pageflags = (channel_pageflags | %d), channel_r_stream = 0, channel_r_profile = 0,
channel_r_photos = 0, channel_r_abook = 0, channel_w_stream = 0, channel_w_wall = 0, channel_w_tagwall = 0,
channel_w_comment = 0, channel_w_mail = 0, channel_w_photos = 0, channel_w_chat = 0, channel_a_delegate = 0,
- channel_r_storage = 0, channel_w_storage = 0, channel_r_pages = 0, channel_w_pages = 0 where channel_id = %d limit 1",
+ channel_r_storage = 0, channel_w_storage = 0, channel_r_pages = 0, channel_w_pages = 0, channel_a_republish = 0
+ where channel_id = %d limit 1",
intval(PAGE_REMOVED),
intval($channel_id)
);
diff --git a/include/ConversationObject.php b/include/ConversationObject.php
index 5157dad05..bb144d893 100644
--- a/include/ConversationObject.php
+++ b/include/ConversationObject.php
@@ -7,6 +7,7 @@ require_once('boot.php');
require_once('include/BaseObject.php');
require_once('include/ItemObject.php');
require_once('include/text.php');
+require_once('include/items.php');
/**
* A list of threads
@@ -154,7 +155,10 @@ class Conversation extends BaseObject {
$item->set_commentable(false);
}
elseif(($this->observer) && (! $item->is_commentable())) {
- $item->set_commentable(can_comment_on_post($this->observer['xchan_hash'],$item->data));
+ if((array_key_exists('owner',$item->data)) && ($item->data['owner']['abook_flags'] & ABOOK_FLAG_SELF))
+ $item->set_commentable(perm_is_allowed($this->profile_owner,$this->observer['xchan_hash'],'post_comments'));
+ else
+ $item->set_commentable(can_comment_on_post($this->observer['xchan_hash'],$item->data));
}
$item->set_conversation($this);
diff --git a/include/bbcode.php b/include/bbcode.php
index 997cbac2e..9b9c954c1 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -217,6 +217,18 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$ev = bbtoevent($Text);
+ // process [observer] tags before we do anything else because we might
+ // be stripping away stuff that then doesn't need to be worked on anymore
+ $observer = $a->get_observer();
+ if (strpos($Text,'[/observer]') !== false) {
+ if ($observer) {
+ $Text = preg_replace("/\[observer\=1\](.*?)\[\/observer\]/ism", '$1', $Text);
+ $Text = preg_replace("/\[observer\=0\].*?\[\/observer\]/ism", '', $Text);
+ } else {
+ $Text = preg_replace("/\[observer\=1\].*?\[\/observer\]/ism", '', $Text);
+ $Text = preg_replace("/\[observer\=0\](.*?)\[\/observer\]/ism", '$1', $Text);
+ }
+ }
// Replace any html brackets with HTML Entities to prevent executing HTML or script
// Don't use strip_tags here because it breaks [url] search by replacing & with amp
@@ -246,6 +258,22 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Set up the parameters for a MAIL search string
$MAILSearchString = $URLSearchString;
+ // replace [observer.baseurl]
+ if ($observer) {
+ $obsBaseURL = $observer['xchan_url'];
+ $obsBaseURL = preg_replace("/\/channel\/.*$/", '', $obsBaseURL);
+ $Text = str_replace('[observer.baseurl]', $obsBaseURL, $Text);
+ $Text = str_replace('[observer.url]',$observer['xchan_url'], $Text);
+ $Text = str_replace('[observer.name]',$observer['xchan_name'], $Text);
+ $Text = str_replace('[observer.address]',$observer['xchan_addr'], $Text);
+ $Text = str_replace('[observer.photo]','[zmg]'.$observer['xchan_photo_l'].'[/zmg]', $Text);
+ } else {
+ $Text = str_replace('[observer.baseurl]', '', $Text);
+ $Text = str_replace('[observer.url]','', $Text);
+ $Text = str_replace('[observer.name]','', $Text);
+ $Text = str_replace('[observer.address]','', $Text);
+ $Text = str_replace('[observer.photo]','', $Text);
+ }
// Perform URL Search
diff --git a/include/comanche.php b/include/comanche.php
index eb0de96c7..f1dd0e521 100644
--- a/include/comanche.php
+++ b/include/comanche.php
@@ -1,7 +1,7 @@
profile['profile_uid'],get_observer_hash());
- return render_menu($m);
+ return menu_render($m);
}
function comanche_replace_region($match) {
@@ -85,9 +85,10 @@ function comanche_replace_region($match) {
}
function comanche_block($name) {
+
$o = '';
- $r = q("select * from item left join item_id on iid = item_id and item_id.uid = item.uid and item.uid = %d and service = 'BUILDBLOCK' and sid = '%s' limit 1",
- intval($a->profile['profile_uid']),
+ $r = q("select * from item inner join item_id on iid = item.id and item_id.uid = item.uid and item.uid = %d and service = 'BUILDBLOCK' and sid = '%s' limit 1",
+ intval(get_app()->profile['profile_uid']),
dbesc($name)
);
if($r) {
diff --git a/include/config.php b/include/config.php
index 38840f5e4..ccd907424 100644
--- a/include/config.php
+++ b/include/config.php
@@ -24,6 +24,15 @@ function load_config($family) {
if(! array_key_exists('config_loaded',$a->config[$family])) {
$r = q("SELECT * FROM config WHERE cat = '%s'", dbesc($family));
+
+ // This is often one of the earliest database calls in the life of the page.
+ // If the DB was successfully opened, but we can't read from it,
+ // we must assume catastrophic failure of the DB. Report the system down.
+
+ if($r === false) {
+ system_unavailable();
+ }
+
if($r !== false) {
if($r) {
foreach($r as $rr) {
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index bc7faebc3..af05f8c9f 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -47,7 +47,7 @@ function findpeople_widget() {
'$hint' => t('Examples: Robert Morgenstein, Fishing'),
'$findthem' => t('Find'),
'$suggest' => t('Channel Suggestions'),
- '$similar' => t('Similar Interests'),
+ '$similar' => '', // FIXME and uncomment when mod/match working // t('Similar Interests'),
'$random' => t('Random Profile'),
'$inv' => t('Invite Friends')
));
diff --git a/include/dir_fns.php b/include/dir_fns.php
index 0b678fd91..585121434 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -13,7 +13,7 @@ function sync_directories($dirmode) {
return;
$r = q("select * from site where (site_flags & %d) and site_url != '%s'",
- intval(DIRECTORY_MODE_PRIMARY),
+ intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root())
);
@@ -34,16 +34,74 @@ function sync_directories($dirmode) {
dbesc($r[0]['site_directory'])
);
+ $r = q("select * from site where (site_flags & %d) and site_url != '%s'",
+ intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
+ dbesc(z_root())
+ );
+
}
+ if(! $r)
+ return;
+ foreach($r as $rr) {
+ if(! $rr['site_directory'])
+ continue;
+ $x = z_fetch_url($rr['site_directory'] . '?f=&sync=' . urlencode($rr['site_sync']));
+ if(! $x['success'])
+ continue;
+ $j = json_decode($x['body'],true);
+ if((! $j['transactions']) || (! is_array($j['transactions'])))
+ continue;
+ q("update site set site_sync = '%s' where site_url = '%s' limit 1",
+ dbesc(datetime_convert()),
+ dbesc($rr['site_url'])
+ );
+ logger('sync_directories: ' . $rr['site_url'] . ': ' . print_r($j,true), LOGGER_DATA);
-
-
+ if(count($j['transactions'])) {
+ foreach($j['transactions'] as $t) {
+ $r = q("select * from updates where ud_guid = '%s' limit 1",
+ dbesc($t['transaction_id'])
+ );
+ if($r)
+ continue;
+ $ud_flags = 0;
+ if(is_array($t['flags']) && in_array('deleted',$t['flags']))
+ $ud_flags |= UPDATE_FLAGS_DELETED;
+ $z = q("insert into updates ( ud_hash, ud_guid, ud_date, ud_flags, ud_addr )
+ values ( '%s', '%s', '%s', '%d, '%s' ) ",
+ dbesc($t['hash']),
+ dbesc($t['transaction_id']),
+ dbesc($t['timestamp']),
+ intval($ud_flags),
+ dbesc($t['address'])
+ );
+ }
+ }
+ }
}
+function update_directory_entry($ud) {
+
+ logger('update_directory_entry: ' . print_r($ud,true), LOGGER_DATA);
+
+ if($ud['ud_addr'] && (! ($ud['ud_flags'] & UPDATE_FLAGS_DELETED))) {
+ $x = zot_finger($ud['ud_addr'],'');
+ if($x['success']) {
+ $j = json_decode($x['body'],true);
+ $y = import_xchan($j,0);
+ }
+ else {
+ $r = q("update updates set ud_last = '%s' where ud_addr = '%s'",
+ dbesc(datetime_convert()),
+ dbesc($ud['ud_addr'])
+ );
+ }
+ }
+}
diff --git a/include/enotify.php b/include/enotify.php
index b2a4f5856..147023f41 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -51,9 +51,9 @@ function notification($params) {
$additional_mail_header = "";
if(array_key_exists('item',$params)) {
+ require_once('include/conversation.php');
// if it's a normal item...
if(array_key_exists('verb',$params['item'])) {
- require_once('include/conversation.php');
// localize_item() alters the original item so make a copy first
$i = $params['item'];
logger('calling localize');
@@ -89,6 +89,11 @@ function notification($params) {
if($params['type'] == NOTIFY_COMMENT) {
// logger("notification: params = " . print_r($params, true), LOGGER_DEBUG);
+ // ignore like/unlike activity on posts - they probably require a sepearate notification preference
+
+ if(array_key_exists('item',$params) && (! visible_activity($params['item'])))
+ return;
+
$parent_id = $params['parent'];
// Check to see if there was already a notify for this post.
diff --git a/include/features.php b/include/features.php
index 6272b33ea..9950039c0 100644
--- a/include/features.php
+++ b/include/features.php
@@ -35,6 +35,7 @@ function get_features() {
t('Post Composition Features'),
array('richtext', t('Richtext Editor'), t('Enable richtext editor')),
array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them')),
+ array('channel_sources', t('Channel Sources'), t('Automatically import channel content from other channels or feeds')),
),
// Network Tools
diff --git a/include/identity.php b/include/identity.php
index 98209c8ae..d6b6735f6 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -48,7 +48,7 @@ function validate_channelname($name) {
function create_dir_account() {
- create_account(array(
+ create_identity(array(
'account_id' => 'xxx', // This will create an identity with an (integer) account_id of 0, but account_id is required
'nickname' => 'dir',
'name' => 'Directory',
diff --git a/include/items.php b/include/items.php
index 44917233f..18736f974 100755
--- a/include/items.php
+++ b/include/items.php
@@ -24,10 +24,31 @@ function collect_recipients($item,&$private) {
if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid']) {
$allow_people = expand_acl($item['allow_cid']);
$allow_groups = expand_groups(expand_acl($item['allow_gid']));
+
+ $recipients = array_unique(array_merge($allow_people,$allow_groups));
+
+ // if you specifically deny somebody but haven't allowed anybody, we'll allow everybody in your
+ // address book minus the denied connections. The post is still private and can't be seen publicly
+ // as that would allow the denied person to see the post by logging out.
+
+ if((! $item['allow_cid']) && (! $item['allow_gid'])) {
+ $r = q("select * from abook where abook_channel = %d and not (abook_flags & %d) and not (abook_flags & %d) and not (abook_flags & %d)",
+ intval($item['uid']),
+ intval(ABOOK_FLAG_SELF),
+ intval(ABOOK_FLAG_PENDING),
+ intval(ABOOK_FLAG_ARCHIVED)
+ );
+
+ if($r) {
+ foreach($r as $rr) {
+ $recipients[] = $rr['abook_xchan'];
+ }
+ }
+ }
+
$deny_people = expand_acl($item['deny_cid']);
$deny_groups = expand_groups(expand_acl($item['deny_gid']));
- $recipients = array_unique(array_merge($allow_people,$allow_groups));
$deny = array_unique(array_merge($deny_people,$deny_groups));
$recipients = array_diff($recipients,$deny);
$private = true;
@@ -62,9 +83,20 @@ function collect_recipients($item,&$private) {
}
-
-
+/**
+ * @function can_comment_on_post($observer_xchan,$item);
+ *
+ * This function examines the comment_policy attached to an item and decides if the current observer has
+ * sufficient privileges to comment. This will normally be called on a remote site where perm_is_allowed()
+ * will not be suitable because the post owner does not have a local channel_id.
+ * Generally we should look at the item - in particular the author['book_flags'] and see if ABOOK_FLAG_SELF is set.
+ * If it is, you should be able to use perm_is_allowed( ... 'post_comments'), and if it isn't you need to call
+ * can_comment_on_post()
+ */
function can_comment_on_post($observer_xchan,$item) {
+
+// logger('can_comment_on_post: comment_policy: ' . $item['comment_policy'], LOGGER_DEBUG);
+
if(! $observer_xchan)
return false;
if($item['comment_policy'] === 'none')
@@ -77,6 +109,10 @@ function can_comment_on_post($observer_xchan,$item) {
return true;
break;
case 'public':
+ // We don't allow public comments yet, until a policy
+ // for dealing with anonymous comments is in place with
+ // a means to moderate comments. Until that time, return
+ // false.
return false;
break;
case 'contacts':
@@ -1265,14 +1301,9 @@ function get_atom_elements($feed,$item) {
$res['object'] .= '' . xmlify($body) . ' ' . "\n";
if((strpos($body,'<') !== false) || (strpos($body,'>') !== false)) {
- $body = html2bb_video($body);
-
- $config = HTMLPurifier_Config::createDefault();
- $config->set('Cache.DefinitionImpl', null);
-
- $purifier = new HTMLPurifier($config);
- $body = $purifier->purify($body);
+ $body = purify_html($body);
$body = html2bbcode($body);
+
}
$res['object'] .= '' . $body . ' ' . "\n";
@@ -1303,13 +1334,7 @@ function get_atom_elements($feed,$item) {
$res['target'] .= '' . xmlify($body) . ' ' . "\n";
if((strpos($body,'<') !== false) || (strpos($body,'>') !== false)) {
- $body = html2bb_video($body);
-
- $config = HTMLPurifier_Config::createDefault();
- $config->set('Cache.DefinitionImpl', null);
-
- $purifier = new HTMLPurifier($config);
- $body = $purifier->purify($body);
+ $body = purify_html($body);
$body = html2bbcode($body);
}
@@ -1348,6 +1373,7 @@ function get_atom_elements($feed,$item) {
$arr = array('feed' => $feed, 'item' => $item, 'result' => $res);
call_hooks('parse_atom', $arr);
+ logger('get_atom_elements: ' . print_r($res,true));
return $res;
}
@@ -2038,6 +2064,12 @@ function tag_deliver($uid,$item_id) {
logger('tag_deliver: tag permission denied for ' . $u[0]['channel_address']);
}
+
+ $union = check_item_source($uid,$item);
+ if($union)
+ logger('check_item_source returns true');
+
+
// This might be a followup by the original post author to a tagged forum
// If so setup a second delivery chain
@@ -2104,43 +2136,45 @@ function tag_deliver($uid,$item_id) {
intval(ITEM_MENTIONSME),
intval($item_id)
);
- }
- else
- return;
- // At this point we've determined that the person receiving this post was mentioned in it.
- // Now let's check if this mention was inside a reshare so we don't spam a forum
+ // At this point we've determined that the person receiving this post was mentioned in it or it is a union.
+ // Now let's check if this mention was inside a reshare so we don't spam a forum
- $body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
+ $body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
- $pattern = '/@\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/';
+ $pattern = '/@\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/';
- if(! preg_match($pattern,$body,$matches)) {
- logger('tag_deliver: mention was in a reshare - ignoring');
- return;
- }
+ if(! preg_match($pattern,$body,$matches)) {
+ logger('tag_deliver: mention was in a reshare - ignoring');
+ return;
+ }
- // All good.
- // Send a notification
+ // All good.
+ // Send a notification
- require_once('include/enotify.php');
- notification(array(
- 'to_xchan' => $u[0]['channel_hash'],
- 'from_xchan' => $item['author_xchan'],
- 'type' => NOTIFY_TAGSELF,
- 'item' => $item,
- 'link' => $i[0]['llink'],
- 'verb' => ACTIVITY_TAG,
- 'otype' => 'item'
- ));
+ require_once('include/enotify.php');
+ notification(array(
+ 'to_xchan' => $u[0]['channel_hash'],
+ 'from_xchan' => $item['author_xchan'],
+ 'type' => NOTIFY_TAGSELF,
+ 'item' => $item,
+ 'link' => $i[0]['llink'],
+ 'verb' => ACTIVITY_TAG,
+ 'otype' => 'item'
+ ));
- if(! perm_is_allowed($uid,$item['author_xchan'],'tag_deliver')) {
- logger('tag_delivery denied for uid ' . $uid . ' and xchan ' . $item['author_xchan']);
- return;
+ if(! perm_is_allowed($uid,$item['author_xchan'],'tag_deliver')) {
+ logger('tag_delivery denied for uid ' . $uid . ' and xchan ' . $item['author_xchan']);
+ return;
+ }
+
}
+ if((! $mention) && (! $union))
+ return;
+
// tgroup delivery - setup a second delivery chain
// prevent delivery looping - only proceed
@@ -2248,6 +2282,73 @@ function tgroup_check($uid,$item) {
}
+/**
+ * @function check_item_source($uid,$item)
+ * @param $uid
+ * @param $item
+ *
+ * @description
+ * Checks to see if this item owner is referenced as a source for this channel and if the post
+ * matches the rules for inclusion in this channel. Returns true if we should create a second delivery
+ * chain and false if none of the rules apply, or if the item is private.
+ */
+
+
+function check_item_source($uid,$item) {
+
+ if($item['item_private'])
+ return false;
+
+
+ $r = q("select * from source where src_channel_id = %d and src_xchan = '%s' limit 1",
+ intval($uid),
+ dbesc($item['owner_xchan'])
+ );
+
+ if(! $r)
+ return false;
+
+ $x = q("select abook_their_perms from abook where abook_channel = %d and abook_xchan = '%s' limit 1",
+ intval($uid),
+ dbesc($item['owner_xchan'])
+ );
+
+ if(! $x)
+ return false;
+
+ if(! ($x[0]['abook_their_perms'] & PERMS_A_REPUBLISH))
+ return false;
+
+ if($r[0]['src_channel_xchan'] === $item['owner_xchan'])
+ return false;
+
+ if(! $r[0]['src_patt'])
+ return true;
+
+ require_once('include/html2plain.php');
+ $text = prepare_text($item['body'],$item['mimetype']);
+ $text = html2plain($text);
+
+ $tags = ((count($items['term'])) ? $items['term'] : false);
+
+ $words = explode("\n",$r[0]['src_patt']);
+ if($words) {
+ foreach($words as $word) {
+ if(substr($word,0,1) === '#' && $tags) {
+ foreach($tags as $t)
+ if($t['type'] == TERM_HASHTAG && substr($t,1) === $word)
+ return true;
+ }
+ if(stristr($text,$word) !== false)
+ return true;
+ }
+ }
+ return false;
+}
+
+
+
+
function mail_store($arr) {
if(! $arr['channel_id']) {
@@ -2576,6 +2677,9 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
logger('consume_feed: empty input');
return;
}
+
+ // Want to see this work as a content source for the matrix?
+ // Read this: https://github.com/friendica/red/wiki/Service_Federation
$feed = new SimplePie();
$feed->set_raw_data($xml);
@@ -2592,12 +2696,6 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
// Check at the feed level for updated contact name and/or photo
- $name_updated = '';
- $new_name = '';
- $photo_timestamp = '';
- $photo_url = '';
- $birthday = '';
-
// process any deleted entries
@@ -2619,7 +2717,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
/* $r = q("SELECT `item`.*, `contact`.`self` FROM `item` left join `contact` on `item`.`contact-id` = `contact`.`id`
WHERE `mid` = '%s' AND `item`.`uid` = %d AND `contact-id` = %d AND NOT `item`.`file` LIKE '%%[%%' LIMIT 1",
dbesc($mid),
- intval($importer['uid']),
+ intval($importer['channel_id']),
intval($contact['id'])
);
*/
@@ -2637,7 +2735,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
dbesc($when),
dbesc(datetime_convert()),
dbesc($item['mid']),
- intval($importer['uid'])
+ intval($importer['channel_id'])
);
}
else {
@@ -2648,7 +2746,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
dbesc($when),
dbesc(datetime_convert()),
dbesc($mid),
- intval($importer['uid'])
+ intval($importer['channel_id'])
);
}
}
@@ -2673,6 +2771,9 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$is_reply = false;
$item_id = $item->get_id();
+
+logger('consume_feed: processing ' . $item_id);
+
$rawthread = $item->get_item_tags( NAMESPACE_THREAD,'in-reply-to');
if(isset($rawthread[0]['attribs']['']['ref'])) {
$is_reply = true;
@@ -2684,11 +2785,6 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
if($pass == 1)
continue;
- // not allowed to post
-// FIXME - check permissions
-// if($contact['rel'] == CONTACT_IS_FOLLOWER)
-// continue;
-
// Have we seen it? If not, import it.
@@ -2710,12 +2806,12 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item_id),
- intval($importer['uid'])
+ intval($importer['channel_id'])
);
// Update content if 'updated' changes
- if(count($r)) {
+ if($r) {
if((x($datarray,'edited') !== false) && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
// do not accept (ignore) an earlier edit than one we currently have.
@@ -2727,7 +2823,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
dbesc($datarray['body']),
dbesc(datetime_convert('UTC','UTC',$datarray['edited'])),
dbesc($item_id),
- intval($importer['uid'])
+ intval($importer['channel_id'])
);
}
@@ -2736,7 +2832,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$datarray['parent_mid'] = $parent_mid;
- $datarray['uid'] = $importer['uid'];
+ $datarray['uid'] = $importer['channel_id'];
$datarray['contact-id'] = $contact['id'];
if((activity_match($datarray['verb'],ACTIVITY_LIKE)) || (activity_match($datarray['verb'],ACTIVITY_DISLIKE))) {
$datarray['type'] = 'activity';
@@ -2760,7 +2856,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
if($xt->type == ACTIVITY_OBJ_NOTE) {
$r = q("select * from item where `mid` = '%s' AND `uid` = %d limit 1",
dbesc($xt->id),
- intval($importer['importer_uid'])
+ intval($importer['channel_id'])
);
if(! count($r))
continue;
@@ -2778,7 +2874,9 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
}
- $xx = item_store($datarray);
+logger('consume_feed: ' . print_r($datarray,true));
+
+// $xx = item_store($datarray);
$r = $xx['item_id'];
continue;
}
@@ -2810,7 +2908,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
if((x($datarray,'obj_type')) && ($datarray['obj_type'] === ACTIVITY_OBJ_EVENT)) {
$ev = bbtoevent($datarray['body']);
if(x($ev,'desc') && x($ev,'start')) {
- $ev['uid'] = $importer['uid'];
+ $ev['uid'] = $importer['channel_id'];
$ev['mid'] = $item_id;
$ev['edited'] = $datarray['edited'];
$ev['private'] = $datarray['private'];
@@ -2819,23 +2917,23 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$ev['cid'] = $contact['id'];
$r = q("SELECT * FROM `event` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item_id),
- intval($importer['uid'])
+ intval($importer['channel_id'])
);
if(count($r))
$ev['id'] = $r[0]['id'];
- $xyz = event_store($ev);
+// $xyz = event_store($ev);
continue;
}
}
$r = q("SELECT `uid`, `edited`, `body` FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item_id),
- intval($importer['uid'])
+ intval($importer['channel_id'])
);
// Update content if 'updated' changes
- if(count($r)) {
+ if($r) {
if((x($datarray,'edited') !== false) && (datetime_convert('UTC','UTC',$datarray['edited']) !== $r[0]['edited'])) {
// do not accept (ignore) an earlier edit than one we currently have.
@@ -2847,7 +2945,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
dbesc($datarray['body']),
dbesc(datetime_convert('UTC','UTC',$datarray['edited'])),
dbesc($item_id),
- intval($importer['uid'])
+ intval($importer['channel_id'])
);
}
@@ -2875,8 +2973,8 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
- if(! is_array($contact))
- return;
+// if(! is_array($contact))
+// return;
// This is my contact on another system, but it's really me.
@@ -2887,7 +2985,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
}
$datarray['parent_mid'] = $item_id;
- $datarray['uid'] = $importer['uid'];
+ $datarray['uid'] = $importer['channel_id'];
$datarray['contact-id'] = $contact['id'];
if(! link_compare($datarray['owner-link'],$contact['url'])) {
@@ -2905,17 +3003,20 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
// posting an @-tag delivery, which followers are allowed to do for certain
// page types. Now that we've parsed the post, let's check if it is legit. Otherwise ignore it.
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) && (! tgroup_check($importer['uid'],$datarray)))
+ if(($contact['rel'] == CONTACT_IS_FOLLOWER) && (! tgroup_check($importer['channel_id'],$datarray)))
continue;
+logger('consume_feed: ' . print_r($datarray,true));
- $xx = item_store($datarray);
+// $xx = item_store($datarray);
$r = $xx['item_id'];
continue;
}
}
}
+
+
}
@@ -3670,9 +3771,9 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
elseif($arr['cid'] && $uid) {
- $r = q("SELECT * from abook where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
intval($arr['cid']),
- intval($uid)
+ intval(local_user())
);
if($r) {
$sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval($arr['uid']) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
@@ -3853,4 +3954,4 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
return $items;
-}
\ No newline at end of file
+}
diff --git a/include/onedirsync.php b/include/onedirsync.php
new file mode 100644
index 000000000..b9c17628a
--- /dev/null
+++ b/include/onedirsync.php
@@ -0,0 +1,42 @@
+ 1) && (intval($argv[1])))
+ $update_id = intval($argv[1]);
+
+ if(! $update_id) {
+ logger('onedirsync: no update');
+ return;
+ }
+
+ $r = q("select * from updates where ud_id = %d limit 1",
+ intval($update_id)
+ );
+
+ if(! $r)
+ return;
+ if($r['ud_flags'] & UPDATE_FLAGS_UPDATED)
+ return;
+
+ update_directory_entry($r[0]);
+
+ return;
+}
+
+if (array_search(__file__,get_included_files())===0){
+ onedirsync_run($argv,$argc);
+ killme();
+}
diff --git a/include/page_widgets.php b/include/page_widgets.php
index 23d6d25ba..d70281afc 100644
--- a/include/page_widgets.php
+++ b/include/page_widgets.php
@@ -5,7 +5,7 @@ function writepages_widget ($who,$which){
return replace_macros(get_markup_template('write_pages.tpl'), array(
'$new' => t('New Page'),
'$newurl' => "webpages/$who",
- '$edit' => t('edit'),
+ '$edit' => t('Edit'),
'$editurl' => "editwebpage/$who/$which"
));
}
diff --git a/include/permissions.php b/include/permissions.php
index bf50ebdd1..45ea7c3eb 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -28,6 +28,7 @@ function get_perms() {
'write_storage' => array('channel_w_storage', intval(PERMS_W_STORAGE), false, t('Can write to my "public" file storage'), ''),
'write_pages' => array('channel_w_pages', intval(PERMS_W_PAGES), false, t('Can edit my "public" pages'), ''),
+ 'republish' => array('channel_a_republish', intval(PERMS_A_REPUBLISH), false, t('Can source my "public" posts in derived channels'), t('Somewhat advanced - very useful in open communities')),
'delegate' => array('channel_a_delegate', intval(PERMS_A_DELEGATE), false, t('Can administer my channel resources'), t('Extremely advanced. Leave this alone unless you know what you are doing')),
);
$ret = array('global_permissions' => $global_perms);
diff --git a/include/poller.php b/include/poller.php
index f084005c7..05584a05d 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -69,6 +69,8 @@ function poller_run($argv, $argc){
$d1 = get_config('system','last_expire_day');
$d2 = intval(datetime_convert('UTC','UTC','now','d'));
+ $dirmode = get_config('system','directory_mode');
+
if($d2 != intval($d1)) {
// If this is a directory server, request a sync with an upstream
@@ -76,7 +78,6 @@ function poller_run($argv, $argc){
// Pull remote changes and push local changes.
// potential issue: how do we keep from creating an endless update loop?
- $dirmode = get_config('system','directory_mode');
if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
require_once('include/dir_fns.php');
sync_directories($dirmode);
@@ -171,76 +172,95 @@ function poller_run($argv, $argc){
);
- if(! $contacts) {
- return;
- }
+ if($contacts) {
- foreach($contacts as $contact) {
+ foreach($contacts as $contact) {
- $update = false;
+ $update = false;
- $t = $contact['abook_updated'];
- $c = $contact['abook_connected'];
+ $t = $contact['abook_updated'];
+ $c = $contact['abook_connected'];
- if($c == $t) {
- if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
- $update = true;
- }
- else {
- // if we've never connected with them, start the mark for death countdown from now
-
- if($c == '0000-00-00 00:00:00') {
- $r = q("update abook set abook_connected = '%s' where abook_id = %d limit 1",
- dbesc(datetime_convert()),
- intval($contact['abook_id'])
- );
- $c = datetime_convert();
- $update = true;
+ if($c == $t) {
+ if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
+ $update = true;
}
+ else {
+ // if we've never connected with them, start the mark for death countdown from now
- // He's dead, Jim
+ if($c == '0000-00-00 00:00:00') {
+ $r = q("update abook set abook_connected = '%s' where abook_id = %d limit 1",
+ dbesc(datetime_convert()),
+ intval($contact['abook_id'])
+ );
+ $c = datetime_convert();
+ $update = true;
+ }
- if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 30 day")) > 0) {
- $r = q("update abook set abook_flags = (abook_flags | %d) where abook_id = %d limit 1",
- intval(ABOOK_FLAG_ARCHIVED),
- intval($contact['abook_id'])
- );
- $update = false;
- continue;
- }
+ // He's dead, Jim
- if($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) {
- $update = false;
- continue;
- }
+ if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 30 day")) > 0) {
+ $r = q("update abook set abook_flags = (abook_flags | %d) where abook_id = %d limit 1",
+ intval(ABOOK_FLAG_ARCHIVED),
+ intval($contact['abook_id'])
+ );
+ $update = false;
+ continue;
+ }
- // might be dead, so maybe don't poll quite so often
+ if($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) {
+ $update = false;
+ continue;
+ }
- // recently deceased, so keep up the regular schedule for 3 days
+ // might be dead, so maybe don't poll quite so often
+
+ // recently deceased, so keep up the regular schedule for 3 days
- if((strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 3 day")) > 0)
- && (strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 1 day")) > 0))
- $update = true;
+ if((strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 3 day")) > 0)
+ && (strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 1 day")) > 0))
+ $update = true;
+
+ // After that back off and put them on a morphine drip
+
+ if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 2 day")) > 0) {
+ $update = true;
+ }
- // After that back off and put them on a morphine drip
- if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 2 day")) > 0) {
- $update = true;
}
+ if((! $update) && (! $force))
+ continue;
+
+ proc_run('php','include/onepoll.php',$contact['abook_id']);
+ if($interval)
+ @time_sleep_until(microtime(true) + (float) $interval);
}
-
- if((! $update) && (! $force))
- continue;
-
- proc_run('php','include/onepoll.php',$contact['abook_id']);
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
-
}
+ if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
+ $r = q("select ud_id from updates where not ( ud_flags & %d ) and ( ud_last = '0000-00-00 00:00:00' OR ud_last > UTC_TIMESTAMP() - INTERVAL 7 DAYS) ",
+ intval(UPDATE_FLAGS_UPDATED)
+ );
+ if($r) {
+ foreach($r as $rr) {
+
+ // If they didn't respond when we attempted before, back off to once a day
+ // After 7 days we won't bother anymore
+
+ if($rr['ud_last'] != '0000-00-00 00:00:00')
+ if($rr['ud_last'] > datetime_convert('UTC','UTC', 'now - 1 day'))
+ continue;
+ proc_run('php','include/onedirsync.php',$rr['ud_id']);
+ if($interval)
+ @time_sleep_until(microtime(true) + (float) $interval);
+ }
+ }
+ }
+
return;
}
diff --git a/include/security.php b/include/security.php
index 4738e473b..1181e6bf2 100644
--- a/include/security.php
+++ b/include/security.php
@@ -302,16 +302,19 @@ function public_permissions_sql($observer_hash) {
foreach($groups as $g)
$gs .= '|<' . $g . '>';
}
- $sql = sprintf(
- " OR (( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
- AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
- ))
- ",
- dbesc(protect_sprintf( '%<' . $observer_hash . '>%')),
- dbesc($gs),
- dbesc(protect_sprintf( '%<' . $observer_hash . '>%')),
- dbesc($gs)
- );
+ $sql = '';
+ if($observer_hash) {
+ $sql = sprintf(
+ " OR (( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
+ AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
+ ))
+ ",
+ dbesc(protect_sprintf( '%<' . $observer_hash . '>%')),
+ dbesc($gs),
+ dbesc(protect_sprintf( '%<' . $observer_hash . '>%')),
+ dbesc($gs)
+ );
+ }
return $sql;
}
@@ -409,7 +412,7 @@ function stream_perms_api_uids($perms_min = PERMS_SITE) {
$ret = array();
if(local_user())
$ret[] = local_user();
- $r = q("select channel_id from channel where channel_r_stream <= %d",
+ $r = q("select channel_id from channel where channel_r_stream > 0 and channel_r_stream <= %d",
intval($perms_min)
);
if($r)
@@ -424,6 +427,30 @@ function stream_perms_api_uids($perms_min = PERMS_SITE) {
$str .= ',';
$str .= intval($rr);
}
+logger('stream_perms_api_uids: ' . $str);
return $str;
}
+function stream_perms_xchans($perms_min = PERMS_SITE) {
+ $ret = array();
+ if(local_user())
+ $ret[] = get_observer_hash();
+
+ $r = q("select channel_hash from channel where channel_r_stream > 0 and channel_r_stream <= %d",
+ intval($perms_min)
+ );
+ if($r)
+ foreach($r as $rr)
+ if(! in_array($rr['channel_hash'],$ret))
+ $ret[] = $rr['channel_hash'];
+
+ $str = '';
+ if($ret)
+ foreach($ret as $rr) {
+ if($str)
+ $str .= ',';
+ $str .= "'" . dbesc($rr) . "'";
+ }
+logger('stream_perms_xchans: ' . $str);
+ return $str;
+}
diff --git a/include/text.php b/include/text.php
index 40df8bd89..69c258488 100755
--- a/include/text.php
+++ b/include/text.php
@@ -1312,7 +1312,7 @@ function get_plink($item) {
$a = get_app();
if (x($item,'plink') && ($item['item_private'] != 1)) {
return array(
- 'href' => $item['plink'],
+ 'href' => zid($item['plink']),
'title' => t('link to source'),
);
}
@@ -1835,16 +1835,17 @@ function json_decode_plus($s) {
function design_tools() {
-// FIXME - this should be a template
+$channel = get_app()->get_channel();
+$who = $channel['channel_address'];
- $o = '';
- return $o;
+return replace_macros(get_markup_template('design_tools.tpl'), array(
+ '$title' => t('Design'),
+ '$who' => $who,
+ '$blocks' => t('Blocks'),
+ '$menus' => t('Menus'),
+ '$layout' => t('Layouts'),
+ '$pages' => t('Pages')
+ ));
}
diff --git a/include/zot.php b/include/zot.php
index efcc4abaa..33bb60c0f 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -411,7 +411,7 @@ function zot_register_hub($arr) {
// If the xchan already exists, update the name and photo if these have changed.
//
-function import_xchan($arr) {
+function import_xchan($arr,$ud_flags = 1) {
$ret = array('success' => false);
$dirmode = intval(get_config('system','directory_mode'));
@@ -469,6 +469,11 @@ function import_xchan($arr) {
else
$new_flags = $r[0]['xchan_flags'];
+ $adult = (($r[0]['xchan_flags'] & XCHAN_FLAGS_SELFCENSORED) ? true : false);
+ $adult_changed = ((intval($adult) != intval($arr['adult_content'])) ? true : false);
+ if($adult_changed)
+ $new_flags = $new_flags ^ XCHAN_FLAGS_SELFCENSORED;
+
if(($r[0]['xchan_name_date'] != $arr['name_updated'])
|| ($r[0]['xchan_connurl'] != $arr['connections_url'])
@@ -511,6 +516,8 @@ function import_xchan($arr) {
$new_flags = XCHAN_FLAGS_HIDDEN;
else
$new_flags = 0;
+ if($arr['adult_content'])
+ $new_flags |= XCHAN_FLAGS_SELFCENSORED;
$x = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_mimetype,
xchan_photo_l, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_flags)
@@ -681,7 +688,7 @@ function import_xchan($arr) {
if($dirmode != DIRECTORY_MODE_NORMAL) {
if(array_key_exists('profile',$arr) && is_array($arr['profile'])) {
- $profile_changed = import_directory_profile($xchan_hash,$arr['profile']);
+ $profile_changed = import_directory_profile($xchan_hash,$arr['profile'],$arr['address'],$ud_flags, 1);
if($profile_changed) {
$what .= 'profile ';
$changed = true;
@@ -711,7 +718,7 @@ function import_xchan($arr) {
if($changed) {
$guid = random_string() . '@' . get_app()->get_hostname();
- update_modtime($xchan_hash,$guid);
+ update_modtime($xchan_hash,$guid,$arr['address'],$ud_flags);
logger('import_xchan: changed: ' . $what,LOGGER_DEBUG);
}
@@ -781,10 +788,6 @@ function zot_fetch($arr) {
logger('zot_fetch: no hub: ' . print_r($arr['sender'],true));
return;
}
-
-
- $ret_secret = json_encode(array($arr['secret'],'secret_sig' => base64url_encode(rsa_sign($arr['secret'],get_config('system','prvkey')))));
-
$data = array(
'type' => 'pickup',
@@ -795,7 +798,6 @@ function zot_fetch($arr) {
'secret_sig' => base64url_encode(rsa_sign($arr['secret'],get_config('system','prvkey')))
);
-
$datatosend = json_encode(aes_encapsulate(json_encode($data),$ret_hub['hubloc_sitekey']));
$fetch = zot_zot($url,$datatosend);
@@ -1364,7 +1366,12 @@ function process_profile_delivery($sender,$arr,$deliveries) {
// deliveries is irrelevant, what to do about birthday notification....?
logger('process_profile_delivery', LOGGER_DEBUG);
- import_directory_profile($sender['hash'],$arr);
+
+ $r = q("select xchan_addr from xchan where xchan_hash = '%s' limit 1",
+ dbesc($sender['hash'])
+ );
+ if($r)
+ import_directory_profile($sender['hash'],$arr,$r[0]['xchan_addr'], 1, 0);
}
@@ -1375,7 +1382,7 @@ function process_profile_delivery($sender,$arr,$deliveries) {
*
*/
-function import_directory_profile($hash,$profile) {
+function import_directory_profile($hash,$profile,$addr,$ud_flags = 1, $suppress_update = 0) {
logger('import_directory_profile', LOGGER_DEBUG);
if(! $hash)
@@ -1410,9 +1417,10 @@ function import_directory_profile($hash,$profile) {
// Self censored, make it so
// These are not translated, so the German "erwachsenen" keyword will not censor the directory profile. Only the English form - "adult".
+
if(in_arrayi('nsfw',$clean) || in_arrayi('adult',$clean)) {
q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s' limit 1",
- intval(XCHAN_FLAGS_CENSORED),
+ intval(XCHAN_FLAGS_SELFCENSORED),
dbesc($hash)
);
}
@@ -1481,8 +1489,8 @@ function import_directory_profile($hash,$profile) {
$d = array('xprof' => $arr, 'profile' => $profile, 'update' => $update);
call_hooks('import_directory_profile', $d);
- if($d['update'])
- update_modtime($arr['xprof_hash'],random_string() . '@' . get_app()->get_hostname());
+ if(($d['update']) && (! $suppress_update))
+ update_modtime($arr['xprof_hash'],random_string() . '@' . get_app()->get_hostname(), $addr, $ud_flags);
return $d['update'];
}
@@ -1522,12 +1530,23 @@ function import_directory_keywords($hash,$keywords) {
}
-function update_modtime($hash,$guid) {
- q("insert into updates (ud_hash, ud_guid, ud_date) values ( '%s', '%s', '%s' )",
- dbesc($hash),
- dbesc($guid),
- dbesc(datetime_convert())
- );
+function update_modtime($hash,$guid,$addr,$flags = 0) {
+
+ if($flags) {
+ q("insert into updates (ud_hash, ud_guid, ud_date, ud_flags, ud_addr ) values ( '%s', '%s', '%s', %d, '%s' )",
+ dbesc($hash),
+ dbesc($guid),
+ dbesc(datetime_convert()),
+ intval($flags),
+ dbesc($addr)
+ );
+ }
+ else {
+ q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d) ",
+ intval(UPDATE_FLAGS_UPDATED),
+ intval(UPDATE_FLAGS_UPDATED)
+ );
+ }
}
diff --git a/install/INSTALL.txt b/install/INSTALL.txt
index 89b53c7c0..ee029f0ee 100644
--- a/install/INSTALL.txt
+++ b/install/INSTALL.txt
@@ -80,6 +80,13 @@ directory/path component in the URL) is REQUIRED.
chmod 777 view/tpl/smarty3
+ [This permission (777) is very dangerous and if you have sufficient
+ privilege and knowledge you should make this directory writeable only
+ by the webserver. In many shared hosting environments this may be
+ difficult without opening a trouble ticket with your provider. The
+ above permissions will allow the software to work, but are not
+ optimal.]
+
- For installing addons
- First you should be **on** your website folder
diff --git a/install/database.sql b/install/database.sql
index 44e211630..eb573fb4d 100644
--- a/install/database.sql
+++ b/install/database.sql
@@ -181,6 +181,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_w_storage` int(10) unsigned NOT NULL DEFAULT '128',
`channel_r_pages` int(10) unsigned NOT NULL DEFAULT '128',
`channel_w_pages` int(10) unsigned NOT NULL DEFAULT '128',
+ `channel_a_republish` int(1) unsigned NOT NULL DEFAULT '128',
PRIMARY KEY (`channel_id`),
UNIQUE KEY `channel_address_unique` (`channel_address`),
KEY `channel_account_id` (`channel_account_id`),
@@ -213,6 +214,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_w_storage` (`channel_w_storage`),
KEY `channel_r_pages` (`channel_r_pages`),
KEY `channel_w_pages` (`channel_w_pages`),
+ KEY `channel_a_republish` (`channel_a_republish`),
KEY `channel_deleted` (`channel_deleted`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@@ -823,6 +825,7 @@ CREATE TABLE IF NOT EXISTS `site` (
`site_access` int(11) NOT NULL DEFAULT '0',
`site_flags` int(11) NOT NULL DEFAULT '0',
`site_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `site_sync` datetime NOT NULL,
`site_directory` char(255) NOT NULL DEFAULT '',
`site_register` int(11) NOT NULL DEFAULT '0',
`site_sellpage` char(255) NOT NULL DEFAULT '',
@@ -835,6 +838,18 @@ CREATE TABLE IF NOT EXISTS `site` (
KEY `site_sellpage` (`site_sellpage`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE IF NOT EXISTS `source` (
+ `src_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `src_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `src_channel_xchan` char(255) NOT NULL DEFAULT '',
+ `src_xchan` char(255) NOT NULL DEFAULT '',
+ `src_patt` mediumtext NOT NULL,
+ PRIMARY KEY (`src_id`),
+ KEY `src_channel_id` (`src_channel_id`),
+ KEY `src_channel_xchan` (`src_channel_xchan`),
+ KEY `src_xchan` (`src_xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
CREATE TABLE IF NOT EXISTS `spam` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
@@ -891,6 +906,7 @@ CREATE TABLE IF NOT EXISTS `updates` (
`ud_hash` char(128) NOT NULL,
`ud_guid` char(255) NOT NULL DEFAULT '',
`ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ud_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ud_flags` int(11) NOT NULL DEFAULT '0',
`ud_addr` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`ud_id`),
@@ -898,7 +914,8 @@ CREATE TABLE IF NOT EXISTS `updates` (
KEY `ud_guid` (`ud_guid`),
KEY `ud_date` (`ud_date`),
KEY `ud_flags` (`ud_flags`),
- KEY `ud_addr` (`ud_addr`)
+ KEY `ud_addr` (`ud_addr`),
+ KEY `ud_last` (`ud_last`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `verify` (
diff --git a/install/update.php b/install/update.php
index d2d6a0cb7..8a583a947 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
+
+
+
+
+ ColorPicker - jQuery plugin
+
+
+
+
+
+
+
+
+
Color Picker - jQuery plugin
+
+
+
+
About
+
A simple component to select color in the same way you select color in Adobe Photoshop
+
Last update
+
23.05.2009 - Check Download tab
+
Features
+
+ Flat mode - as element in page
+ Powerful controls for color selection
+ Easy to customize the look by changing some images
+ Fits into the viewport
+
+
License
+
Dual licensed under the MIT and GPL licenses.
+
Examples
+
Flat mode.
+
+
+
+$('#colorpickerHolder').ColorPicker({flat: true});
+
+
Custom skin and using flat mode to display the color picker in a custom widget.
+
+
+
Attached to an text field and using callback functions to update the color with field's value and set the value back in the field by submiting the color.
+
+
+
+
$('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({
+ onSubmit: function(hsb, hex, rgb, el) {
+ $(el).val(hex);
+ $(el).ColorPickerHide();
+ },
+ onBeforeShow: function () {
+ $(this).ColorPickerSetColor(this.value);
+ }
+})
+.bind('keyup', function(){
+ $(this).ColorPickerSetColor(this.value);
+});
+
+
Attached to DOMElement and using callbacks to live preview the color and adding animation.
+
+
+
+
+$('#colorSelector').ColorPicker({
+ color: '#0000ff',
+ onShow: function (colpkr) {
+ $(colpkr).fadeIn(500);
+ return false;
+ },
+ onHide: function (colpkr) {
+ $(colpkr).fadeOut(500);
+ return false;
+ },
+ onChange: function (hsb, hex, rgb) {
+ $('#colorSelector div').css('backgroundColor', '#' + hex);
+ }
+});
+
+
+
+
Download
+
colorpicker.zip (73 kb) : jQuery, Javscript files, CSS files, images, examples and instructions.
+
Changelog
+
+ 23.05.2009
+ Added: close on color selection example
+ Added: restore original color option
+ Changed: color update on key up event
+ Fixed: colorpicker hide and show methods
+ Fixed: reference to options. Multiple fields with colorpickers is possible now.
+ Fixed: RGB to HSB convertion
+ 22.08.2008
+ Fixed bug: where some events were not canceled right on Safari
+ Fixed bug: where teh view port was not detected right on Safari
+ 16-07-2008
+ Fixed bug where the letter 'F' could not be typed in the Hex field
+ Fixed bug where the changes on Hex field where not parsed
+ Added new option 'livePreview'
+ 08-07-2008
+ Fixed typo in the code, both JavaScript and CSS
+ Changed the cursor for some elements
+ Added new demo explaining how to implement custom skin
+ 07.07.2008
+ The first release.
+
+
+
+
Implement
+
Attach the Javascript and CSS files to your document. Edit CSS file and fix the paths to images and change colors to fit your site theme.
+
+<link rel="stylesheet" media="screen" type="text/css" href="css/colorpicker.css" />
+<script type="text/javascript" src="js/colorpicker.js"></script>
+
+
Invocation code
+
All you have to do is to select the elements in a jQuery way and call the plugin.
+
+ $('input').ColorPicker(options);
+
+
Options
+
A hash of parameters. All parameters are optional.
+
+
+ eventName
+ string
+ The desired event to trigger the colorpicker. Default: 'click'
+
+
+ color
+ string or hash
+ The default color. String for hex color or hash for RGB and HSB ({r:255, r:0, b:0}) . Default: 'ff0000'
+
+
+ flat
+ boolean
+ Whatever if the color picker is appended to the element or triggered by an event. Default false
+
+
+ livePreview
+ boolean
+ Whatever if the color values are filled in the fields while changing values on selector or a field. If false it may improve speed. Default true
+
+
+ onShow
+ function
+ Callback function triggered when the color picker is shown
+
+
+ onBeforeShow
+ function
+ Callback function triggered before the color picker is shown
+
+
+ onHide
+ function
+ Callback function triggered when the color picker is hidden
+
+
+ onChange
+ function
+ Callback function triggered when the color is changed
+
+
+ onSubmit
+ function
+ Callback function triggered when the color it is chosen
+
+
+
Set color
+
If you want to set a new color.
+
$('input').ColorPickerSetColor(color);
+
The 'color' argument is the same format as the option color, string for hex color or hash for RGB and HSB ({r:255, r:0, b:0}).
+
+
+
+
+
diff --git a/library/colorpicker/js/colorpicker.js b/library/colorpicker/js/colorpicker.js
new file mode 100644
index 000000000..10a2b2244
--- /dev/null
+++ b/library/colorpicker/js/colorpicker.js
@@ -0,0 +1,484 @@
+/**
+ *
+ * Color picker
+ * Author: Stefan Petre www.eyecon.ro
+ *
+ * Dual licensed under the MIT and GPL licenses
+ *
+ */
+(function ($) {
+ var ColorPicker = function () {
+ var
+ ids = {},
+ inAction,
+ charMin = 65,
+ visible,
+ tpl = '',
+ defaults = {
+ eventName: 'click',
+ onShow: function () {},
+ onBeforeShow: function(){},
+ onHide: function () {},
+ onChange: function () {},
+ onSubmit: function () {},
+ color: 'ff0000',
+ livePreview: true,
+ flat: false
+ },
+ fillRGBFields = function (hsb, cal) {
+ var rgb = HSBToRGB(hsb);
+ $(cal).data('colorpicker').fields
+ .eq(1).val(rgb.r).end()
+ .eq(2).val(rgb.g).end()
+ .eq(3).val(rgb.b).end();
+ },
+ fillHSBFields = function (hsb, cal) {
+ $(cal).data('colorpicker').fields
+ .eq(4).val(hsb.h).end()
+ .eq(5).val(hsb.s).end()
+ .eq(6).val(hsb.b).end();
+ },
+ fillHexFields = function (hsb, cal) {
+ $(cal).data('colorpicker').fields
+ .eq(0).val(HSBToHex(hsb)).end();
+ },
+ setSelector = function (hsb, cal) {
+ $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
+ $(cal).data('colorpicker').selectorIndic.css({
+ left: parseInt(150 * hsb.s/100, 10),
+ top: parseInt(150 * (100-hsb.b)/100, 10)
+ });
+ },
+ setHue = function (hsb, cal) {
+ $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
+ },
+ setCurrentColor = function (hsb, cal) {
+ $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
+ },
+ setNewColor = function (hsb, cal) {
+ $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
+ },
+ keyDown = function (ev) {
+ var pressedKey = ev.charCode || ev.keyCode || -1;
+ if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
+ return false;
+ }
+ var cal = $(this).parent().parent();
+ if (cal.data('colorpicker').livePreview === true) {
+ change.apply(this);
+ }
+ },
+ change = function (ev) {
+ var cal = $(this).parent().parent(), col;
+ if (this.parentNode.className.indexOf('_hex') > 0) {
+ cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
+ } else if (this.parentNode.className.indexOf('_hsb') > 0) {
+ cal.data('colorpicker').color = col = fixHSB({
+ h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
+ s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
+ b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
+ });
+ } else {
+ cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
+ r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
+ g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
+ b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
+ }));
+ }
+ if (ev) {
+ fillRGBFields(col, cal.get(0));
+ fillHexFields(col, cal.get(0));
+ fillHSBFields(col, cal.get(0));
+ }
+ setSelector(col, cal.get(0));
+ setHue(col, cal.get(0));
+ setNewColor(col, cal.get(0));
+ cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
+ },
+ blur = function (ev) {
+ var cal = $(this).parent().parent();
+ cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
+ },
+ focus = function () {
+ charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
+ $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
+ $(this).parent().addClass('colorpicker_focus');
+ },
+ downIncrement = function (ev) {
+ var field = $(this).parent().find('input').focus();
+ var current = {
+ el: $(this).parent().addClass('colorpicker_slider'),
+ max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
+ y: ev.pageY,
+ field: field,
+ val: parseInt(field.val(), 10),
+ preview: $(this).parent().parent().data('colorpicker').livePreview
+ };
+ $(document).bind('mouseup', current, upIncrement);
+ $(document).bind('mousemove', current, moveIncrement);
+ },
+ moveIncrement = function (ev) {
+ ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
+ if (ev.data.preview) {
+ change.apply(ev.data.field.get(0), [true]);
+ }
+ return false;
+ },
+ upIncrement = function (ev) {
+ change.apply(ev.data.field.get(0), [true]);
+ ev.data.el.removeClass('colorpicker_slider').find('input').focus();
+ $(document).unbind('mouseup', upIncrement);
+ $(document).unbind('mousemove', moveIncrement);
+ return false;
+ },
+ downHue = function (ev) {
+ var current = {
+ cal: $(this).parent(),
+ y: $(this).offset().top
+ };
+ current.preview = current.cal.data('colorpicker').livePreview;
+ $(document).bind('mouseup', current, upHue);
+ $(document).bind('mousemove', current, moveHue);
+ },
+ moveHue = function (ev) {
+ change.apply(
+ ev.data.cal.data('colorpicker')
+ .fields
+ .eq(4)
+ .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
+ .get(0),
+ [ev.data.preview]
+ );
+ return false;
+ },
+ upHue = function (ev) {
+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ $(document).unbind('mouseup', upHue);
+ $(document).unbind('mousemove', moveHue);
+ return false;
+ },
+ downSelector = function (ev) {
+ var current = {
+ cal: $(this).parent(),
+ pos: $(this).offset()
+ };
+ current.preview = current.cal.data('colorpicker').livePreview;
+ $(document).bind('mouseup', current, upSelector);
+ $(document).bind('mousemove', current, moveSelector);
+ },
+ moveSelector = function (ev) {
+ change.apply(
+ ev.data.cal.data('colorpicker')
+ .fields
+ .eq(6)
+ .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
+ .end()
+ .eq(5)
+ .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
+ .get(0),
+ [ev.data.preview]
+ );
+ return false;
+ },
+ upSelector = function (ev) {
+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ $(document).unbind('mouseup', upSelector);
+ $(document).unbind('mousemove', moveSelector);
+ return false;
+ },
+ enterSubmit = function (ev) {
+ $(this).addClass('colorpicker_focus');
+ },
+ leaveSubmit = function (ev) {
+ $(this).removeClass('colorpicker_focus');
+ },
+ clickSubmit = function (ev) {
+ var cal = $(this).parent();
+ var col = cal.data('colorpicker').color;
+ cal.data('colorpicker').origColor = col;
+ setCurrentColor(col, cal.get(0));
+ cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
+ },
+ show = function (ev) {
+ var cal = $('#' + $(this).data('colorpickerId'));
+ cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
+ var pos = $(this).offset();
+ var viewPort = getViewport();
+ var top = pos.top + this.offsetHeight;
+ var left = pos.left;
+ if (top + 176 > viewPort.t + viewPort.h) {
+ top -= this.offsetHeight + 176;
+ }
+ if (left + 356 > viewPort.l + viewPort.w) {
+ left -= 356;
+ }
+ cal.css({left: left + 'px', top: top + 'px'});
+ if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
+ cal.show();
+ }
+ $(document).bind('mousedown', {cal: cal}, hide);
+ return false;
+ },
+ hide = function (ev) {
+ if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
+ if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
+ ev.data.cal.hide();
+ }
+ $(document).unbind('mousedown', hide);
+ }
+ },
+ isChildOf = function(parentEl, el, container) {
+ if (parentEl == el) {
+ return true;
+ }
+ if (parentEl.contains) {
+ return parentEl.contains(el);
+ }
+ if ( parentEl.compareDocumentPosition ) {
+ return !!(parentEl.compareDocumentPosition(el) & 16);
+ }
+ var prEl = el.parentNode;
+ while(prEl && prEl != container) {
+ if (prEl == parentEl)
+ return true;
+ prEl = prEl.parentNode;
+ }
+ return false;
+ },
+ getViewport = function () {
+ var m = document.compatMode == 'CSS1Compat';
+ return {
+ l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
+ t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
+ w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
+ h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
+ };
+ },
+ fixHSB = function (hsb) {
+ return {
+ h: Math.min(360, Math.max(0, hsb.h)),
+ s: Math.min(100, Math.max(0, hsb.s)),
+ b: Math.min(100, Math.max(0, hsb.b))
+ };
+ },
+ fixRGB = function (rgb) {
+ return {
+ r: Math.min(255, Math.max(0, rgb.r)),
+ g: Math.min(255, Math.max(0, rgb.g)),
+ b: Math.min(255, Math.max(0, rgb.b))
+ };
+ },
+ fixHex = function (hex) {
+ var len = 6 - hex.length;
+ if (len > 0) {
+ var o = [];
+ for (var i=0; i -1) ? hex.substring(1) : hex), 16);
+ return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
+ },
+ HexToHSB = function (hex) {
+ return RGBToHSB(HexToRGB(hex));
+ },
+ RGBToHSB = function (rgb) {
+ var hsb = {
+ h: 0,
+ s: 0,
+ b: 0
+ };
+ var min = Math.min(rgb.r, rgb.g, rgb.b);
+ var max = Math.max(rgb.r, rgb.g, rgb.b);
+ var delta = max - min;
+ hsb.b = max;
+ if (max != 0) {
+
+ }
+ hsb.s = max != 0 ? 255 * delta / max : 0;
+ if (hsb.s != 0) {
+ if (rgb.r == max) {
+ hsb.h = (rgb.g - rgb.b) / delta;
+ } else if (rgb.g == max) {
+ hsb.h = 2 + (rgb.b - rgb.r) / delta;
+ } else {
+ hsb.h = 4 + (rgb.r - rgb.g) / delta;
+ }
+ } else {
+ hsb.h = -1;
+ }
+ hsb.h *= 60;
+ if (hsb.h < 0) {
+ hsb.h += 360;
+ }
+ hsb.s *= 100/255;
+ hsb.b *= 100/255;
+ return hsb;
+ },
+ HSBToRGB = function (hsb) {
+ var rgb = {};
+ var h = Math.round(hsb.h);
+ var s = Math.round(hsb.s*255/100);
+ var v = Math.round(hsb.b*255/100);
+ if(s == 0) {
+ rgb.r = rgb.g = rgb.b = v;
+ } else {
+ var t1 = v;
+ var t2 = (255-s)*v/255;
+ var t3 = (t1-t2)*(h%60)/60;
+ if(h==360) h = 0;
+ if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
+ else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
+ else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
+ else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
+ else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
+ else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
+ else {rgb.r=0; rgb.g=0; rgb.b=0}
+ }
+ return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
+ },
+ RGBToHex = function (rgb) {
+ var hex = [
+ rgb.r.toString(16),
+ rgb.g.toString(16),
+ rgb.b.toString(16)
+ ];
+ $.each(hex, function (nr, val) {
+ if (val.length == 1) {
+ hex[nr] = '0' + val;
+ }
+ });
+ return hex.join('');
+ },
+ HSBToHex = function (hsb) {
+ return RGBToHex(HSBToRGB(hsb));
+ },
+ restoreOriginal = function () {
+ var cal = $(this).parent();
+ var col = cal.data('colorpicker').origColor;
+ cal.data('colorpicker').color = col;
+ fillRGBFields(col, cal.get(0));
+ fillHexFields(col, cal.get(0));
+ fillHSBFields(col, cal.get(0));
+ setSelector(col, cal.get(0));
+ setHue(col, cal.get(0));
+ setNewColor(col, cal.get(0));
+ };
+ return {
+ init: function (opt) {
+ opt = $.extend({}, defaults, opt||{});
+ if (typeof opt.color == 'string') {
+ opt.color = HexToHSB(opt.color);
+ } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
+ opt.color = RGBToHSB(opt.color);
+ } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
+ opt.color = fixHSB(opt.color);
+ } else {
+ return this;
+ }
+ return this.each(function () {
+ if (!$(this).data('colorpickerId')) {
+ var options = $.extend({}, opt);
+ options.origColor = opt.color;
+ var id = 'collorpicker_' + parseInt(Math.random() * 1000);
+ $(this).data('colorpickerId', id);
+ var cal = $(tpl).attr('id', id);
+ if (options.flat) {
+ cal.appendTo(this).show();
+ } else {
+ cal.appendTo(document.body);
+ }
+ options.fields = cal
+ .find('input')
+ .bind('keyup', keyDown)
+ .bind('change', change)
+ .bind('blur', blur)
+ .bind('focus', focus);
+ cal
+ .find('span').bind('mousedown', downIncrement).end()
+ .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
+ options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
+ options.selectorIndic = options.selector.find('div div');
+ options.el = this;
+ options.hue = cal.find('div.colorpicker_hue div');
+ cal.find('div.colorpicker_hue').bind('mousedown', downHue);
+ options.newColor = cal.find('div.colorpicker_new_color');
+ options.currentColor = cal.find('div.colorpicker_current_color');
+ cal.data('colorpicker', options);
+ cal.find('div.colorpicker_submit')
+ .bind('mouseenter', enterSubmit)
+ .bind('mouseleave', leaveSubmit)
+ .bind('click', clickSubmit);
+ fillRGBFields(options.color, cal.get(0));
+ fillHSBFields(options.color, cal.get(0));
+ fillHexFields(options.color, cal.get(0));
+ setHue(options.color, cal.get(0));
+ setSelector(options.color, cal.get(0));
+ setCurrentColor(options.color, cal.get(0));
+ setNewColor(options.color, cal.get(0));
+ if (options.flat) {
+ cal.css({
+ position: 'relative',
+ display: 'block'
+ });
+ } else {
+ $(this).bind(options.eventName, show);
+ }
+ }
+ });
+ },
+ showPicker: function() {
+ return this.each( function () {
+ if ($(this).data('colorpickerId')) {
+ show.apply(this);
+ }
+ });
+ },
+ hidePicker: function() {
+ return this.each( function () {
+ if ($(this).data('colorpickerId')) {
+ $('#' + $(this).data('colorpickerId')).hide();
+ }
+ });
+ },
+ setColor: function(col) {
+ if (typeof col == 'string') {
+ col = HexToHSB(col);
+ } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
+ col = RGBToHSB(col);
+ } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
+ col = fixHSB(col);
+ } else {
+ return this;
+ }
+ return this.each(function(){
+ if ($(this).data('colorpickerId')) {
+ var cal = $('#' + $(this).data('colorpickerId'));
+ cal.data('colorpicker').color = col;
+ cal.data('colorpicker').origColor = col;
+ fillRGBFields(col, cal.get(0));
+ fillHSBFields(col, cal.get(0));
+ fillHexFields(col, cal.get(0));
+ setHue(col, cal.get(0));
+ setSelector(col, cal.get(0));
+ setCurrentColor(col, cal.get(0));
+ setNewColor(col, cal.get(0));
+ }
+ });
+ }
+ };
+ }();
+ $.fn.extend({
+ ColorPicker: ColorPicker.init,
+ ColorPickerHide: ColorPicker.hidePicker,
+ ColorPickerShow: ColorPicker.showPicker,
+ ColorPickerSetColor: ColorPicker.setColor
+ });
+})(jQuery)
\ No newline at end of file
diff --git a/library/colorpicker/js/eye.js b/library/colorpicker/js/eye.js
new file mode 100644
index 000000000..ea70e643f
--- /dev/null
+++ b/library/colorpicker/js/eye.js
@@ -0,0 +1,34 @@
+/**
+ *
+ * Zoomimage
+ * Author: Stefan Petre www.eyecon.ro
+ *
+ */
+(function($){
+ var EYE = window.EYE = function() {
+ var _registered = {
+ init: []
+ };
+ return {
+ init: function() {
+ $.each(_registered.init, function(nr, fn){
+ fn.call();
+ });
+ },
+ extend: function(prop) {
+ for (var i in prop) {
+ if (prop[i] != undefined) {
+ this[i] = prop[i];
+ }
+ }
+ },
+ register: function(fn, type) {
+ if (!_registered[type]) {
+ _registered[type] = [];
+ }
+ _registered[type].push(fn);
+ }
+ };
+ }();
+ $(EYE.init);
+})(jQuery);
diff --git a/library/colorpicker/js/layout.js b/library/colorpicker/js/layout.js
new file mode 100644
index 000000000..e0dfb8f33
--- /dev/null
+++ b/library/colorpicker/js/layout.js
@@ -0,0 +1,67 @@
+(function($){
+ var initLayout = function() {
+ var hash = window.location.hash.replace('#', '');
+ var currentTab = $('ul.navigationTabs a')
+ .bind('click', showTab)
+ .filter('a[rel=' + hash + ']');
+ if (currentTab.size() == 0) {
+ currentTab = $('ul.navigationTabs a:first');
+ }
+ showTab.apply(currentTab.get(0));
+ $('#colorpickerHolder').ColorPicker({flat: true});
+ $('#colorpickerHolder2').ColorPicker({
+ flat: true,
+ color: '#00ff00',
+ onSubmit: function(hsb, hex, rgb) {
+ $('#colorSelector2 div').css('backgroundColor', '#' + hex);
+ }
+ });
+ $('#colorpickerHolder2>div').css('position', 'absolute');
+ var widt = false;
+ $('#colorSelector2').bind('click', function() {
+ $('#colorpickerHolder2').stop().animate({height: widt ? 0 : 173}, 500);
+ widt = !widt;
+ });
+ $('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({
+ onSubmit: function(hsb, hex, rgb, el) {
+ $(el).val(hex);
+ $(el).ColorPickerHide();
+ },
+ onBeforeShow: function () {
+ $(this).ColorPickerSetColor(this.value);
+ }
+ })
+ .bind('keyup', function(){
+ $(this).ColorPickerSetColor(this.value);
+ });
+ $('#colorSelector').ColorPicker({
+ color: '#0000ff',
+ onShow: function (colpkr) {
+ $(colpkr).fadeIn(500);
+ return false;
+ },
+ onHide: function (colpkr) {
+ $(colpkr).fadeOut(500);
+ return false;
+ },
+ onChange: function (hsb, hex, rgb) {
+ $('#colorSelector div').css('backgroundColor', '#' + hex);
+ }
+ });
+ };
+
+ var showTab = function(e) {
+ var tabIndex = $('ul.navigationTabs a')
+ .removeClass('active')
+ .index(this);
+ $(this)
+ .addClass('active')
+ .blur();
+ $('div.tab')
+ .hide()
+ .eq(tabIndex)
+ .show();
+ };
+
+ EYE.register(initLayout, 'init');
+})(jQuery)
\ No newline at end of file
diff --git a/library/colorpicker/js/utils.js b/library/colorpicker/js/utils.js
new file mode 100644
index 000000000..cc7ce14ec
--- /dev/null
+++ b/library/colorpicker/js/utils.js
@@ -0,0 +1,252 @@
+/**
+ *
+ * Utilities
+ * Author: Stefan Petre www.eyecon.ro
+ *
+ */
+(function($) {
+EYE.extend({
+ getPosition : function(e, forceIt)
+ {
+ var x = 0;
+ var y = 0;
+ var es = e.style;
+ var restoreStyles = false;
+ if (forceIt && jQuery.curCSS(e,'display') == 'none') {
+ var oldVisibility = es.visibility;
+ var oldPosition = es.position;
+ restoreStyles = true;
+ es.visibility = 'hidden';
+ es.display = 'block';
+ es.position = 'absolute';
+ }
+ var el = e;
+ if (el.getBoundingClientRect) { // IE
+ var box = el.getBoundingClientRect();
+ x = box.left + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) - 2;
+ y = box.top + Math.max(document.documentElement.scrollTop, document.body.scrollTop) - 2;
+ } else {
+ x = el.offsetLeft;
+ y = el.offsetTop;
+ el = el.offsetParent;
+ if (e != el) {
+ while (el) {
+ x += el.offsetLeft;
+ y += el.offsetTop;
+ el = el.offsetParent;
+ }
+ }
+ if (jQuery.browser.safari && jQuery.curCSS(e, 'position') == 'absolute' ) {
+ x -= document.body.offsetLeft;
+ y -= document.body.offsetTop;
+ }
+ el = e.parentNode;
+ while (el && el.tagName.toUpperCase() != 'BODY' && el.tagName.toUpperCase() != 'HTML')
+ {
+ if (jQuery.curCSS(el, 'display') != 'inline') {
+ x -= el.scrollLeft;
+ y -= el.scrollTop;
+ }
+ el = el.parentNode;
+ }
+ }
+ if (restoreStyles == true) {
+ es.display = 'none';
+ es.position = oldPosition;
+ es.visibility = oldVisibility;
+ }
+ return {x:x, y:y};
+ },
+ getSize : function(e)
+ {
+ var w = parseInt(jQuery.curCSS(e,'width'), 10);
+ var h = parseInt(jQuery.curCSS(e,'height'), 10);
+ var wb = 0;
+ var hb = 0;
+ if (jQuery.curCSS(e, 'display') != 'none') {
+ wb = e.offsetWidth;
+ hb = e.offsetHeight;
+ } else {
+ var es = e.style;
+ var oldVisibility = es.visibility;
+ var oldPosition = es.position;
+ es.visibility = 'hidden';
+ es.display = 'block';
+ es.position = 'absolute';
+ wb = e.offsetWidth;
+ hb = e.offsetHeight;
+ es.display = 'none';
+ es.position = oldPosition;
+ es.visibility = oldVisibility;
+ }
+ return {w:w, h:h, wb:wb, hb:hb};
+ },
+ getClient : function(e)
+ {
+ var h, w;
+ if (e) {
+ w = e.clientWidth;
+ h = e.clientHeight;
+ } else {
+ var de = document.documentElement;
+ w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
+ h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
+ }
+ return {w:w,h:h};
+ },
+ getScroll : function (e)
+ {
+ var t=0, l=0, w=0, h=0, iw=0, ih=0;
+ if (e && e.nodeName.toLowerCase() != 'body') {
+ t = e.scrollTop;
+ l = e.scrollLeft;
+ w = e.scrollWidth;
+ h = e.scrollHeight;
+ } else {
+ if (document.documentElement) {
+ t = document.documentElement.scrollTop;
+ l = document.documentElement.scrollLeft;
+ w = document.documentElement.scrollWidth;
+ h = document.documentElement.scrollHeight;
+ } else if (document.body) {
+ t = document.body.scrollTop;
+ l = document.body.scrollLeft;
+ w = document.body.scrollWidth;
+ h = document.body.scrollHeight;
+ }
+ if (typeof pageYOffset != 'undefined') {
+ t = pageYOffset;
+ l = pageXOffset;
+ }
+ iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;
+ ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;
+ }
+ return { t: t, l: l, w: w, h: h, iw: iw, ih: ih };
+ },
+ getMargins : function(e, toInteger)
+ {
+ var t = jQuery.curCSS(e,'marginTop') || '';
+ var r = jQuery.curCSS(e,'marginRight') || '';
+ var b = jQuery.curCSS(e,'marginBottom') || '';
+ var l = jQuery.curCSS(e,'marginLeft') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t, 10)||0,
+ r: parseInt(r, 10)||0,
+ b: parseInt(b, 10)||0,
+ l: parseInt(l, 10)
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getPadding : function(e, toInteger)
+ {
+ var t = jQuery.curCSS(e,'paddingTop') || '';
+ var r = jQuery.curCSS(e,'paddingRight') || '';
+ var b = jQuery.curCSS(e,'paddingBottom') || '';
+ var l = jQuery.curCSS(e,'paddingLeft') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t, 10)||0,
+ r: parseInt(r, 10)||0,
+ b: parseInt(b, 10)||0,
+ l: parseInt(l, 10)
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getBorder : function(e, toInteger)
+ {
+ var t = jQuery.curCSS(e,'borderTopWidth') || '';
+ var r = jQuery.curCSS(e,'borderRightWidth') || '';
+ var b = jQuery.curCSS(e,'borderBottomWidth') || '';
+ var l = jQuery.curCSS(e,'borderLeftWidth') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t, 10)||0,
+ r: parseInt(r, 10)||0,
+ b: parseInt(b, 10)||0,
+ l: parseInt(l, 10)||0
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ traverseDOM : function(nodeEl, func)
+ {
+ func(nodeEl);
+ nodeEl = nodeEl.firstChild;
+ while(nodeEl){
+ EYE.traverseDOM(nodeEl, func);
+ nodeEl = nodeEl.nextSibling;
+ }
+ },
+ getInnerWidth : function(el, scroll) {
+ var offsetW = el.offsetWidth;
+ return scroll ? Math.max(el.scrollWidth,offsetW) - offsetW + el.clientWidth:el.clientWidth;
+ },
+ getInnerHeight : function(el, scroll) {
+ var offsetH = el.offsetHeight;
+ return scroll ? Math.max(el.scrollHeight,offsetH) - offsetH + el.clientHeight:el.clientHeight;
+ },
+ getExtraWidth : function(el) {
+ if($.boxModel)
+ return (parseInt($.curCSS(el, 'paddingLeft'))||0)
+ + (parseInt($.curCSS(el, 'paddingRight'))||0)
+ + (parseInt($.curCSS(el, 'borderLeftWidth'))||0)
+ + (parseInt($.curCSS(el, 'borderRightWidth'))||0);
+ return 0;
+ },
+ getExtraHeight : function(el) {
+ if($.boxModel)
+ return (parseInt($.curCSS(el, 'paddingTop'))||0)
+ + (parseInt($.curCSS(el, 'paddingBottom'))||0)
+ + (parseInt($.curCSS(el, 'borderTopWidth'))||0)
+ + (parseInt($.curCSS(el, 'borderBottomWidth'))||0);
+ return 0;
+ },
+ isChildOf: function(parentEl, el, container) {
+ if (parentEl == el) {
+ return true;
+ }
+ if (!el || !el.nodeType || el.nodeType != 1) {
+ return false;
+ }
+ if (parentEl.contains && !$.browser.safari) {
+ return parentEl.contains(el);
+ }
+ if ( parentEl.compareDocumentPosition ) {
+ return !!(parentEl.compareDocumentPosition(el) & 16);
+ }
+ var prEl = el.parentNode;
+ while(prEl && prEl != container) {
+ if (prEl == parentEl)
+ return true;
+ prEl = prEl.parentNode;
+ }
+ return false;
+ },
+ centerEl : function(el, axis)
+ {
+ var clientScroll = EYE.getScroll();
+ var size = EYE.getSize(el);
+ if (!axis || axis == 'vertically')
+ $(el).css(
+ {
+ top: clientScroll.t + ((Math.min(clientScroll.h,clientScroll.ih) - size.hb)/2) + 'px'
+ }
+ );
+ if (!axis || axis == 'horizontally')
+ $(el).css(
+ {
+ left: clientScroll.l + ((Math.min(clientScroll.w,clientScroll.iw) - size.wb)/2) + 'px'
+ }
+ );
+ }
+});
+if (!$.easing.easeout) {
+ $.easing.easeout = function(p, n, firstNum, delta, duration) {
+ return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum;
+ };
+}
+
+})(jQuery);
\ No newline at end of file
diff --git a/mod/admin.php b/mod/admin.php
index e9a456b52..fad03e34a 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -49,6 +49,7 @@ function admin_post(&$a){
if(is_ajax()) return;
goaway($a->get_baseurl(true) . '/admin/themes/' . $theme );
+
return;
break;
case 'logs':
@@ -458,6 +459,25 @@ function admin_page_hubloc_post(&$a){
function admin_page_hubloc(&$a) {
$o = '';
+ $hubloc = q("SELECT hubloc_id, hubloc_addr, hubloc_host, hubloc_status FROM hubloc");
+
+
+ if(! $hubloc){
+ notice( t('No server found') . EOL);
+ goaway($a->get_baseurl(true) . '/admin/hubloc');
+ }
+
+ $t = get_markup_template("admin_hubloc.tpl");
+ return replace_macros($t, array(
+ '$hubloc' => $hubloc,
+ '$th_hubloc' => array(t('ID'), t('for channel'), t('on server'), t('Status')),
+ '$title' => t('Administration'),
+ '$page' => t('Server'),
+ '$queues' => $queues,
+ '$accounts' => $accounts,
+ '$pending' => Array( t('Pending registrations'), $pending),
+ '$plugins' => Array( t('Active plugins'), $a->plugins )
+ ));
return $o;
}
@@ -731,12 +751,16 @@ function admin_page_plugins(&$a){
}
$admin_form="";
+
if (is_array($a->plugins_admin) && in_array($plugin, $a->plugins_admin)){
@require_once("addon/$plugin/$plugin.php");
- $func = $plugin.'_plugin_admin';
- $func($a, $admin_form);
+ if(function_exists($plugin.'_plugin_admin')) {
+ $func = $plugin.'_plugin_admin';
+ $func($a, $admin_form);
+ }
}
-
+
+
$t = get_markup_template("admin_plugins_details.tpl");
return replace_macros($t, array(
'$title' => t('Administration'),
diff --git a/mod/connections.php b/mod/connections.php
index 47c8d9c44..95fc18174 100644
--- a/mod/connections.php
+++ b/mod/connections.php
@@ -314,6 +314,13 @@ function connections_content(&$a) {
'title' => t('Fetch updated permissions'),
),
+ array(
+ 'label' => t('Recent Activity'),
+ 'url' => $a->get_baseurl(true) . '/network/?f=&cid=' . $contact['abook_id'],
+ 'sel' => '',
+ 'title' => t('View recent posts and comments'),
+ ),
+
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? t('Unblock') : t('Block')),
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/block',
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index fc0ac4fe3..14307f274 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -45,7 +45,16 @@ function dirsearch_content(&$a) {
// by default use a safe search
$safe = ((x($_REQUEST,'safe')) ? intval($_REQUEST['safe']) : 1 );
- $sync = ((x($_REQUEST,'sync')) ? datetime_convert('UTC','UTC',$_REQUEST['sync']) : '');
+
+ if(array_key_exists('sync',$_REQUEST)) {
+ if($_REQUEST['sync'])
+ $sync = datetime_convert('UTC','UTC',$_REQUEST['sync']);
+ else
+ $sync = datetime_convert('UTC','UTC','2010-01-01 01:01:00');
+ }
+ else
+ $sync = false;
+
$sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : '');
// TODO - a meta search which joins all of these things to one search string
@@ -102,9 +111,9 @@ function dirsearch_content(&$a) {
$logic = ((strlen($sql_extra)) ? 0 : 1);
- $safesql = (($safe > 0) ? " and not ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED) . " ) " : '');
+ $safesql = (($safe > 0) ? " and not ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " ) " : '');
if($safe < 0)
- $safesql = " and ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED) . " ) ";
+ $safesql = " and ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " ) ";
if($limit)
$qlimit = " LIMIT $limit ";
@@ -121,13 +130,9 @@ function dirsearch_content(&$a) {
}
}
- if($mtime) {
- $qlimit = '';
-// $sql_extra .= " and xchan_hash in ( select ud_hash from updates where ud_date > '" . dbesc($mtime) . "' ) ";
- }
if($sort_order == 'date')
- $order = ""; // " order by ud_date desc ";
+ $order = ""; // Not currently implemented
elseif($sort_order == 'reverse')
$order = " order by xchan_name desc ";
else
@@ -135,11 +140,23 @@ function dirsearch_content(&$a) {
if($sync) {
-
- $r = q("select xchan.*, updates.* from xchan left join updates on ud_hash = xchan_hash where ud_date >= '%s' and ud_guid != '' order by ud_date desc",
+ $spkt = array('transactions' => array());
+ $r = q("select * from updates where ud_date >= '%s' and ud_guid != '' order by ud_date desc",
dbesc($sync)
);
-
+ if($r) {
+ foreach($r as $rr) {
+ $flags = (($rr['ud_flags'] & UPDATE_FLAGS_DELETED) ? array('deleted') : array());
+ $spkt['transactions'][] = array(
+ 'hash' => $rr['ud_hash'],
+ 'address' => $rr['ud_addr'],
+ 'transaction_id' => $rr['ud_guid'],
+ 'timestamp' => $rr['ud_date'],
+ 'flags' => $flags
+ );
+ }
+ }
+ json_return_and_die($spkt);
}
else {
$r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) $safesql $order $qlimit ",
@@ -183,7 +200,7 @@ function dirsearch_content(&$a) {
}
$ret['results'] = $entries;
- if(($kw) && (! $sync)) {
+ if($kw) {
$k = dir_tagadelic($kw);
if($k) {
$ret['keywords'] = array();
diff --git a/mod/display.php b/mod/display.php
index d19502eb1..c9f6595c6 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -113,16 +113,18 @@ function display_content(&$a, $update = 0, $load = false) {
}
}
if($r === null) {
+
$r = q("SELECT * from item
WHERE item_restrict = 0
and mid = '%s'
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
AND `item`.`deny_gid` = '' AND item_private = 0 )
- and uid in ( " . stream_perms_api_uids() . " ))
+ and owner_xchan in ( " . stream_perms_xchans(($observer) ? PERMS_NETWORK : PERMS_PUBLIC) . " ))
$sql_extra )
group by mid limit 1",
dbesc($target_item['parent_mid'])
);
+
}
}
diff --git a/mod/item.php b/mod/item.php
index 813bcf283..f1fbd53b3 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -161,20 +161,26 @@ function item_post(&$a) {
if($parent) {
logger('mod_item: item_post parent=' . $parent);
- if(! can_comment_on_post($observer['xchan_hash'],$parent_item)) {
+ $can_comment = false;
+ if((array_key_exists('owner',$parent_item)) && ($parent_item['owner']['abook_flags'] & ABOOK_FLAG_SELF))
+ $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments');
+ else
+ $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item);
+
+ if(! $can_comment) {
notice( t('Permission denied.') . EOL) ;
if(x($_REQUEST,'return'))
goaway($a->get_baseurl() . "/" . $return_path );
killme();
}
}
-
-
- if(! perm_is_allowed($profile_uid,$observer['xchan_hash'],(($parent) ? 'post_comments' : 'post_wall'))) {
- notice( t('Permission denied.') . EOL) ;
- if(x($_REQUEST,'return'))
- goaway($a->get_baseurl() . "/" . $return_path );
- killme();
+ else {
+ if(! perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_wall')) {
+ notice( t('Permission denied.') . EOL) ;
+ if(x($_REQUEST,'return'))
+ goaway($a->get_baseurl() . "/" . $return_path );
+ killme();
+ }
}
diff --git a/mod/magic.php b/mod/magic.php
index 09a2e8a51..44aa19ead 100644
--- a/mod/magic.php
+++ b/mod/magic.php
@@ -4,6 +4,8 @@
function magic_init(&$a) {
+ logger('mod_magic: invoked', LOGGER_DEBUG);
+
$addr = ((x($_REQUEST,'addr')) ? $_REQUEST['addr'] : '');
$hash = ((x($_REQUEST,'hash')) ? $_REQUEST['hash'] : '');
$dest = ((x($_REQUEST,'dest')) ? $_REQUEST['dest'] : '');
diff --git a/mod/network.php b/mod/network.php
index ac8c38290..72391497b 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -452,16 +452,16 @@ function network_content(&$a, $update = 0, $load = false) {
elseif($cid) {
- $r = q("SELECT * from abook where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
intval($cid),
intval(local_user())
);
if($r) {
$sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_user()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
- $o = '' . t('Contact: ') . $r[0]['name'] . ' ' . $o;
+ $o = '' . t('Connection: ') . $r[0]['xchan_name'] . ' ' . $o;
}
else {
- notice( t('Invalid contact.') . EOL);
+ notice( t('Invalid connection.') . EOL);
goaway($a->get_baseurl(true) . '/network');
}
}
diff --git a/mod/post.php b/mod/post.php
index 378192cbf..92d810356 100644
--- a/mod/post.php
+++ b/mod/post.php
@@ -174,18 +174,30 @@ function post_post(&$a) {
if(array_key_exists('iv',$data)) {
$data = aes_unencapsulate($data,get_config('system','prvkey'));
logger('mod_zot: decrypt1: ' . $data, LOGGER_DATA);
- if(! $data) {
- $ret['message'] = 'Decryption failed.';
- json_return_and_die($ret);
- }
+
+// susceptible to Bleichenbacher's attack
+// if(! $data) {
+// $ret['message'] = 'Decryption failed.';
+// json_return_and_die($ret);
+// }
$data = json_decode($data,true);
}
if(! $data) {
- $ret['message'] = 'No data received.';
- json_return_and_die($ret);
+
+ // possible Bleichenbacher's attack, just treat it as a
+ // message we have no handler for. It should fail a bit
+ // further along with "no hub". Our public key is public
+ // knowledge. There's no reason why anybody should get the
+ // encryption wrong unless they're fishing or hacking. If
+ // they're developing and made a goof, this can be discovered
+ // in the logs of the destination site. If they're fishing or
+ // hacking, the bottom line is we can't verify their hub.
+ // That's all we're going to tell them.
+
+ $data = array('type' => 'bogus');
}
logger('mod_zot: decoded data: ' . print_r($data,true), LOGGER_DATA);
diff --git a/mod/pubsites.php b/mod/pubsites.php
index b9f7510fc..9728d0704 100644
--- a/mod/pubsites.php
+++ b/mod/pubsites.php
@@ -1,7 +1,7 @@
pager['start']), intval($a->pager['itemspage']));
-dbg(1);
- if($load) {
- $r = q("SELECT distinct mid, id as item_id from item
- WHERE item_restrict = 0
- AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
- OR ( `item`.`uid` = %d ))
- $sql_extra
- group by mid ORDER BY created DESC $pager_sql ",
- intval(local_user()),
- intval(ABOOK_FLAG_BLOCKED)
- );
-dbg(0);
+ if($load) {
+ $r = null;
+
+ if(local_user()) {
+ $r = q("SELECT distinct mid, item.* from item
+ WHERE item_restrict = 0
+ AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
+ OR ( `item`.`uid` = %d ))
+ $sql_extra
+ group by mid ORDER BY created DESC $pager_sql ",
+ intval(local_user()),
+ intval(ABOOK_FLAG_BLOCKED)
+
+ );
+ }
+ if($r === null) {
+ $r = q("SELECT distinct mid, item.* from item
+ WHERE item_restrict = 0
+ AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
+ AND `item`.`deny_gid` = '' AND item_private = 0 )
+ and owner_xchan in ( " . stream_perms_xchans(($observer) ? PERMS_NETWORK : PERMS_PUBLIC) . " ))
+ $pub_sql )
+ $sql_extra
+ group by mid ORDER BY created DESC $pager_sql"
+ );
+ }
}
else {
$r = array();
@@ -208,19 +222,17 @@ dbg(0);
if($r) {
- $parents_str = ids_to_querystr($r,'item_id');
-dbg(1);
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id`
- FROM `item`
- WHERE item_restrict = 0
- $sql_extra and parent in ( $parents_str ) "
-// intval($a->profile['profile_uid']),
-// dbesc($parents_str)
- );
-dbg(0);
- xchan_query($items);
- $items = fetch_post_tags($items,true);
- $items = conv_sort($items,'created');
+// $parents_str = ids_to_querystr($r,'item_id');
+
+// $items = q("SELECT `item`.*, `item`.`id` AS `item_id`
+// FROM `item`
+// WHERE item_restrict = 0
+// $sql_extra and parent in ( $parents_str ) "
+// );
+
+ xchan_query($r);
+ $items = fetch_post_tags($r,true);
+// $items = conv_sort($items,'created');
} else {
$items = array();
diff --git a/mod/settings.php b/mod/settings.php
index fea9c9f72..5f1106be5 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -113,6 +113,15 @@ function settings_aside(&$a) {
}
+ if(feature_enabled(local_user(),'channel_sources')) {
+ $tabs[] = array(
+ 'label' => t('Channel Sources'),
+ 'url' => $a->get_baseurl(true) . '/sources',
+ 'selected' => ''
+ );
+
+ }
+
$tabtpl = get_markup_template("generic_links_widget.tpl");
@@ -154,10 +163,17 @@ function settings_post(&$a) {
$secret = ((x($_POST,'secret')) ? $_POST['secret'] : '');
$redirect = ((x($_POST,'redirect')) ? $_POST['redirect'] : '');
$icon = ((x($_POST,'icon')) ? $_POST['icon'] : '');
- if ($name=="" || $key=="" || $secret==""){
- notice(t("Missing some important data!"));
-
- } else {
+ $ok = true;
+ if($name == '') {
+ $ok = false;
+ notice( t('Name is required') . EOL);
+ }
+ if($key == '' || $secret == '') {
+ $ok = false;
+ notice( t('Key and Secret are required') . EOL);
+ }
+
+ if($ok) {
if ($_POST['submit']==t("Update")){
$r = q("UPDATE clients SET
client_id='%s',
@@ -361,26 +377,33 @@ function settings_post(&$a) {
$post_newfriend = (($_POST['post_newfriend'] == 1) ? 1: 0);
$post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
+ $adult = (($_POST['adult'] == 1) ? 1 : 0);
+ $channel = $a->get_channel();
+ $pageflags = $channel['channel_pageflags'];
+ $existing_adult = (($pageflags & PAGE_ADULT) ? 1 : 0);
+ if($adult != $existing_adult)
+ $pageflags = ($pageflags ^ PAGE_ADULT);
$arr = array();
- $arr['channel_r_stream'] = (($_POST['view_stream']) ? $_POST['view_stream'] : 0);
- $arr['channel_r_profile'] = (($_POST['view_profile']) ? $_POST['view_profile'] : 0);
- $arr['channel_r_photos'] = (($_POST['view_photos']) ? $_POST['view_photos'] : 0);
- $arr['channel_r_abook'] = (($_POST['view_contacts']) ? $_POST['view_contacts'] : 0);
- $arr['channel_w_stream'] = (($_POST['send_stream']) ? $_POST['send_stream'] : 0);
- $arr['channel_w_wall'] = (($_POST['post_wall']) ? $_POST['post_wall'] : 0);
- $arr['channel_w_tagwall'] = (($_POST['tag_deliver']) ? $_POST['tag_deliver'] : 0);
- $arr['channel_w_comment'] = (($_POST['post_comments']) ? $_POST['post_comments'] : 0);
- $arr['channel_w_mail'] = (($_POST['post_mail']) ? $_POST['post_mail'] : 0);
- $arr['channel_w_photos'] = (($_POST['post_photos']) ? $_POST['post_photos'] : 0);
- $arr['channel_w_chat'] = (($_POST['chat']) ? $_POST['chat'] : 0);
- $arr['channel_a_delegate'] = (($_POST['delegate']) ? $_POST['delegate'] : 0);
- $arr['channel_r_storage'] = (($_POST['view_storage']) ? $_POST['view_storage'] : 0);
- $arr['channel_w_storage'] = (($_POST['write_storage']) ? $_POST['write_storage'] : 0);
- $arr['channel_r_pages'] = (($_POST['view_pages']) ? $_POST['view_pages'] : 0);
- $arr['channel_w_pages'] = (($_POST['write_pages']) ? $_POST['write_pages'] : 0);
-
+ $arr['channel_r_stream'] = (($_POST['view_stream']) ? $_POST['view_stream'] : 0);
+ $arr['channel_r_profile'] = (($_POST['view_profile']) ? $_POST['view_profile'] : 0);
+ $arr['channel_r_photos'] = (($_POST['view_photos']) ? $_POST['view_photos'] : 0);
+ $arr['channel_r_abook'] = (($_POST['view_contacts']) ? $_POST['view_contacts'] : 0);
+ $arr['channel_w_stream'] = (($_POST['send_stream']) ? $_POST['send_stream'] : 0);
+ $arr['channel_w_wall'] = (($_POST['post_wall']) ? $_POST['post_wall'] : 0);
+ $arr['channel_w_tagwall'] = (($_POST['tag_deliver']) ? $_POST['tag_deliver'] : 0);
+ $arr['channel_w_comment'] = (($_POST['post_comments']) ? $_POST['post_comments'] : 0);
+ $arr['channel_w_mail'] = (($_POST['post_mail']) ? $_POST['post_mail'] : 0);
+ $arr['channel_w_photos'] = (($_POST['post_photos']) ? $_POST['post_photos'] : 0);
+ $arr['channel_w_chat'] = (($_POST['chat']) ? $_POST['chat'] : 0);
+ $arr['channel_a_delegate'] = (($_POST['delegate']) ? $_POST['delegate'] : 0);
+ $arr['channel_r_storage'] = (($_POST['view_storage']) ? $_POST['view_storage'] : 0);
+ $arr['channel_w_storage'] = (($_POST['write_storage']) ? $_POST['write_storage'] : 0);
+ $arr['channel_r_pages'] = (($_POST['view_pages']) ? $_POST['view_pages'] : 0);
+ $arr['channel_w_pages'] = (($_POST['write_pages']) ? $_POST['write_pages'] : 0);
+ $arr['channel_a_republish'] = (($_POST['republish']) ? $_POST['republish'] : 0);
+
$defperms = 0;
if(x($_POST['def_view_stream']))
$defperms += $_POST['def_view_stream'];
@@ -414,6 +437,8 @@ function settings_post(&$a) {
$defperms += $_POST['def_view_pages'];
if(x($_POST['def_write_pages']))
$defperms += $_POST['def_write_pages'];
+ if(x($_POST['def_republish']))
+ $defperms += $_POST['def_republish'];
$notify = 0;
@@ -518,8 +543,9 @@ function settings_post(&$a) {
);
*/
- $r = q("update channel set channel_name = '%s', channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d, channel_r_stream = %d, channel_r_profile = %d, channel_r_photos = %d, channel_r_abook = %d, channel_w_stream = %d, channel_w_wall = %d, channel_w_tagwall = %d, channel_w_comment = %d, channel_w_mail = %d, channel_w_photos = %d, channel_w_chat = %d, channel_a_delegate = %d, channel_r_storage = %d, channel_w_storage = %d, channel_r_pages = %d, channel_w_pages = %d where channel_id = %d limit 1",
+ $r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d, channel_r_stream = %d, channel_r_profile = %d, channel_r_photos = %d, channel_r_abook = %d, channel_w_stream = %d, channel_w_wall = %d, channel_w_tagwall = %d, channel_w_comment = %d, channel_w_mail = %d, channel_w_photos = %d, channel_w_chat = %d, channel_a_delegate = %d, channel_r_storage = %d, channel_w_storage = %d, channel_r_pages = %d, channel_w_pages = %d, channel_a_republish = %d where channel_id = %d limit 1",
dbesc($username),
+ intval($pageflags),
dbesc($timezone),
dbesc($defloc),
intval($notify),
@@ -542,6 +568,7 @@ function settings_post(&$a) {
intval($arr['channel_w_storage']),
intval($arr['channel_r_pages']),
intval($arr['channel_w_pages']),
+ intval($arr['channel_a_republish']),
intval(local_user())
);
@@ -621,8 +648,8 @@ function settings_content(&$a) {
'$submit' => t('Submit'),
'$cancel' => t('Cancel'),
'$name' => array('name', t('Name'), '', t('Name of application')),
- '$key' => array('key', t('Consumer Key'), random_string(16), t('Automatically generated - change if desired')),
- '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired')),
+ '$key' => array('key', t('Consumer Key'), random_string(16), t('Automatically generated - change if desired. Max length 20')),
+ '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')),
'$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')),
'$icon' => array('icon', t('Icon url'), '', t('Optional')),
));
@@ -929,6 +956,7 @@ function settings_content(&$a) {
$maxreq = $channel['channel_max_friend_req'];
$expire = $channel['channel_expire_days'];
+ $adult_flag = intval($channel['channel_pageflags'] & PAGE_ADULT);
$blockwall = $a->user['blockwall'];
$unkmail = $a->user['unkmail'];
@@ -1034,6 +1062,7 @@ function settings_content(&$a) {
'$defloc' => array('defloc', t('Default Post Location:'), $defloc, ''),
'$allowloc' => array('allow_location', t('Use Browser Location:'), ((get_pconfig(local_user(),'system','use_browser_location')) ? 1 : ''), ''),
+ '$adult' => array('adult', t('Adult Content'), $adult_flag, t('This channel publishes adult content.')),
'$h_prv' => t('Security and Privacy Settings'),
diff --git a/mod/sources.php b/mod/sources.php
new file mode 100644
index 000000000..125184d47
--- /dev/null
+++ b/mod/sources.php
@@ -0,0 +1,140 @@
+get_channel();
+
+
+ if(! $source) {
+ $r = q("insert into source ( src_channel_id, src_channel_xchan, src_xchan, src_patt )
+ values ( %d, '%s', '%s', '%s' ) ",
+ intval(local_user()),
+ dbesc($channel['channel_hash']),
+ dbesc($xchan),
+ dbesc($words)
+ );
+ if($r) {
+ info( t('Source created.') . EOL);
+ }
+ goaway(z_root() . '/sources');
+ }
+ else {
+ $r = q("update source set src_xchan = '%s', src_patt = '%s' where src_channel_id = %d and src_id = %d limit 1",
+ dbesc($xchan),
+ dbesc($words),
+ intval(local_user()),
+ intval($source)
+ );
+ if($r) {
+ info( t('Source updated.') . EOL);
+ }
+
+ }
+}
+
+
+function sources_content(&$a) {
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return '';
+ }
+
+ if(! feature_enabled(local_user(),'channel_sources')) {
+ return '';
+ }
+
+ // list sources
+ if(argc() == 1) {
+ $r = q("select source.*, xchan.* from source left join xchan on src_xchan = xchan_hash where src_channel_id = %d",
+ intval(local_user())
+ );
+ if($r) {
+ for($x = 0; $x < count($r); $x ++) {
+ $r[$x]['src_patt'] = htmlspecialchars($r[$x]['src_patt'], ENT_COMPAT,'UTF-8');
+ }
+ }
+ $o = replace_macros(get_markup_template('sources_list.tpl'), array(
+ '$title' => t('Channel Sources'),
+ '$desc' => t('Manage remote sources of content for your channel.'),
+ '$new' => t('New Source'),
+ '$sources' => $r
+ ));
+ return $o;
+ }
+
+ if(argc() == 2 && argv(1) === 'new') {
+ // TODO add the words 'or RSS feed' and corresponding code to manage feeds and frequency
+
+ $o = replace_macros(get_markup_template('sources_new.tpl'), array(
+ '$title' => t('New Source'),
+ '$desc' => t('Import all or selected content from the following channel into this channel and distribute it according to your channel settings.'),
+ '$words' => array( 'words', t('Only import content with these words (one per line)'),'',t('Leave blank to import all public content')),
+ '$name' => array( 'name', t('Channel Name'), '', ''),
+ '$submit' => t('Submit')
+ ));
+ return $o;
+
+ }
+
+ if(argc() == 2 && intval(argv(1))) {
+ // edit source
+ $r = q("select source.*, xchan.* from source left join xchan on src_xchan = xchan_hash where src_id = %d and src_channel_id = %d limit 1",
+ intval(argv(1)),
+ intval(local_user())
+ );
+ if(! $r) {
+ notice( t('Source not found.') . EOL);
+ return '';
+ }
+
+ $r[0]['src_patt'] = htmlspecialchars($r[0]['src_patt'], ENT_QUOTES,'UTF-8');
+
+ $o = replace_macros(get_markup_template('sources_edit.tpl'), array(
+ '$title' => t('Edit Source'),
+ '$drop' => t('Delete Source'),
+ '$id' => $r[0]['src_id'],
+ '$desc' => t('Import all or selected content from the following channel into this channel and distribute it according to your channel settings.'),
+ '$words' => array( 'words', t('Only import content with these words (one per line)'),$r[0]['src_patt'],t('Leave blank to import all public content')),
+ '$xchan' => $r[0]['src_xchan'],
+ '$name' => array( 'name', t('Channel Name'), $r[0]['xchan_name'], ''),
+ '$submit' => t('Submit')
+ ));
+ return $o;
+
+ }
+
+ if(argc() == 3 && intval(argv(1)) && argv(2) === 'drop') {
+ $r = q("select * from source where src_id = %d and src_channel_id = %d limit 1",
+ intval(argv(1)),
+ intval(local_user())
+ );
+ if(! $r) {
+ notice( t('Source not found.') . EOL);
+ return '';
+ }
+ $r = q("delete from source where src_id = %d and src_channel_id = %d limit 1",
+ intval(argv(1)),
+ intval(local_user())
+ );
+ if($r)
+ info( t('Source removed') . EOL);
+ else
+ notice( t('Unable to remove source.') . EOL);
+
+ goaway(z_root() . '/sources');
+
+ }
+
+ // shouldn't get here.
+
+}
\ No newline at end of file
diff --git a/mod/zfinger.php b/mod/zfinger.php
index e1e19054e..3671da56e 100644
--- a/mod/zfinger.php
+++ b/mod/zfinger.php
@@ -72,8 +72,8 @@ function zfinger_init(&$a) {
$id = $e['channel_id'];
$special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false);
-
- $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
+ $adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false);
+ $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
if($e['xchan_flags'] & XCHAN_FLAGS_HIDDEN)
$searchable = false;
@@ -136,7 +136,8 @@ function zfinger_init(&$a) {
$ret['target'] = $ztarget;
$ret['target_sig'] = $zsig;
$ret['searchable'] = $searchable;
-
+ $ret['adult_content'] = $adult_channel;
+
// premium or other channel desiring some contact with potential followers before connecting.
// This is a template - %s will be replaced with the follow_url we discover for the return channel.
@@ -163,11 +164,6 @@ function zfinger_init(&$a) {
$ret['locations'] = array();
-
-
-
-
-
$x = zot_get_hubloc(array($e['channel_hash']));
if($x && count($x)) {
foreach($x as $hub) {
diff --git a/util/messages.po b/util/messages.po
index fdff6b5c8..c55667369 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2013-09-20.442\n"
+"Project-Id-Version: 2013-09-27.449\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-20 00:01-0700\n"
+"POT-Creation-Date: 2013-09-27 00:01-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -99,145 +99,145 @@ msgstr ""
msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../include/enotify.php:129
+#: ../../include/enotify.php:134
#, php-format
msgid "%1$s commented on [zrl=%2$s]a %3$s[/zrl]"
msgstr ""
-#: ../../include/enotify.php:136
+#: ../../include/enotify.php:141
#, php-format
msgid "%1$s commented on [zrl=%2$s]%3$s's %4$s[/zrl]"
msgstr ""
-#: ../../include/enotify.php:144
+#: ../../include/enotify.php:149
#, php-format
msgid "%1$s commented on [zrl=%2$s]your %3$s[/zrl]"
msgstr ""
-#: ../../include/enotify.php:154
+#: ../../include/enotify.php:159
#, php-format
msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../include/enotify.php:155
+#: ../../include/enotify.php:160
#, php-format
msgid "%s commented on an item/conversation you have been following."
msgstr ""
-#: ../../include/enotify.php:158 ../../include/enotify.php:175
-#: ../../include/enotify.php:201 ../../include/enotify.php:219
-#: ../../include/enotify.php:232
+#: ../../include/enotify.php:163 ../../include/enotify.php:180
+#: ../../include/enotify.php:206 ../../include/enotify.php:224
+#: ../../include/enotify.php:237
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../include/enotify.php:165
+#: ../../include/enotify.php:170
#, php-format
msgid "[Red:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../include/enotify.php:167
+#: ../../include/enotify.php:172
#, php-format
msgid "%1$s posted to your profile wall at %2$s"
msgstr ""
-#: ../../include/enotify.php:169
+#: ../../include/enotify.php:174
#, php-format
msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
msgstr ""
-#: ../../include/enotify.php:195
+#: ../../include/enotify.php:200
#, php-format
msgid "[Red:Notify] %s tagged you"
msgstr ""
-#: ../../include/enotify.php:196
+#: ../../include/enotify.php:201
#, php-format
msgid "%1$s tagged you at %2$s"
msgstr ""
-#: ../../include/enotify.php:197
+#: ../../include/enotify.php:202
#, php-format
msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
msgstr ""
-#: ../../include/enotify.php:209
+#: ../../include/enotify.php:214
#, php-format
msgid "[Red:Notify] %1$s poked you"
msgstr ""
-#: ../../include/enotify.php:210
+#: ../../include/enotify.php:215
#, php-format
msgid "%1$s poked you at %2$s"
msgstr ""
-#: ../../include/enotify.php:211
+#: ../../include/enotify.php:216
#, php-format
msgid "%1$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../include/enotify.php:226
+#: ../../include/enotify.php:231
#, php-format
msgid "[Red:Notify] %s tagged your post"
msgstr ""
-#: ../../include/enotify.php:227
+#: ../../include/enotify.php:232
#, php-format
msgid "%1$s tagged your post at %2$s"
msgstr ""
-#: ../../include/enotify.php:228
+#: ../../include/enotify.php:233
#, php-format
msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
msgstr ""
-#: ../../include/enotify.php:239
+#: ../../include/enotify.php:244
msgid "[Red:Notify] Introduction received"
msgstr ""
-#: ../../include/enotify.php:240
+#: ../../include/enotify.php:245
#, php-format
msgid "You've received an introduction from '%1$s' at %2$s"
msgstr ""
-#: ../../include/enotify.php:241
+#: ../../include/enotify.php:246
#, php-format
msgid "You've received [zrl=%1$s]an introduction[/zrl] from %2$s."
msgstr ""
-#: ../../include/enotify.php:244 ../../include/enotify.php:262
+#: ../../include/enotify.php:249 ../../include/enotify.php:267
#, php-format
msgid "You may visit their profile at %s"
msgstr ""
-#: ../../include/enotify.php:246
+#: ../../include/enotify.php:251
#, php-format
msgid "Please visit %s to approve or reject the introduction."
msgstr ""
-#: ../../include/enotify.php:253
+#: ../../include/enotify.php:258
msgid "[Red:Notify] Friend suggestion received"
msgstr ""
-#: ../../include/enotify.php:254
+#: ../../include/enotify.php:259
#, php-format
msgid "You've received a friend suggestion from '%1$s' at %2$s"
msgstr ""
-#: ../../include/enotify.php:255
+#: ../../include/enotify.php:260
#, php-format
msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
msgstr ""
-#: ../../include/enotify.php:260
+#: ../../include/enotify.php:265
msgid "Name:"
msgstr ""
-#: ../../include/enotify.php:261
+#: ../../include/enotify.php:266
msgid "Photo:"
msgstr ""
-#: ../../include/enotify.php:264
+#: ../../include/enotify.php:269
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
@@ -246,9 +246,191 @@ msgstr ""
msgid "Default"
msgstr ""
+#: ../../include/ItemObject.php:88 ../../mod/photos.php:960
+msgid "Private Message"
+msgstr ""
+
+#: ../../include/ItemObject.php:95 ../../include/page_widgets.php:8
+#: ../../mod/webpages.php:98 ../../mod/settings.php:697 ../../mod/menu.php:55
+#: ../../mod/layouts.php:89 ../../mod/editlayout.php:100
+#: ../../mod/editwebpage.php:119 ../../mod/blocks.php:92
+#: ../../mod/editpost.php:94 ../../mod/editblock.php:114
+msgid "Edit"
+msgstr ""
+
+#: ../../include/ItemObject.php:107 ../../include/conversation.php:631
+#: ../../mod/settings.php:698 ../../mod/admin.php:677 ../../mod/group.php:182
+#: ../../mod/photos.php:1141 ../../mod/connections.php:344
+#: ../../mod/filestorage.php:82
+msgid "Delete"
+msgstr ""
+
+#: ../../include/ItemObject.php:113 ../../include/conversation.php:630
+msgid "Select"
+msgstr ""
+
+#: ../../include/ItemObject.php:117
+msgid "save to folder"
+msgstr ""
+
+#: ../../include/ItemObject.php:145
+msgid "add star"
+msgstr ""
+
+#: ../../include/ItemObject.php:146
+msgid "remove star"
+msgstr ""
+
+#: ../../include/ItemObject.php:147
+msgid "toggle star status"
+msgstr ""
+
+#: ../../include/ItemObject.php:151
+msgid "starred"
+msgstr ""
+
+#: ../../include/ItemObject.php:162
+msgid "add tag"
+msgstr ""
+
+#: ../../include/ItemObject.php:168 ../../mod/photos.php:1070
+msgid "I like this (toggle)"
+msgstr ""
+
+#: ../../include/ItemObject.php:168 ../../include/taxonomy.php:249
+msgid "like"
+msgstr ""
+
+#: ../../include/ItemObject.php:169 ../../mod/photos.php:1071
+msgid "I don't like this (toggle)"
+msgstr ""
+
+#: ../../include/ItemObject.php:169 ../../include/taxonomy.php:250
+msgid "dislike"
+msgstr ""
+
+#: ../../include/ItemObject.php:171
+msgid "Share this"
+msgstr ""
+
+#: ../../include/ItemObject.php:171
+msgid "share"
+msgstr ""
+
+#: ../../include/ItemObject.php:195 ../../include/ItemObject.php:196
+#, php-format
+msgid "View %s's profile - %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:197
+msgid "to"
+msgstr ""
+
+#: ../../include/ItemObject.php:198
+msgid "Wall-to-Wall"
+msgstr ""
+
+#: ../../include/ItemObject.php:199
+msgid "via Wall-To-Wall:"
+msgstr ""
+
+#: ../../include/ItemObject.php:209 ../../include/conversation.php:678
+#, php-format
+msgid " from %s"
+msgstr ""
+
+#: ../../include/ItemObject.php:236 ../../include/conversation.php:697
+#: ../../include/conversation.php:1097 ../../mod/photos.php:1073
+#: ../../mod/message.php:303 ../../mod/message.php:466
+#: ../../mod/editlayout.php:109 ../../mod/editwebpage.php:128
+#: ../../mod/editpost.php:103 ../../mod/editblock.php:123
+msgid "Please wait"
+msgstr ""
+
+#: ../../include/ItemObject.php:257
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/ItemObject.php:258 ../../include/js_strings.php:7
+#: ../../include/contact_widgets.php:148
+msgid "show more"
+msgstr ""
+
+#: ../../include/ItemObject.php:517 ../../mod/photos.php:1089
+#: ../../mod/photos.php:1175
+msgid "This is you"
+msgstr ""
+
+#: ../../include/ItemObject.php:519 ../../include/js_strings.php:6
+#: ../../mod/photos.php:1091 ../../mod/photos.php:1177
+msgid "Comment"
+msgstr ""
+
+#: ../../include/ItemObject.php:520 ../../mod/events.php:458
+#: ../../mod/thing.php:190 ../../mod/invite.php:153 ../../mod/setup.php:283
+#: ../../mod/setup.php:326 ../../mod/settings.php:635
+#: ../../mod/settings.php:747 ../../mod/settings.php:775
+#: ../../mod/settings.php:799 ../../mod/settings.php:870
+#: ../../mod/settings.php:1038 ../../mod/connect.php:96
+#: ../../mod/admin.php:418 ../../mod/admin.php:670 ../../mod/admin.php:810
+#: ../../mod/admin.php:1009 ../../mod/admin.php:1096 ../../mod/group.php:87
+#: ../../mod/photos.php:693 ../../mod/photos.php:787 ../../mod/photos.php:1052
+#: ../../mod/photos.php:1092 ../../mod/photos.php:1178
+#: ../../mod/message.php:304 ../../mod/message.php:465
+#: ../../mod/connections.php:421 ../../mod/profiles.php:529
+#: ../../mod/import.php:385 ../../mod/crepair.php:166 ../../mod/poke.php:166
+#: ../../mod/fsuggest.php:108 ../../mod/mood.php:137
+#: ../../view/theme/redbasic/php/config.php:136
+#: ../../view/theme/redbasic/php/config.php:154
+#: ../../view/theme/redstrap/php/config.php:131
+msgid "Submit"
+msgstr ""
+
+#: ../../include/ItemObject.php:521
+msgid "Bold"
+msgstr ""
+
+#: ../../include/ItemObject.php:522
+msgid "Italic"
+msgstr ""
+
+#: ../../include/ItemObject.php:523
+msgid "Underline"
+msgstr ""
+
+#: ../../include/ItemObject.php:524
+msgid "Quote"
+msgstr ""
+
+#: ../../include/ItemObject.php:525
+msgid "Code"
+msgstr ""
+
+#: ../../include/ItemObject.php:526
+msgid "Image"
+msgstr ""
+
+#: ../../include/ItemObject.php:527
+msgid "Link"
+msgstr ""
+
+#: ../../include/ItemObject.php:528
+msgid "Video"
+msgstr ""
+
+#: ../../include/ItemObject.php:529 ../../include/conversation.php:1117
+#: ../../mod/photos.php:1093 ../../mod/editlayout.php:129
+#: ../../mod/editwebpage.php:150 ../../mod/editpost.php:123
+#: ../../mod/editblock.php:144
+msgid "Preview"
+msgstr ""
+
#: ../../include/Contact.php:87 ../../include/contact_widgets.php:23
#: ../../mod/match.php:58 ../../mod/suggest.php:56 ../../mod/directory.php:183
-#: ../../boot.php:1705
+#: ../../boot.php:1702
msgid "Connect"
msgstr ""
@@ -278,7 +460,7 @@ msgstr ""
msgid "View Photos"
msgstr ""
-#: ../../include/Contact.php:495 ../../include/conversation.php:922
+#: ../../include/Contact.php:495
msgid "Network Posts"
msgstr ""
@@ -350,8 +532,8 @@ msgstr ""
msgid "RSS/Atom"
msgstr ""
-#: ../../include/contact_selectors.php:77 ../../mod/admin.php:653
-#: ../../mod/admin.php:662 ../../boot.php:1433
+#: ../../include/contact_selectors.php:77 ../../mod/admin.php:673
+#: ../../mod/admin.php:682 ../../boot.php:1430
msgid "Email"
msgstr ""
@@ -470,7 +652,7 @@ msgid "Finishes:"
msgstr ""
#: ../../include/event.php:40 ../../include/bb2diaspora.php:455
-#: ../../mod/events.php:450 ../../mod/directory.php:158 ../../boot.php:1755
+#: ../../mod/events.php:450 ../../mod/directory.php:158 ../../boot.php:1752
msgid "Location:"
msgstr ""
@@ -684,7 +866,7 @@ msgstr ""
msgid "All Channels"
msgstr ""
-#: ../../include/group.php:264 ../../include/page_widgets.php:8
+#: ../../include/group.php:264
msgid "edit"
msgstr ""
@@ -712,16 +894,6 @@ msgstr ""
msgid "Delete this item?"
msgstr ""
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:506
-#: ../../mod/photos.php:1091 ../../mod/photos.php:1177
-msgid "Comment"
-msgstr ""
-
-#: ../../include/js_strings.php:7 ../../include/contact_widgets.php:148
-#: ../../include/ItemObject.php:257
-msgid "show more"
-msgstr ""
-
#: ../../include/js_strings.php:8
msgid "show fewer"
msgstr ""
@@ -839,12 +1011,12 @@ msgstr ""
msgid "Profile"
msgstr ""
-#: ../../include/profile_advanced.php:15 ../../mod/settings.php:1031
+#: ../../include/profile_advanced.php:15 ../../mod/settings.php:1046
msgid "Full Name:"
msgstr ""
#: ../../include/profile_advanced.php:17 ../../mod/directory.php:160
-#: ../../boot.php:1757
+#: ../../boot.php:1754
msgid "Gender:"
msgstr ""
@@ -865,7 +1037,7 @@ msgid "Age:"
msgstr ""
#: ../../include/profile_advanced.php:37 ../../mod/directory.php:162
-#: ../../boot.php:1758
+#: ../../boot.php:1755
msgid "Status:"
msgstr ""
@@ -879,7 +1051,7 @@ msgid "Sexual Preference:"
msgstr ""
#: ../../include/profile_advanced.php:48 ../../mod/directory.php:164
-#: ../../boot.php:1759
+#: ../../boot.php:1756
msgid "Homepage:"
msgstr ""
@@ -947,7 +1119,7 @@ msgstr ""
msgid "School/education:"
msgstr ""
-#: ../../include/identity.php:14 ../../mod/item.php:1151
+#: ../../include/identity.php:14 ../../mod/item.php:1162
msgid "Unable to obtain identity information from database"
msgstr ""
@@ -981,6 +1153,28 @@ msgstr ""
msgid "Friends"
msgstr ""
+#: ../../include/bbcode.php:94 ../../include/bbcode.php:451
+#: ../../include/bbcode.php:454
+msgid "Image/photo"
+msgstr ""
+
+#: ../../include/bbcode.php:141
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr ""
+
+#: ../../include/bbcode.php:143
+msgid "post"
+msgstr ""
+
+#: ../../include/bbcode.php:411 ../../include/bbcode.php:431
+msgid "$1 wrote:"
+msgstr ""
+
+#: ../../include/bbcode.php:458 ../../include/bbcode.php:459
+msgid "Encrypted content"
+msgstr ""
+
#: ../../include/notify.php:23
msgid "created a new post"
msgstr ""
@@ -1002,12 +1196,12 @@ msgstr ""
#: ../../include/attach.php:133 ../../include/attach.php:189
#: ../../include/attach.php:204 ../../include/attach.php:237
#: ../../include/attach.php:251 ../../include/attach.php:272
-#: ../../include/attach.php:464 ../../include/items.php:3362
+#: ../../include/attach.php:464 ../../include/items.php:3456
#: ../../mod/common.php:43 ../../mod/events.php:134 ../../mod/invite.php:13
#: ../../mod/invite.php:102 ../../mod/allfriends.php:10
#: ../../mod/webpages.php:40 ../../mod/api.php:26 ../../mod/api.php:31
#: ../../mod/lastpost.php:93 ../../mod/page.php:30 ../../mod/setup.php:181
-#: ../../mod/settings.php:598 ../../mod/viewconnections.php:33
+#: ../../mod/settings.php:612 ../../mod/viewconnections.php:33
#: ../../mod/viewconnections.php:38 ../../mod/delegate.php:6
#: ../../mod/mitem.php:92 ../../mod/group.php:15 ../../mod/photos.php:74
#: ../../mod/photos.php:662 ../../mod/viewsrc.php:12 ../../mod/menu.php:40
@@ -1023,9 +1217,9 @@ msgstr ""
#: ../../mod/notifications.php:66 ../../mod/blocks.php:29
#: ../../mod/blocks.php:44 ../../mod/editpost.php:13 ../../mod/poke.php:128
#: ../../mod/channel.php:118 ../../mod/fsuggest.php:78
-#: ../../mod/editblock.php:48 ../../mod/item.php:163 ../../mod/suggest.php:32
-#: ../../mod/register.php:60 ../../mod/regmod.php:18 ../../mod/mood.php:114
-#: ../../index.php:178 ../../index.php:340
+#: ../../mod/editblock.php:48 ../../mod/item.php:165 ../../mod/item.php:174
+#: ../../mod/suggest.php:32 ../../mod/register.php:60 ../../mod/regmod.php:18
+#: ../../mod/mood.php:114 ../../index.php:178 ../../index.php:340
msgid "Permission denied."
msgstr ""
@@ -1046,7 +1240,7 @@ msgstr ""
msgid "Photo storage failed."
msgstr ""
-#: ../../include/photos.php:288 ../../boot.php:2201
+#: ../../include/photos.php:288 ../../boot.php:2198
msgid "Photo Albums"
msgstr ""
@@ -1321,7 +1515,7 @@ msgstr ""
msgid "Path not available."
msgstr ""
-#: ../../include/nav.php:71 ../../include/nav.php:86 ../../boot.php:1430
+#: ../../include/nav.php:71 ../../include/nav.php:86 ../../boot.php:1427
msgid "Logout"
msgstr ""
@@ -1350,7 +1544,7 @@ msgstr ""
msgid "Manage/Edit Profiles"
msgstr ""
-#: ../../include/nav.php:78 ../../mod/fbrowser.php:25 ../../boot.php:2198
+#: ../../include/nav.php:78 ../../mod/fbrowser.php:25 ../../boot.php:2195
msgid "Photos"
msgstr ""
@@ -1358,7 +1552,7 @@ msgstr ""
msgid "Your photos"
msgstr ""
-#: ../../include/nav.php:84 ../../boot.php:1431
+#: ../../include/nav.php:84 ../../boot.php:1428
msgid "Login"
msgstr ""
@@ -1379,7 +1573,7 @@ msgstr ""
msgid "Home Page"
msgstr ""
-#: ../../include/nav.php:120 ../../mod/register.php:187 ../../boot.php:1406
+#: ../../include/nav.php:120 ../../mod/register.php:187 ../../boot.php:1403
msgid "Register"
msgstr ""
@@ -1500,7 +1694,7 @@ msgstr ""
msgid "New Message"
msgstr ""
-#: ../../include/nav.php:169 ../../mod/events.php:348 ../../boot.php:2209
+#: ../../include/nav.php:169 ../../mod/events.php:348 ../../boot.php:2206
msgid "Events"
msgstr ""
@@ -1525,7 +1719,7 @@ msgid "Manage Your Channels"
msgstr ""
#: ../../include/nav.php:175 ../../mod/settings.php:120
-#: ../../mod/admin.php:745 ../../mod/admin.php:950
+#: ../../mod/admin.php:769 ../../mod/admin.php:974
msgid "Settings"
msgstr ""
@@ -1541,7 +1735,7 @@ msgstr ""
msgid "Manage/Edit Friends and Connections"
msgstr ""
-#: ../../include/nav.php:184 ../../mod/admin.php:110
+#: ../../include/nav.php:184 ../../mod/admin.php:111
msgid "Admin"
msgstr ""
@@ -1613,28 +1807,6 @@ msgstr ""
msgid "Registration revoked for %s"
msgstr ""
-#: ../../include/bbcode.php:94 ../../include/bbcode.php:423
-#: ../../include/bbcode.php:426
-msgid "Image/photo"
-msgstr ""
-
-#: ../../include/bbcode.php:141
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr ""
-
-#: ../../include/bbcode.php:143
-msgid "post"
-msgstr ""
-
-#: ../../include/bbcode.php:383 ../../include/bbcode.php:403
-msgid "$1 wrote:"
-msgstr ""
-
-#: ../../include/bbcode.php:430 ../../include/bbcode.php:431
-msgid "Encrypted content"
-msgstr ""
-
#: ../../include/text.php:309
msgid "prev"
msgstr ""
@@ -1975,10 +2147,6 @@ msgstr ""
msgid "Pages"
msgstr ""
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr ""
-
#: ../../include/auth.php:66
msgid "Logged out."
msgstr ""
@@ -2067,6 +2235,10 @@ msgid_plural "%d connections in common"
msgstr[0] ""
msgstr[1] ""
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr ""
+
#: ../../include/follow.php:21
msgid "Channel is blocked on this site."
msgstr ""
@@ -2195,18 +2367,10 @@ msgstr ""
msgid "wants"
msgstr ""
-#: ../../include/taxonomy.php:249 ../../include/ItemObject.php:167
-msgid "like"
-msgstr ""
-
#: ../../include/taxonomy.php:249
msgid "likes"
msgstr ""
-#: ../../include/taxonomy.php:250 ../../include/ItemObject.php:168
-msgid "dislike"
-msgstr ""
-
#: ../../include/taxonomy.php:250
msgid "dislikes"
msgstr ""
@@ -2223,170 +2387,6 @@ msgstr ""
msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/ItemObject.php:87 ../../mod/photos.php:960
-msgid "Private Message"
-msgstr ""
-
-#: ../../include/ItemObject.php:94 ../../mod/webpages.php:98
-#: ../../mod/settings.php:683 ../../mod/menu.php:55 ../../mod/layouts.php:89
-#: ../../mod/editlayout.php:100 ../../mod/editwebpage.php:119
-#: ../../mod/blocks.php:92 ../../mod/editpost.php:94
-#: ../../mod/editblock.php:114
-msgid "Edit"
-msgstr ""
-
-#: ../../include/ItemObject.php:106 ../../include/conversation.php:631
-#: ../../mod/settings.php:684 ../../mod/admin.php:657 ../../mod/group.php:182
-#: ../../mod/photos.php:1141 ../../mod/connections.php:344
-#: ../../mod/filestorage.php:82
-msgid "Delete"
-msgstr ""
-
-#: ../../include/ItemObject.php:112 ../../include/conversation.php:630
-msgid "Select"
-msgstr ""
-
-#: ../../include/ItemObject.php:116
-msgid "save to folder"
-msgstr ""
-
-#: ../../include/ItemObject.php:144
-msgid "add star"
-msgstr ""
-
-#: ../../include/ItemObject.php:145
-msgid "remove star"
-msgstr ""
-
-#: ../../include/ItemObject.php:146
-msgid "toggle star status"
-msgstr ""
-
-#: ../../include/ItemObject.php:150
-msgid "starred"
-msgstr ""
-
-#: ../../include/ItemObject.php:161
-msgid "add tag"
-msgstr ""
-
-#: ../../include/ItemObject.php:167 ../../mod/photos.php:1070
-msgid "I like this (toggle)"
-msgstr ""
-
-#: ../../include/ItemObject.php:168 ../../mod/photos.php:1071
-msgid "I don't like this (toggle)"
-msgstr ""
-
-#: ../../include/ItemObject.php:170
-msgid "Share this"
-msgstr ""
-
-#: ../../include/ItemObject.php:170
-msgid "share"
-msgstr ""
-
-#: ../../include/ItemObject.php:194 ../../include/ItemObject.php:195
-#, php-format
-msgid "View %s's profile - %s"
-msgstr ""
-
-#: ../../include/ItemObject.php:196
-msgid "to"
-msgstr ""
-
-#: ../../include/ItemObject.php:197
-msgid "Wall-to-Wall"
-msgstr ""
-
-#: ../../include/ItemObject.php:198
-msgid "via Wall-To-Wall:"
-msgstr ""
-
-#: ../../include/ItemObject.php:208 ../../include/conversation.php:678
-#, php-format
-msgid " from %s"
-msgstr ""
-
-#: ../../include/ItemObject.php:235 ../../include/conversation.php:697
-#: ../../include/conversation.php:1097 ../../mod/photos.php:1073
-#: ../../mod/message.php:303 ../../mod/message.php:466
-#: ../../mod/editlayout.php:109 ../../mod/editwebpage.php:128
-#: ../../mod/editpost.php:103 ../../mod/editblock.php:123
-msgid "Please wait"
-msgstr ""
-
-#: ../../include/ItemObject.php:256
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/ItemObject.php:504 ../../mod/photos.php:1089
-#: ../../mod/photos.php:1175
-msgid "This is you"
-msgstr ""
-
-#: ../../include/ItemObject.php:507 ../../mod/events.php:458
-#: ../../mod/thing.php:190 ../../mod/invite.php:153 ../../mod/setup.php:283
-#: ../../mod/setup.php:326 ../../mod/settings.php:621
-#: ../../mod/settings.php:733 ../../mod/settings.php:761
-#: ../../mod/settings.php:785 ../../mod/settings.php:856
-#: ../../mod/settings.php:1023 ../../mod/connect.php:96
-#: ../../mod/admin.php:417 ../../mod/admin.php:650 ../../mod/admin.php:786
-#: ../../mod/admin.php:985 ../../mod/admin.php:1072 ../../mod/group.php:87
-#: ../../mod/photos.php:693 ../../mod/photos.php:787 ../../mod/photos.php:1052
-#: ../../mod/photos.php:1092 ../../mod/photos.php:1178
-#: ../../mod/message.php:304 ../../mod/message.php:465
-#: ../../mod/connections.php:421 ../../mod/profiles.php:529
-#: ../../mod/import.php:385 ../../mod/crepair.php:166 ../../mod/poke.php:166
-#: ../../mod/fsuggest.php:108 ../../mod/mood.php:137
-#: ../../view/theme/redbasic/php/config.php:136
-#: ../../view/theme/redbasic/php/config.php:154
-#: ../../view/theme/redstrap/php/config.php:131
-msgid "Submit"
-msgstr ""
-
-#: ../../include/ItemObject.php:508
-msgid "Bold"
-msgstr ""
-
-#: ../../include/ItemObject.php:509
-msgid "Italic"
-msgstr ""
-
-#: ../../include/ItemObject.php:510
-msgid "Underline"
-msgstr ""
-
-#: ../../include/ItemObject.php:511
-msgid "Quote"
-msgstr ""
-
-#: ../../include/ItemObject.php:512
-msgid "Code"
-msgstr ""
-
-#: ../../include/ItemObject.php:513
-msgid "Image"
-msgstr ""
-
-#: ../../include/ItemObject.php:514
-msgid "Link"
-msgstr ""
-
-#: ../../include/ItemObject.php:515
-msgid "Video"
-msgstr ""
-
-#: ../../include/ItemObject.php:516 ../../include/conversation.php:1117
-#: ../../mod/photos.php:1093 ../../mod/editlayout.php:129
-#: ../../mod/editwebpage.php:150 ../../mod/editpost.php:123
-#: ../../mod/editblock.php:144
-msgid "Preview"
-msgstr ""
-
#: ../../include/conversation.php:123
msgid "channel"
msgstr ""
@@ -2441,6 +2441,10 @@ msgstr ""
msgid "Follow Thread"
msgstr ""
+#: ../../include/conversation.php:922
+msgid "Matrix Activity"
+msgstr ""
+
#: ../../include/conversation.php:987
#, php-format
msgid "%s likes this."
@@ -2632,7 +2636,7 @@ msgstr ""
msgid "Welcome back "
msgstr ""
-#: ../../include/security.php:357
+#: ../../include/security.php:360
msgid ""
"The form security token was not correct. This probably happened because the "
"form has been opened for too long (>3 hours) before submitting it."
@@ -2646,35 +2650,35 @@ msgstr ""
msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/zot.php:573
+#: ../../include/zot.php:580
#, php-format
msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/items.php:160 ../../mod/like.php:55 ../../mod/group.php:74
+#: ../../include/items.php:190 ../../mod/like.php:55 ../../mod/group.php:74
#: ../../mod/profperm.php:28 ../../index.php:339
msgid "Permission denied"
msgstr ""
-#: ../../include/items.php:3311 ../../mod/page.php:66 ../../mod/admin.php:149
-#: ../../mod/admin.php:694 ../../mod/admin.php:893 ../../mod/viewsrc.php:18
+#: ../../include/items.php:3405 ../../mod/page.php:66 ../../mod/admin.php:150
+#: ../../mod/admin.php:714 ../../mod/admin.php:917 ../../mod/viewsrc.php:18
#: ../../mod/home.php:64 ../../mod/display.php:32
msgid "Item not found."
msgstr ""
-#: ../../include/items.php:3483
+#: ../../include/items.php:3577
msgid "Archives"
msgstr ""
-#: ../../include/items.php:3644 ../../mod/group.php:44 ../../mod/group.php:146
+#: ../../include/items.php:3738 ../../mod/group.php:44 ../../mod/group.php:146
msgid "Collection not found."
msgstr ""
-#: ../../include/items.php:3660 ../../mod/network.php:446
+#: ../../include/items.php:3754 ../../mod/network.php:446
msgid "Group is empty"
msgstr ""
-#: ../../include/items.php:3676
+#: ../../include/items.php:3770
msgid "Connection not found."
msgstr ""
@@ -2883,7 +2887,7 @@ msgstr ""
#: ../../mod/webpages.php:8 ../../mod/connect.php:13 ../../mod/layouts.php:8
#: ../../mod/filestorage.php:8 ../../mod/blocks.php:10 ../../mod/profile.php:8
-#: ../../boot.php:1604
+#: ../../boot.php:1601
msgid "Requested profile is not available."
msgstr ""
@@ -2909,16 +2913,16 @@ msgid ""
"and/or create new posts for you?"
msgstr ""
-#: ../../mod/api.php:105 ../../mod/settings.php:978 ../../mod/settings.php:983
-#: ../../mod/settings.php:1006 ../../mod/settings.php:1008
-#: ../../mod/settings.php:1009 ../../mod/settings.php:1010
+#: ../../mod/api.php:105 ../../mod/settings.php:993 ../../mod/settings.php:998
+#: ../../mod/settings.php:1021 ../../mod/settings.php:1023
+#: ../../mod/settings.php:1024 ../../mod/settings.php:1025
#: ../../mod/profiles.php:506
msgid "Yes"
msgstr ""
-#: ../../mod/api.php:106 ../../mod/settings.php:978 ../../mod/settings.php:983
-#: ../../mod/settings.php:1006 ../../mod/settings.php:1008
-#: ../../mod/settings.php:1009 ../../mod/settings.php:1010
+#: ../../mod/api.php:106 ../../mod/settings.php:993 ../../mod/settings.php:998
+#: ../../mod/settings.php:1021 ../../mod/settings.php:1023
+#: ../../mod/settings.php:1024 ../../mod/settings.php:1025
#: ../../mod/profiles.php:507
msgid "No"
msgstr ""
@@ -3293,7 +3297,7 @@ msgstr ""
msgid "[Embedded content - reload page to view]"
msgstr ""
-#: ../../mod/chanview.php:94
+#: ../../mod/chanview.php:98
msgid "toggle full screen mode"
msgstr ""
@@ -3338,391 +3342,420 @@ msgstr ""
msgid "Premium Channel Settings"
msgstr ""
-#: ../../mod/settings.php:158
-msgid "Missing some important data!"
+#: ../../mod/settings.php:160
+msgid "Name is required"
msgstr ""
-#: ../../mod/settings.php:161 ../../mod/settings.php:647
+#: ../../mod/settings.php:164
+msgid "Key and Secret are required"
+msgstr ""
+
+#: ../../mod/settings.php:168 ../../mod/settings.php:661
msgid "Update"
msgstr ""
-#: ../../mod/settings.php:274
+#: ../../mod/settings.php:281
msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../mod/settings.php:278
+#: ../../mod/settings.php:285
msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../mod/settings.php:291
+#: ../../mod/settings.php:298
msgid "Password changed."
msgstr ""
-#: ../../mod/settings.php:293
+#: ../../mod/settings.php:300
msgid "Password update failed. Please try again."
msgstr ""
-#: ../../mod/settings.php:307
+#: ../../mod/settings.php:314
msgid "Not valid email."
msgstr ""
-#: ../../mod/settings.php:310
+#: ../../mod/settings.php:317
msgid "Protected email address. Cannot change to that email."
msgstr ""
-#: ../../mod/settings.php:319
+#: ../../mod/settings.php:326
msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../mod/settings.php:549
+#: ../../mod/settings.php:563
msgid "Settings updated."
msgstr ""
-#: ../../mod/settings.php:620 ../../mod/settings.php:646
-#: ../../mod/settings.php:682
+#: ../../mod/settings.php:634 ../../mod/settings.php:660
+#: ../../mod/settings.php:696
msgid "Add application"
msgstr ""
-#: ../../mod/settings.php:622 ../../mod/settings.php:648
+#: ../../mod/settings.php:636 ../../mod/settings.php:662
#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/fbrowser.php:82
#: ../../mod/fbrowser.php:117
msgid "Cancel"
msgstr ""
-#: ../../mod/settings.php:623 ../../mod/settings.php:649
-#: ../../mod/admin.php:653 ../../mod/crepair.php:148
+#: ../../mod/settings.php:637 ../../mod/settings.php:663
+#: ../../mod/admin.php:673 ../../mod/crepair.php:148
msgid "Name"
msgstr ""
-#: ../../mod/settings.php:624 ../../mod/settings.php:650
+#: ../../mod/settings.php:637
+msgid "Name of application"
+msgstr ""
+
+#: ../../mod/settings.php:638 ../../mod/settings.php:664
msgid "Consumer Key"
msgstr ""
-#: ../../mod/settings.php:625 ../../mod/settings.php:651
+#: ../../mod/settings.php:638 ../../mod/settings.php:639
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+
+#: ../../mod/settings.php:639 ../../mod/settings.php:665
msgid "Consumer Secret"
msgstr ""
-#: ../../mod/settings.php:626 ../../mod/settings.php:652
+#: ../../mod/settings.php:640 ../../mod/settings.php:666
msgid "Redirect"
msgstr ""
-#: ../../mod/settings.php:627 ../../mod/settings.php:653
+#: ../../mod/settings.php:640
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
+msgstr ""
+
+#: ../../mod/settings.php:641 ../../mod/settings.php:667
msgid "Icon url"
msgstr ""
-#: ../../mod/settings.php:638
+#: ../../mod/settings.php:641
+msgid "Optional"
+msgstr ""
+
+#: ../../mod/settings.php:652
msgid "You can't edit this application."
msgstr ""
-#: ../../mod/settings.php:681
+#: ../../mod/settings.php:695
msgid "Connected Apps"
msgstr ""
-#: ../../mod/settings.php:685
+#: ../../mod/settings.php:699
msgid "Client key starts with"
msgstr ""
-#: ../../mod/settings.php:686
+#: ../../mod/settings.php:700
msgid "No name"
msgstr ""
-#: ../../mod/settings.php:687
+#: ../../mod/settings.php:701
msgid "Remove authorization"
msgstr ""
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:712
msgid "No feature settings configured"
msgstr ""
-#: ../../mod/settings.php:706
+#: ../../mod/settings.php:720
msgid "Feature Settings"
msgstr ""
-#: ../../mod/settings.php:729
+#: ../../mod/settings.php:743
msgid "Account Settings"
msgstr ""
-#: ../../mod/settings.php:730
+#: ../../mod/settings.php:744
msgid "Password Settings"
msgstr ""
-#: ../../mod/settings.php:731
+#: ../../mod/settings.php:745
msgid "New Password:"
msgstr ""
-#: ../../mod/settings.php:732
+#: ../../mod/settings.php:746
msgid "Confirm:"
msgstr ""
-#: ../../mod/settings.php:732
+#: ../../mod/settings.php:746
msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../mod/settings.php:734 ../../mod/settings.php:1032
+#: ../../mod/settings.php:748 ../../mod/settings.php:1047
msgid "Email Address:"
msgstr ""
-#: ../../mod/settings.php:735
+#: ../../mod/settings.php:749
msgid "Remove Account"
msgstr ""
-#: ../../mod/settings.php:736
+#: ../../mod/settings.php:750
msgid "Warning: This action is permanent and cannot be reversed."
msgstr ""
-#: ../../mod/settings.php:752
+#: ../../mod/settings.php:766
msgid "Off"
msgstr ""
-#: ../../mod/settings.php:752
+#: ../../mod/settings.php:766
msgid "On"
msgstr ""
-#: ../../mod/settings.php:759
+#: ../../mod/settings.php:773
msgid "Additional Features"
msgstr ""
-#: ../../mod/settings.php:784
+#: ../../mod/settings.php:798
msgid "Connector Settings"
msgstr ""
-#: ../../mod/settings.php:814 ../../mod/admin.php:368
+#: ../../mod/settings.php:828 ../../mod/admin.php:369
msgid "No special theme for mobile devices"
msgstr ""
-#: ../../mod/settings.php:854
+#: ../../mod/settings.php:868
msgid "Display Settings"
msgstr ""
-#: ../../mod/settings.php:860
+#: ../../mod/settings.php:874
msgid "Display Theme:"
msgstr ""
-#: ../../mod/settings.php:861
+#: ../../mod/settings.php:875
msgid "Mobile Theme:"
msgstr ""
-#: ../../mod/settings.php:862
+#: ../../mod/settings.php:876
msgid "Update browser every xx seconds"
msgstr ""
-#: ../../mod/settings.php:862
+#: ../../mod/settings.php:876
msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../mod/settings.php:863
+#: ../../mod/settings.php:877
msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../mod/settings.php:863
+#: ../../mod/settings.php:877
msgid "Maximum of 100 items"
msgstr ""
-#: ../../mod/settings.php:864
+#: ../../mod/settings.php:878
msgid "Don't show emoticons"
msgstr ""
-#: ../../mod/settings.php:900
+#: ../../mod/settings.php:914
msgid "Nobody except yourself"
msgstr ""
-#: ../../mod/settings.php:901
+#: ../../mod/settings.php:915
msgid "Only those you specifically allow"
msgstr ""
-#: ../../mod/settings.php:902
+#: ../../mod/settings.php:916
msgid "Anybody in your address book"
msgstr ""
-#: ../../mod/settings.php:903
+#: ../../mod/settings.php:917
msgid "Anybody on this website"
msgstr ""
-#: ../../mod/settings.php:904
+#: ../../mod/settings.php:918
msgid "Anybody in this network"
msgstr ""
-#: ../../mod/settings.php:905
+#: ../../mod/settings.php:919
msgid "Anybody on the internet"
msgstr ""
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:993
msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../mod/settings.php:983
+#: ../../mod/settings.php:998
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../mod/settings.php:987 ../../mod/profile_photo.php:298
+#: ../../mod/settings.php:1002 ../../mod/profile_photo.php:298
msgid "or"
msgstr ""
-#: ../../mod/settings.php:992
+#: ../../mod/settings.php:1007
msgid "Your channel address is"
msgstr ""
-#: ../../mod/settings.php:1003
+#: ../../mod/settings.php:1018
msgid "Automatically expire posts after this many days:"
msgstr ""
-#: ../../mod/settings.php:1003
+#: ../../mod/settings.php:1018
msgid "If empty, posts will not expire. Expired posts will be deleted"
msgstr ""
-#: ../../mod/settings.php:1004
+#: ../../mod/settings.php:1019
msgid "Advanced expiration settings"
msgstr ""
-#: ../../mod/settings.php:1005
+#: ../../mod/settings.php:1020
msgid "Advanced Expiration"
msgstr ""
-#: ../../mod/settings.php:1006
+#: ../../mod/settings.php:1021
msgid "Expire posts:"
msgstr ""
-#: ../../mod/settings.php:1008
+#: ../../mod/settings.php:1023
msgid "Expire starred posts:"
msgstr ""
-#: ../../mod/settings.php:1009
+#: ../../mod/settings.php:1024
msgid "Expire photos:"
msgstr ""
-#: ../../mod/settings.php:1010
+#: ../../mod/settings.php:1025
msgid "Only expire posts by others:"
msgstr ""
-#: ../../mod/settings.php:1021
+#: ../../mod/settings.php:1036
msgid "Channel Settings"
msgstr ""
-#: ../../mod/settings.php:1030
+#: ../../mod/settings.php:1045
msgid "Basic Settings"
msgstr ""
-#: ../../mod/settings.php:1033
+#: ../../mod/settings.php:1048
msgid "Your Timezone:"
msgstr ""
-#: ../../mod/settings.php:1034
+#: ../../mod/settings.php:1049
msgid "Default Post Location:"
msgstr ""
-#: ../../mod/settings.php:1035
+#: ../../mod/settings.php:1050
msgid "Use Browser Location:"
msgstr ""
-#: ../../mod/settings.php:1038
+#: ../../mod/settings.php:1052
+msgid "Adult Content"
+msgstr ""
+
+#: ../../mod/settings.php:1052
+msgid "This channel publishes adult content."
+msgstr ""
+
+#: ../../mod/settings.php:1054
msgid "Security and Privacy Settings"
msgstr ""
-#: ../../mod/settings.php:1040
+#: ../../mod/settings.php:1056
msgid "Quick Privacy Settings:"
msgstr ""
-#: ../../mod/settings.php:1041
+#: ../../mod/settings.php:1057
msgid "Very Public - extremely permissive"
msgstr ""
-#: ../../mod/settings.php:1042
+#: ../../mod/settings.php:1058
msgid "Typical - default public, privacy when desired"
msgstr ""
-#: ../../mod/settings.php:1043
+#: ../../mod/settings.php:1059
msgid "Private - default private, rarely open or public"
msgstr ""
-#: ../../mod/settings.php:1044
+#: ../../mod/settings.php:1060
msgid "Blocked - default blocked to/from everybody"
msgstr ""
-#: ../../mod/settings.php:1047
+#: ../../mod/settings.php:1063
msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../mod/settings.php:1047
+#: ../../mod/settings.php:1063
msgid "May reduce spam activity"
msgstr ""
-#: ../../mod/settings.php:1048
+#: ../../mod/settings.php:1064
msgid "Default Post Permissions"
msgstr ""
-#: ../../mod/settings.php:1049
+#: ../../mod/settings.php:1065
msgid "(click to open/close)"
msgstr ""
-#: ../../mod/settings.php:1062
+#: ../../mod/settings.php:1078
msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../mod/settings.php:1062
+#: ../../mod/settings.php:1078
msgid "Useful to reduce spamming"
msgstr ""
-#: ../../mod/settings.php:1065
+#: ../../mod/settings.php:1081
msgid "Notification Settings"
msgstr ""
-#: ../../mod/settings.php:1066
+#: ../../mod/settings.php:1082
msgid "By default post a status message when:"
msgstr ""
-#: ../../mod/settings.php:1067
+#: ../../mod/settings.php:1083
msgid "accepting a friend request"
msgstr ""
-#: ../../mod/settings.php:1068
+#: ../../mod/settings.php:1084
msgid "joining a forum/community"
msgstr ""
-#: ../../mod/settings.php:1069
+#: ../../mod/settings.php:1085
msgid "making an interesting profile change"
msgstr ""
-#: ../../mod/settings.php:1070
+#: ../../mod/settings.php:1086
msgid "Send a notification email when:"
msgstr ""
-#: ../../mod/settings.php:1071
+#: ../../mod/settings.php:1087
msgid "You receive an introduction"
msgstr ""
-#: ../../mod/settings.php:1072
+#: ../../mod/settings.php:1088
msgid "Your introductions are confirmed"
msgstr ""
-#: ../../mod/settings.php:1073
+#: ../../mod/settings.php:1089
msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../mod/settings.php:1074
+#: ../../mod/settings.php:1090
msgid "Someone writes a followup comment"
msgstr ""
-#: ../../mod/settings.php:1075
+#: ../../mod/settings.php:1091
msgid "You receive a private message"
msgstr ""
-#: ../../mod/settings.php:1076
+#: ../../mod/settings.php:1092
msgid "You receive a friend suggestion"
msgstr ""
-#: ../../mod/settings.php:1077
+#: ../../mod/settings.php:1093
msgid "You are tagged in a post"
msgstr ""
-#: ../../mod/settings.php:1078
+#: ../../mod/settings.php:1094
msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../mod/settings.php:1081
+#: ../../mod/settings.php:1097
msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../mod/settings.php:1082
+#: ../../mod/settings.php:1098
msgid "Change the behaviour of this account for special situations"
msgstr ""
@@ -3843,509 +3876,529 @@ msgstr ""
msgid "Theme settings updated."
msgstr ""
-#: ../../mod/admin.php:86 ../../mod/admin.php:416
+#: ../../mod/admin.php:87 ../../mod/admin.php:417
msgid "Site"
msgstr ""
-#: ../../mod/admin.php:87 ../../mod/admin.php:649 ../../mod/admin.php:661
+#: ../../mod/admin.php:88 ../../mod/admin.php:669 ../../mod/admin.php:681
msgid "Users"
msgstr ""
-#: ../../mod/admin.php:88 ../../mod/admin.php:743 ../../mod/admin.php:785
+#: ../../mod/admin.php:89 ../../mod/admin.php:767 ../../mod/admin.php:809
msgid "Plugins"
msgstr ""
-#: ../../mod/admin.php:89 ../../mod/admin.php:948 ../../mod/admin.php:984
+#: ../../mod/admin.php:90 ../../mod/admin.php:972 ../../mod/admin.php:1008
msgid "Themes"
msgstr ""
-#: ../../mod/admin.php:90
+#: ../../mod/admin.php:91 ../../mod/admin.php:475
msgid "Server"
msgstr ""
-#: ../../mod/admin.php:91
+#: ../../mod/admin.php:92
msgid "DB updates"
msgstr ""
-#: ../../mod/admin.php:105 ../../mod/admin.php:112 ../../mod/admin.php:1071
+#: ../../mod/admin.php:106 ../../mod/admin.php:113 ../../mod/admin.php:1095
msgid "Logs"
msgstr ""
-#: ../../mod/admin.php:111
+#: ../../mod/admin.php:112
msgid "Plugin Features"
msgstr ""
-#: ../../mod/admin.php:113
+#: ../../mod/admin.php:114
msgid "User registrations waiting for confirmation"
msgstr ""
-#: ../../mod/admin.php:187
+#: ../../mod/admin.php:188
msgid "Message queues"
msgstr ""
-#: ../../mod/admin.php:192 ../../mod/admin.php:415 ../../mod/admin.php:648
-#: ../../mod/admin.php:742 ../../mod/admin.php:784 ../../mod/admin.php:947
-#: ../../mod/admin.php:983 ../../mod/admin.php:1070
+#: ../../mod/admin.php:193 ../../mod/admin.php:416 ../../mod/admin.php:474
+#: ../../mod/admin.php:668 ../../mod/admin.php:766 ../../mod/admin.php:808
+#: ../../mod/admin.php:971 ../../mod/admin.php:1007 ../../mod/admin.php:1094
msgid "Administration"
msgstr ""
-#: ../../mod/admin.php:193
+#: ../../mod/admin.php:194
msgid "Summary"
msgstr ""
-#: ../../mod/admin.php:195
+#: ../../mod/admin.php:196
msgid "Registered users"
msgstr ""
-#: ../../mod/admin.php:197
+#: ../../mod/admin.php:198 ../../mod/admin.php:478
msgid "Pending registrations"
msgstr ""
-#: ../../mod/admin.php:198
+#: ../../mod/admin.php:199
msgid "Version"
msgstr ""
-#: ../../mod/admin.php:200
+#: ../../mod/admin.php:201 ../../mod/admin.php:479
msgid "Active plugins"
msgstr ""
-#: ../../mod/admin.php:339
+#: ../../mod/admin.php:340
msgid "Site settings updated."
msgstr ""
-#: ../../mod/admin.php:370
+#: ../../mod/admin.php:371
msgid "No special theme for accessibility"
msgstr ""
-#: ../../mod/admin.php:395
+#: ../../mod/admin.php:396
msgid "Closed"
msgstr ""
-#: ../../mod/admin.php:396
+#: ../../mod/admin.php:397
msgid "Requires approval"
msgstr ""
-#: ../../mod/admin.php:397
+#: ../../mod/admin.php:398
msgid "Open"
msgstr ""
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:403
msgid "Private"
msgstr ""
-#: ../../mod/admin.php:403
+#: ../../mod/admin.php:404
msgid "Paid Access"
msgstr ""
-#: ../../mod/admin.php:404
+#: ../../mod/admin.php:405
msgid "Free Access"
msgstr ""
-#: ../../mod/admin.php:405
+#: ../../mod/admin.php:406
msgid "Tiered Access"
msgstr ""
-#: ../../mod/admin.php:418 ../../mod/register.php:172
+#: ../../mod/admin.php:419 ../../mod/register.php:172
msgid "Registration"
msgstr ""
-#: ../../mod/admin.php:419
+#: ../../mod/admin.php:420
msgid "File upload"
msgstr ""
-#: ../../mod/admin.php:420
+#: ../../mod/admin.php:421
msgid "Policies"
msgstr ""
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:422
msgid "Advanced"
msgstr ""
-#: ../../mod/admin.php:425
+#: ../../mod/admin.php:426
msgid "Site name"
msgstr ""
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:427
msgid "Banner/Logo"
msgstr ""
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:428
msgid "System language"
msgstr ""
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:429
msgid "System theme"
msgstr ""
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:429
msgid ""
"Default system theme - may be over-ridden by user profiles - change theme settings "
msgstr ""
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:430
msgid "Mobile system theme"
msgstr ""
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:430
msgid "Theme for mobile devices"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:431
msgid "Accessibility system theme"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:431
msgid "Accessibility theme"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:432
msgid "Channel to use for this website's static pages"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:432
msgid "Site Channel"
msgstr ""
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:434
msgid "Maximum image size"
msgstr ""
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:434
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:435
msgid "Register policy"
msgstr ""
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:436
msgid "Access policy"
msgstr ""
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:437
msgid "Register text"
msgstr ""
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:437
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:438
msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:438
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:439
msgid "Allowed friend domains"
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:439
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:439
+#: ../../mod/admin.php:440
msgid "Allowed email domains"
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:440
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:440
+#: ../../mod/admin.php:441
msgid "Block public"
msgstr ""
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:441
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:442
msgid "Force publish"
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:442
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:444
msgid "Proxy user"
msgstr ""
-#: ../../mod/admin.php:444
+#: ../../mod/admin.php:445
msgid "Proxy URL"
msgstr ""
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:446
msgid "Network timeout"
msgstr ""
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:446
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:447
msgid "Delivery interval"
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:447
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:448
msgid "Poll interval"
msgstr ""
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:448
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:449
msgid "Maximum Load Average"
msgstr ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:449
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
+#: ../../mod/admin.php:466
+msgid "No server found"
+msgstr ""
+
#: ../../mod/admin.php:473
+msgid "ID"
+msgstr ""
+
+#: ../../mod/admin.php:473
+msgid "for channel"
+msgstr ""
+
+#: ../../mod/admin.php:473
+msgid "on server"
+msgstr ""
+
+#: ../../mod/admin.php:473
+msgid "Status"
+msgstr ""
+
+#: ../../mod/admin.php:493
msgid "Update has been marked successful"
msgstr ""
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:503
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../mod/admin.php:486
+#: ../../mod/admin.php:506
#, php-format
msgid "Update %s was successfully applied."
msgstr ""
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:510
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../mod/admin.php:493
+#: ../../mod/admin.php:513
#, php-format
msgid "Update function %s could not be found."
msgstr ""
-#: ../../mod/admin.php:508
+#: ../../mod/admin.php:528
msgid "No failed updates."
msgstr ""
-#: ../../mod/admin.php:512
+#: ../../mod/admin.php:532
msgid "Failed Updates"
msgstr ""
-#: ../../mod/admin.php:514
+#: ../../mod/admin.php:534
msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../mod/admin.php:515
+#: ../../mod/admin.php:535
msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../mod/admin.php:541
+#: ../../mod/admin.php:561
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:548
+#: ../../mod/admin.php:568
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:579
+#: ../../mod/admin.php:599
msgid "Account not found"
msgstr ""
-#: ../../mod/admin.php:590
+#: ../../mod/admin.php:610
#, php-format
msgid "User '%s' deleted"
msgstr ""
-#: ../../mod/admin.php:599
+#: ../../mod/admin.php:619
#, php-format
msgid "User '%s' unblocked"
msgstr ""
-#: ../../mod/admin.php:599
+#: ../../mod/admin.php:619
#, php-format
msgid "User '%s' blocked"
msgstr ""
-#: ../../mod/admin.php:630
+#: ../../mod/admin.php:650
msgid "Normal Account"
msgstr ""
-#: ../../mod/admin.php:631
+#: ../../mod/admin.php:651
msgid "Soapbox Account"
msgstr ""
-#: ../../mod/admin.php:632
+#: ../../mod/admin.php:652
msgid "Community/Celebrity Account"
msgstr ""
-#: ../../mod/admin.php:633
+#: ../../mod/admin.php:653
msgid "Automatic Friend Account"
msgstr ""
-#: ../../mod/admin.php:651
+#: ../../mod/admin.php:671
msgid "select all"
msgstr ""
-#: ../../mod/admin.php:652
+#: ../../mod/admin.php:672
msgid "User registrations waiting for confirm"
msgstr ""
-#: ../../mod/admin.php:653
+#: ../../mod/admin.php:673
msgid "Request date"
msgstr ""
-#: ../../mod/admin.php:654
+#: ../../mod/admin.php:674
msgid "No registrations."
msgstr ""
-#: ../../mod/admin.php:655 ../../mod/intro.php:11 ../../mod/intro.php:98
+#: ../../mod/admin.php:675 ../../mod/intro.php:11 ../../mod/intro.php:98
#: ../../mod/notifications.php:159 ../../mod/notifications.php:206
msgid "Approve"
msgstr ""
-#: ../../mod/admin.php:656
+#: ../../mod/admin.php:676
msgid "Deny"
msgstr ""
-#: ../../mod/admin.php:658 ../../mod/intro.php:14 ../../mod/intro.php:99
+#: ../../mod/admin.php:678 ../../mod/intro.php:14 ../../mod/intro.php:99
#: ../../mod/connections.php:318 ../../mod/connections.php:459
msgid "Block"
msgstr ""
-#: ../../mod/admin.php:659 ../../mod/connections.php:318
+#: ../../mod/admin.php:679 ../../mod/connections.php:318
#: ../../mod/connections.php:459
msgid "Unblock"
msgstr ""
-#: ../../mod/admin.php:662
+#: ../../mod/admin.php:682
msgid "Register date"
msgstr ""
-#: ../../mod/admin.php:662
+#: ../../mod/admin.php:682
msgid "Last login"
msgstr ""
-#: ../../mod/admin.php:662
+#: ../../mod/admin.php:682
msgid "Service Class"
msgstr ""
-#: ../../mod/admin.php:664
+#: ../../mod/admin.php:684
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:665
+#: ../../mod/admin.php:685
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:706
+#: ../../mod/admin.php:726
#, php-format
msgid "Plugin %s disabled."
msgstr ""
-#: ../../mod/admin.php:710
+#: ../../mod/admin.php:730
#, php-format
msgid "Plugin %s enabled."
msgstr ""
-#: ../../mod/admin.php:720 ../../mod/admin.php:918
+#: ../../mod/admin.php:740 ../../mod/admin.php:942
msgid "Disable"
msgstr ""
-#: ../../mod/admin.php:722 ../../mod/admin.php:920
+#: ../../mod/admin.php:742 ../../mod/admin.php:944
msgid "Enable"
msgstr ""
-#: ../../mod/admin.php:744 ../../mod/admin.php:949
+#: ../../mod/admin.php:768 ../../mod/admin.php:973
msgid "Toggle"
msgstr ""
-#: ../../mod/admin.php:752 ../../mod/admin.php:959
+#: ../../mod/admin.php:776 ../../mod/admin.php:983
msgid "Author: "
msgstr ""
-#: ../../mod/admin.php:753 ../../mod/admin.php:960
+#: ../../mod/admin.php:777 ../../mod/admin.php:984
msgid "Maintainer: "
msgstr ""
-#: ../../mod/admin.php:882
+#: ../../mod/admin.php:906
msgid "No themes found."
msgstr ""
-#: ../../mod/admin.php:941
+#: ../../mod/admin.php:965
msgid "Screenshot"
msgstr ""
-#: ../../mod/admin.php:989
+#: ../../mod/admin.php:1013
msgid "[Experimental]"
msgstr ""
-#: ../../mod/admin.php:990
+#: ../../mod/admin.php:1014
msgid "[Unsupported]"
msgstr ""
-#: ../../mod/admin.php:1017
+#: ../../mod/admin.php:1041
msgid "Log settings updated."
msgstr ""
-#: ../../mod/admin.php:1073
+#: ../../mod/admin.php:1097
msgid "Clear"
msgstr ""
-#: ../../mod/admin.php:1079
+#: ../../mod/admin.php:1103
msgid "Debugging"
msgstr ""
-#: ../../mod/admin.php:1080
+#: ../../mod/admin.php:1104
msgid "Log file"
msgstr ""
-#: ../../mod/admin.php:1080
+#: ../../mod/admin.php:1104
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr ""
-#: ../../mod/admin.php:1081
+#: ../../mod/admin.php:1105
msgid "Log level"
msgstr ""
@@ -4653,11 +4706,11 @@ msgstr ""
msgid "added your channel"
msgstr ""
-#: ../../mod/ping.php:230 ../../boot.php:1817 ../../boot.php:1897
+#: ../../mod/ping.php:230 ../../boot.php:1814 ../../boot.php:1894
msgid "g A l F d"
msgstr ""
-#: ../../mod/ping.php:252 ../../boot.php:1863 ../../boot.php:1938
+#: ../../mod/ping.php:252 ../../boot.php:1860 ../../boot.php:1935
msgid "[today]"
msgstr ""
@@ -5622,23 +5675,23 @@ msgstr ""
msgid "Edit/Manage Profiles"
msgstr ""
-#: ../../mod/profiles.php:624 ../../boot.php:1719
+#: ../../mod/profiles.php:624 ../../boot.php:1716
msgid "Change profile photo"
msgstr ""
-#: ../../mod/profiles.php:625 ../../boot.php:1726
+#: ../../mod/profiles.php:625 ../../boot.php:1723
msgid "Create New Profile"
msgstr ""
-#: ../../mod/profiles.php:636 ../../boot.php:1740
+#: ../../mod/profiles.php:636 ../../boot.php:1737
msgid "Profile Image"
msgstr ""
-#: ../../mod/profiles.php:639 ../../boot.php:1743
+#: ../../mod/profiles.php:639 ../../boot.php:1740
msgid "visible to everybody"
msgstr ""
-#: ../../mod/profiles.php:640 ../../boot.php:1744
+#: ../../mod/profiles.php:640 ../../boot.php:1741
msgid "Edit visibility"
msgstr ""
@@ -5723,7 +5776,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../mod/lostpass.php:85 ../../boot.php:1441
+#: ../../mod/lostpass.php:85 ../../boot.php:1438
msgid "Password Reset"
msgstr ""
@@ -6261,7 +6314,7 @@ msgstr ""
msgid "Make this post private"
msgstr ""
-#: ../../mod/wall_upload.php:41 ../../mod/item.php:1077
+#: ../../mod/wall_upload.php:41 ../../mod/item.php:1088
msgid "Wall Photos"
msgstr ""
@@ -6326,24 +6379,24 @@ msgstr ""
msgid "Unable to locate original post."
msgstr ""
-#: ../../mod/item.php:301
+#: ../../mod/item.php:312
msgid "Empty post discarded."
msgstr ""
-#: ../../mod/item.php:345
+#: ../../mod/item.php:356
msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../mod/item.php:792
+#: ../../mod/item.php:803
msgid "System error. Post not saved."
msgstr ""
-#: ../../mod/item.php:1156
+#: ../../mod/item.php:1167
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../mod/item.php:1162
+#: ../../mod/item.php:1173
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
@@ -6602,104 +6655,104 @@ msgstr ""
msgid "0-99 default: 5"
msgstr ""
-#: ../../boot.php:1244
+#: ../../boot.php:1241
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1247
+#: ../../boot.php:1244
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1405
+#: ../../boot.php:1402
msgid "Create a New Account"
msgstr ""
-#: ../../boot.php:1434
+#: ../../boot.php:1431
msgid "Password"
msgstr ""
-#: ../../boot.php:1435
+#: ../../boot.php:1432
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1440
+#: ../../boot.php:1437
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:1559
+#: ../../boot.php:1556
msgid "Requested channel is not available."
msgstr ""
-#: ../../boot.php:1571
+#: ../../boot.php:1568
msgid " Sorry, you don't have the permission to view this profile. "
msgstr ""
-#: ../../boot.php:1725
+#: ../../boot.php:1722
msgid "Profiles"
msgstr ""
-#: ../../boot.php:1725
+#: ../../boot.php:1722
msgid "Manage/edit profiles"
msgstr ""
-#: ../../boot.php:1729
+#: ../../boot.php:1726
msgid "Edit Profile"
msgstr ""
-#: ../../boot.php:1818 ../../boot.php:1898
+#: ../../boot.php:1815 ../../boot.php:1895
msgid "F d"
msgstr ""
-#: ../../boot.php:1875
+#: ../../boot.php:1872
msgid "Birthday Reminders"
msgstr ""
-#: ../../boot.php:1876
+#: ../../boot.php:1873
msgid "Birthdays this week:"
msgstr ""
-#: ../../boot.php:1931
+#: ../../boot.php:1928
msgid "[No description]"
msgstr ""
-#: ../../boot.php:1949
+#: ../../boot.php:1946
msgid "Event Reminders"
msgstr ""
-#: ../../boot.php:1950
+#: ../../boot.php:1947
msgid "Events this week:"
msgstr ""
-#: ../../boot.php:2184
+#: ../../boot.php:2181
msgid "Channel"
msgstr ""
-#: ../../boot.php:2187
+#: ../../boot.php:2184
msgid "Status Messages and Posts"
msgstr ""
-#: ../../boot.php:2191
+#: ../../boot.php:2188
msgid "About"
msgstr ""
-#: ../../boot.php:2194
+#: ../../boot.php:2191
msgid "Profile Details"
msgstr ""
-#: ../../boot.php:2212
+#: ../../boot.php:2209
msgid "Events and Calendar"
msgstr ""
-#: ../../boot.php:2217
+#: ../../boot.php:2214
msgid "Webpages"
msgstr ""
-#: ../../boot.php:2220
+#: ../../boot.php:2217
msgid "Manage Webpages"
msgstr ""
-#: ../../boot.php:2502
+#: ../../boot.php:2499
msgid "toggle mobile"
msgstr ""
diff --git a/version.inc b/version.inc
index cb906c9a2..f91c18185 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2013-09-20.442
+2013-10-01.453
diff --git a/view/css/default.css b/view/css/default.css
index 9abb69588..deb39fbe2 100644
--- a/view/css/default.css
+++ b/view/css/default.css
@@ -8,7 +8,7 @@ nav {
background-color: #ff0000;
}
-aside {
+aside#region_1 {
display: block;
width: 210px;
position: absolute;
@@ -17,6 +17,10 @@ aside {
margin-left: 10px;
}
+aside input[type='text'] {
+ width: 174px;
+}
+
section {
position: absolute;
diff --git a/view/js/mod_connections.js b/view/js/mod_connections.js
index 6bfa039a8..ed1577792 100644
--- a/view/js/mod_connections.js
+++ b/view/js/mod_connections.js
@@ -38,6 +38,7 @@ function connectFullShare() {
$('#me_id_perms_post_mail').attr('checked','checked');
$('#me_id_perms_chat').attr('checked','checked');
$('#me_id_perms_view_storage').attr('checked','checked');
+ $('#me_id_perms_republish').attr('checked','checked');
}
function connectCautiousShare() {
@@ -73,6 +74,8 @@ function connectForum() {
$('#me_id_perms_post_comments').attr('checked','checked');
$('#me_id_perms_post_mail').attr('checked','checked');
$('#me_id_perms_tag_deliver').attr('checked','checked');
+ $('#me_id_perms_republish').attr('checked','checked');
+
}
function connectSoapBox() {
diff --git a/view/js/mod_sources.js b/view/js/mod_sources.js
new file mode 100644
index 000000000..140f13843
--- /dev/null
+++ b/view/js/mod_sources.js
@@ -0,0 +1,12 @@
+$(document).ready(function() {
+ var a;
+ a = $("#id_name").autocomplete({
+ serviceUrl: baseurl + '/acl',
+ minChars: 2,
+ width: 350,
+ onSelect: function(value,data) {
+ $("#id_xchan").val(data);
+ }
+ });
+
+});
diff --git a/view/php/default.php b/view/php/default.php
index ae4da50b4..3573bf829 100644
--- a/view/php/default.php
+++ b/view/php/default.php
@@ -7,12 +7,12 @@
-
-