diff --git a/LICENSE b/LICENSE
index 01f1c19d5..b8c943177 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2010-2013 the Friendica Project
+Copyright (c) 2010-2013 the Red Project
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/README b/README
index 1d65063e1..f6fcc006e 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
-Friendica RED
-=============
+RED
+===
Red is essentially a "personal CMS" linked to a decentralised permissions and communication platform. This creates a grid of small servers which link together to form a much larger system (much like the internet itself). This allows one to create services with social contexts and extensible permission controls which are all integrated together as if they were offered by a single large data provider - but without the inherent privacy problems and costs associated with centralisation. Privacy and access controls are instead maintained at the local level where they can be enforced by those who own the data being shared. Additionally, identities in Red are not tied to DNS endpoints and have some degree of mobility between providers.
diff --git a/boot.php b/boot.php
index 2c7c76777..8e6b85905 100644
--- a/boot.php
+++ b/boot.php
@@ -38,8 +38,8 @@ require_once('library/Mobile_Detect/Mobile_Detect.php');
require_once('include/BaseObject.php');
require_once('include/features.php');
-define ( 'FRIENDICA_PLATFORM', 'Friendica Red');
-define ( 'FRIENDICA_VERSION', trim(file_get_contents('version.inc')) . 'R');
+define ( 'RED_PLATFORM', 'Red');
+define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1040 );
@@ -862,8 +862,8 @@ class App {
if($interval < 10000)
$interval = 40000;
- $this->page['title'] = $this->config['system']['sitename'];
-
+ if(! x($this->page,'title'))
+ $this->page['title'] = $this->config['system']['sitename'];
/* put the head template at the beginning of page['htmlhead']
* since the code added by the modules frequently depends on it
@@ -873,7 +873,7 @@ class App {
$this->page['htmlhead'] = replace_macros($tpl, array(
'$baseurl' => $this->get_baseurl(),
'$local_user' => local_user(),
- '$generator' => FRIENDICA_PLATFORM . ' ' . FRIENDICA_VERSION,
+ '$generator' => RED_PLATFORM . ' ' . RED_VERSION,
'$update_interval' => $interval,
'$head_css' => head_get_css(),
'$head_js' => head_get_js(),
@@ -1445,7 +1445,7 @@ function profile_load(&$a, $nickname, $profile = 0) {
$a->profile = $r[0];
- $a->page['title'] = $a->profile['channel_name'] . " @ " . $a->config['sitename'];
+ $a->page['title'] = $a->profile['channel_name'] . " - " . $a->profile['channel_address'] . "@" . $a->get_hostname();
$_SESSION['theme'] = $a->profile['channel_theme'];
@@ -2009,6 +2009,17 @@ function get_my_address() {
return false;
}
+/**
+ * @function zid_init(&$a)
+ * If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already.
+ * And if they aren't already authenticated here, attempt reverse magic auth.
+ *
+ * @hooks 'zid_init'
+ * string 'zid' - their zid
+ * string 'url' - the destination url
+ *
+ */
+
function zid_init(&$a) {
$tmp_str = get_my_address();
if(validate_email($tmp_str)) {
@@ -2029,10 +2040,27 @@ function zid_init(&$a) {
}
}
+/**
+ * @function zid($s,$force = false)
+ * Adds a zid parameter to a url
+ * @param string $s
+ * The url to accept the zid
+ * @param boolean $force
+ * Currently unused
+ * @return string
+ *
+ * @hooks 'zid'
+ * string url - url to accept zid
+ * string zid - urlencoded zid
+ * string result - the return string we calculated, change it if you want to return something else
+ */
+
+
function zid($s,$force = false) {
- if(! strlen($s))
+ if(! strlen($s) || strpos('zid=',$s))
return $s;
$has_params = ((strpos($s,'?')) ? true : false);
+ $num_slashes = substr_count($s,'/');
if(! $has_params)
$has_params = ((strpos($s,'&')) ? true : false);
$achar = strpos($s,'?') ? '&' : '?';
@@ -2040,8 +2068,11 @@ function zid($s,$force = false) {
$mine = get_my_url();
$myaddr = get_my_address();
if($mine and ! link_compare($mine,$s))
- return $s . (($has_params) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr);
- return $s;
+ $zurl = $s . (($num_slashes >= 3) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr);
+
+ $arr = array('url' => $s, 'zid' => urlencode($myaddr), 'result' => $zurl);
+ call_hooks('zid', $arr);
+ return $arr['result'];
}
/**
diff --git a/doc/html/admin_8php.html b/doc/html/admin_8php.html
index 01086347c..565c86a3b 100644
--- a/doc/html/admin_8php.html
+++ b/doc/html/admin_8php.html
@@ -432,7 +432,7 @@ Functions
-
Friendica admin
+
Red admin
Parameters
App $a
diff --git a/doc/html/boot_8php.html b/doc/html/boot_8php.html
index b07a7a89a..5d5aa617a 100644
--- a/doc/html/boot_8php.html
+++ b/doc/html/boot_8php.html
@@ -210,13 +210,13 @@ Functions
-
Referenced by FriendicaSmarty\__construct() , 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() , categories_widget() , change_channel() , channel_remove() , check_form_security_token() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , check_htaccess() , common_friends_visitor_widget() , connections_content() , consume_feed() , 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() , format_event_diaspora() , get_account_id() , get_best_language() , get_birthdays() , get_events() , get_form_security_token() , 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_post() , import_profile_photo() , info() , is_site_admin() , item_message_id() , item_permissions_sql() , load_contact_links() , local_delivery() , login() , FKOAuth1\loginUser() , lrdd() , manage_content() , map_scope() , nav_set_selected() , new_contact() , new_follower() , notice() , notification() , notifier_run() , oembed_fetch_url() , oembed_format_object() , oembed_iframe() , onepoll_run() , permissions_sql() , ping_init() , poco_load() , poller_run() , post_url() , preg_heart() , prepare_body() , proc_run() , 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() , smilies() , tag_deliver() , terminate_friendship() , tgroup_check() , theme_include() , tt() , update_suggestions() , user_allow() , what_next() , z_fetch_url() , and zot_finger() .
+
Referenced by FriendicaSmarty\__construct() , 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() , categories_widget() , change_channel() , channel_remove() , check_form_security_token() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , check_htaccess() , common_friends_visitor_widget() , connections_content() , consume_feed() , 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() , format_event_diaspora() , get_account_id() , get_best_language() , get_birthdays() , get_events() , get_form_security_token() , 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_post() , import_profile_photo() , info() , is_site_admin() , item_message_id() , item_permissions_sql() , load_contact_links() , local_delivery() , login() , FKOAuth1\loginUser() , lrdd() , manage_content() , map_scope() , nav_set_selected() , new_contact() , new_follower() , notice() , notification() , notifier_run() , oembed_fetch_url() , oembed_format_object() , oembed_iframe() , onepoll_run() , permissions_sql() , ping_init() , poco_load() , poller_run() , post_activity_item() , post_url() , preg_heart() , prepare_body() , proc_run() , 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() , smilies() , tag_deliver() , terminate_friendship() , tgroup_check() , theme_include() , tt() , update_suggestions() , user_allow() , what_next() , z_fetch_url() , and zot_finger() .
@@ -906,6 +906,8 @@ Variables
@@ -955,7 +957,7 @@ Variables
-
Referenced by attach_by_hash() , attach_by_hash_nodata() , attach_store() , common_content() , common_friends_visitor_widget() , display_content() , editpost_content() , photo_init() , photos_post() , prepare_body() , suggest_content() , viewconnections_content() , wall_attach_post() , and z_readdir() .
+
Referenced by attach_by_hash() , attach_by_hash_nodata() , attach_store() , common_content() , common_friends_visitor_widget() , display_content() , editpost_content() , new_contact() , photo_init() , photos_post() , prepare_body() , suggest_content() , viewconnections_content() , wall_attach_post() , and z_readdir() .
@@ -1151,7 +1153,7 @@ Variables
e.g.: proc_run("ls","-la","/tmp");
$cmd and string args are surrounded with ""
-Referenced by connections_content() , connections_post() , create_identity() , drop_item() , drop_items() , events_post() , fsuggest_post() , item_expire() , item_post() , like_content() , local_delivery() , mood_init() , notifier_run() , photo_upload() , photos_post() , poke_init() , poller_run() , process_delivery() , profile_activity() , profile_photo_post() , profiles_post() , send_message() , settings_post() , tag_deliver() , tagger_content() , zid_init() , and zot_refresh() .
+Referenced by connections_content() , connections_post() , create_identity() , drop_item() , drop_items() , events_post() , fsuggest_post() , item_expire() , item_post() , like_content() , local_delivery() , mood_init() , notifier_run() , photo_upload() , photos_post() , poke_init() , poller_run() , post_activity_item() , process_delivery() , profile_activity() , profile_photo_post() , profiles_post() , send_message() , settings_post() , tag_deliver() , tagger_content() , zid_init() , and zot_refresh() .
@@ -1354,7 +1356,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() , channel_aside() , channel_content() , check_config() , check_form_security_token() , community_content() , connections_aside() , connections_content() , connections_post() , construct_page() , consume_feed() , create_account() , create_identity() , crepair_init() , crepair_post() , current_theme() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , detect_language() , directory_content() , dirfind_init() , dirsearch_content() , encode_rel_links() , events_content() , events_post() , feed_init() , filerm_content() , get_atom_elements() , App\get_baseurl() , 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() , load_contact_links() , local_delivery() , 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() , printable() , probe_content() , proc_run() , process_delivery() , profile_photo_post() , profile_sidebar() , profile_tabs() , profiles_post() , dba\q() , qsearch_init() , redir_init() , register_content() , register_post() , 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() , tt() , validate_channelname() , wall_upload_post() , webfinger_content() , wfinger_init() , xchan_content() , z_fetch_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() , create_account() , create_identity() , crepair_init() , crepair_post() , current_theme() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , detect_language() , directory_content() , dirfind_init() , dirsearch_content() , encode_rel_links() , events_content() , events_post() , feed_init() , filerm_content() , get_atom_elements() , App\get_baseurl() , 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() , load_contact_links() , local_delivery() , 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() , dba\q() , qsearch_init() , redir_init() , register_content() , register_post() , 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() , tt() , validate_channelname() , wall_upload_post() , webfinger_content() , wfinger_init() , xchan_content() , z_fetch_url() , and zfinger_init() .
@@ -1449,6 +1451,16 @@ Variables
+
zid($s,$force = false) Adds a zid parameter to a url
+
Parameters
+
+ string $s The url to accept the zid
+ boolean $force Currently unused
+
+
+
+
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() , dirfind_content() , intro_content() , localize_item() , match_content() , notifications_content() , and viewconnections_content() .
@@ -1467,6 +1479,8 @@ Variables
+
zid_init(&$a) If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already. And if they aren't already authenticated here, attempt reverse magic auth.
+
'zid_init' string 'zid' - their zid string 'url' - the destination url
@@ -1820,7 +1834,7 @@ Variables
-
Referenced by api_format_items() , consume_feed() , like_content() , local_delivery() , localize_item() , subthread_content() , and tagger_content() .
+
Referenced by api_format_items() , consume_feed() , like_content() , local_delivery() , localize_item() , post_activity_item() , subthread_content() , and tagger_content() .
@@ -1916,7 +1930,7 @@ Variables
-
Referenced by api_format_items() , api_status_show() , api_users_show() , construct_verb() , event_store() , item_post() , item_post_type() , local_delivery() , mail_store() , and send_status_notifications() .
+
Referenced by api_format_items() , api_status_show() , api_users_show() , construct_verb() , event_store() , item_post() , item_post_type() , local_delivery() , mail_store() , post_activity_item() , and send_status_notifications() .
@@ -2080,7 +2094,7 @@ Variables
- const DB_UPDATE_VERSION 1039
+ const DB_UPDATE_VERSION 1040
@@ -2196,38 +2210,6 @@ 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() , 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() , connections_content() , connections_post() , crepair_content() , crepair_post() , delegate_content() , directory_content() , dirfind_content() , display_content() , drop_item() , editpost_content() , events_content() , events_post() , follow_init() , 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() , like_content() , load_database() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , match_content() , message_content() , message_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() , dba\q() , 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() , and xchan_content() .
-
-
-
-
-
-
-
- const FRIENDICA_PLATFORM 'Friendica Red'
-
-
-
-
Red.
-
Red is an open source decentralised communications platform combined with a decentralised identity/authentication framework wrapped in an extensible content management system, providing website designers the ability to embed fully decentralised communications and social tools into many traditional website designs (blogs, forums, small business websites, charitable organisations, etc.). Red also provides DNS mobility and internet scale privacy/access control.
-
This allows any individual website to participate in a matrix of linked sites and people and media sharing which is far greater than the reach of an individual site.
-
If you are reading the source code and come across a function or code block which is not documented, but you have a good idea what it does, please add some descriptive comments and push it to the main project. Even if your description isn't perfect, it gives us a base which we can build on and correct - so that eventually everything is fully documented.
-
-
Referenced by api_statusnet_config() , App\build_pagehead() , identity_basic_export() , notification() , and siteinfo_init() .
-
-
-
-
-
-
-
-
- const FRIENDICA_VERSION trim(file_get_contents('version.inc')) . 'R'
-
-
-
@@ -2377,6 +2359,8 @@ Variables
@@ -2404,7 +2388,7 @@ Variables
Item Flags
-
Referenced by event_store() , item_post() , like_content() , mood_init() , notifier_run() , photo_upload() , photos_create_item() , profile_activity() , and tag_deliver() .
+
Referenced by event_store() , item_post() , like_content() , mood_init() , notifier_run() , photo_upload() , photos_create_item() , post_activity_item() , profile_activity() , and tag_deliver() .
@@ -2456,7 +2440,7 @@ Variables
-
Referenced by channel_content() , encode_item_flags() , event_store() , format_notification() , item_post() , item_store() , mood_init() , network_content() , photo_upload() , photos_create_item() , profile_activity() , and tag_deliver() .
+
Referenced by channel_content() , encode_item_flags() , event_store() , format_notification() , item_post() , item_store() , mood_init() , network_content() , photo_upload() , photos_create_item() , post_activity_item() , profile_activity() , and tag_deliver() .
@@ -2537,7 +2521,7 @@ Variables
-
Referenced by api_get_user() , channel_content() , drop_item() , event_store() , events_content() , first_post_date() , item_post() , item_store() , like_content() , mood_init() , notification() , notifier_run() , photo_upload() , photos_create_item() , ping_init() , profile_activity() , tag_deliver() , and zot_feed() .
+
Referenced by api_get_user() , channel_content() , drop_item() , event_store() , events_content() , first_post_date() , item_post() , item_store() , like_content() , mood_init() , notification() , notifier_run() , photo_upload() , photos_create_item() , ping_init() , post_activity_item() , profile_activity() , tag_deliver() , and zot_feed() .
@@ -2637,7 +2621,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() , 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() , item_post() , item_store() , item_store_update() , like_content() , local_delivery() , 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() , 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() , 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() , item_post() , item_store() , item_store_update() , like_content() , limit_body_size() , local_delivery() , 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() , zot_finger() , zot_gethub() , and zot_register_hub() .
@@ -3688,6 +3672,38 @@ Variables
Referenced by Photo\__construct() , and Photo\imageString() .
+
+
+
+
+
+
+
+ const RED_PLATFORM 'Red'
+
+
+
+
Red.
+
Red is an open source decentralised communications platform combined with a decentralised identity/authentication framework wrapped in an extensible content management system, providing website designers the ability to embed fully decentralised communications and social tools into many traditional website designs (blogs, forums, small business websites, charitable organisations, etc.). Red also provides DNS mobility and internet scale privacy/access control.
+
This allows any individual website to participate in a matrix of linked sites and people and media sharing which is far greater than the reach of an individual site.
+
If you are reading the source code and come across a function or code block which is not documented, but you have a good idea what it does, please add some descriptive comments and push it to the main project. Even if your description isn't perfect, it gives us a base which we can build on and correct - so that eventually everything is fully documented.
+
+
Referenced by api_statusnet_config() , App\build_pagehead() , identity_basic_export() , notification() , and siteinfo_init() .
+
+
+
+
+
+
+
+
+ const RED_VERSION trim(file_get_contents('version.inc')) . 'R'
+
+
+
diff --git a/doc/html/boot_8php.js b/doc/html/boot_8php.js
index 54c978d72..e9af159d9 100644
--- a/doc/html/boot_8php.js
+++ b/doc/html/boot_8php.js
@@ -98,8 +98,6 @@ var boot_8php =
[ "DIRECTORY_MODE_STANDALONE", "boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8", null ],
[ "DIRECTORY_REALM", "boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd", null ],
[ "EOL", "boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b", null ],
- [ "FRIENDICA_PLATFORM", "boot_8php.html#a7a27d05ec84f9eef2f06097e6b8892f3", null ],
- [ "FRIENDICA_VERSION", "boot_8php.html#a78d5f284dc096b2a739c1fa47f22b7be", null ],
[ "GRAVITY_COMMENT", "boot_8php.html#a4a12ce5de39789b0361e308d89925a20", null ],
[ "GRAVITY_LIKE", "boot_8php.html#a1f5906598e90b5ea2b4245f682be4348", null ],
[ "GRAVITY_PARENT", "boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3", null ],
@@ -206,6 +204,8 @@ var boot_8php =
[ "PERMS_W_TAGWALL", "boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777", null ],
[ "PERMS_W_WALL", "boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2", null ],
[ "PNG_QUALITY", "boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce", null ],
+ [ "RED_PLATFORM", "boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4", null ],
+ [ "RED_VERSION", "boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3", null ],
[ "REGISTER_APPROVE", "boot_8php.html#a7176c0f9f1c98421b97735d892cf6252", null ],
[ "REGISTER_CLOSED", "boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1", null ],
[ "REGISTER_OPEN", "boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63", null ],
diff --git a/doc/html/crypto_8php.html b/doc/html/crypto_8php.html
index d6fd1b396..0d223d537 100644
--- a/doc/html/crypto_8php.html
+++ b/doc/html/crypto_8php.html
@@ -615,7 +615,7 @@ Functions
-
Referenced by create_identity() , fix_system_urls() , import_post() , magic_init() , zot_build_packet() , and zot_fetch() .
+
Referenced by create_identity() , fix_system_urls() , import_post() , magic_init() , post_post() , zot_build_packet() , and zot_fetch() .
@@ -655,7 +655,7 @@ Functions
diff --git a/doc/html/dba_8php.html b/doc/html/dba_8php.html
index 2e8b8d9bf..a3e232c3b 100644
--- a/doc/html/dba_8php.html
+++ b/doc/html/dba_8php.html
@@ -148,7 +148,7 @@ Functions
-
Referenced by account_verify_password() , acl_init() , add_fcontact() , 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() , change_channel() , channel_content() , channelx_by_hash() , channelx_by_n() , channelx_by_nick() , chanview_content() , check_account_email() , check_account_invite() , check_webbie() , Cache\clear() , common_friends() , connections_content() , 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() , editpost_content() , event_store() , events_content() , expand_groups() , fbrowser_content() , feed_init() , fetch_post_tags() , file_tag_file_query() , file_tag_save_file() , file_tag_unsave_file() , filerm_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() , get_events() , get_feed_for() , get_pconfig() , get_xconfig() , gprobe_run() , group_add() , group_add_member() , group_byname() , group_content() , group_post() , group_rmv() , group_rmv_member() , groups_containing() , handle_tag() , import_author_xchan() , import_directory_keywords() , import_directory_profile() , import_post() , import_profile_photo() , import_xchan() , invite_post() , item_message_id() , item_permissions_sql() , item_post() , item_store() , item_store_update() , like_content() , load_config() , load_pconfig() , load_xconfig() , local_delivery() , lockview_content() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , member_of() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , new_follower() , 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_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , 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() , redir_init() , register_post() , remove_all_xchan_resources() , remove_queue_item() , rmagic_init() , rmagic_post() , 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\store() , store_item_tag() , stringify_array_elms() , subthread_content() , suggest_init() , suggestion_query() , syncdirs() , tag_deliver() , tagger_content() , tagrm_post() , term_query() , update_modtime() , update_queue_time() , user_allow() , user_deny() , vcard_from_xchan() , wall_attach_post() , wall_upload_post() , wfinger_init() , xchan_content() , xchan_mail_query() , xchan_query() , xrd_init() , z_readdir() , zfinger_init() , zid_init() , zot_finger() , zot_get_hubloc() , zot_gethub() , zot_process_response() , zot_refresh() , and zotfeed_init() .
+
Referenced by account_verify_password() , acl_init() , add_fcontact() , 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() , change_channel() , channel_content() , channelx_by_hash() , channelx_by_n() , channelx_by_nick() , chanview_content() , check_account_email() , check_account_invite() , check_webbie() , Cache\clear() , common_friends() , connections_content() , 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() , editpost_content() , event_store() , events_content() , expand_groups() , fbrowser_content() , feed_init() , fetch_post_tags() , file_tag_file_query() , file_tag_save_file() , file_tag_unsave_file() , filerm_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() , get_events() , get_feed_for() , get_pconfig() , get_xconfig() , 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_xchan() , invite_post() , item_message_id() , item_permissions_sql() , item_post() , item_store() , item_store_update() , like_content() , load_config() , load_pconfig() , load_xconfig() , local_delivery() , lockview_content() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , member_of() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , new_follower() , 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_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , 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() , redir_init() , register_post() , remove_all_xchan_resources() , remove_queue_item() , rmagic_init() , rmagic_post() , 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\store() , store_item_tag() , stringify_array_elms() , subthread_content() , suggest_init() , suggestion_query() , syncdirs() , tag_deliver() , tagger_content() , tagrm_post() , term_query() , update_modtime() , update_queue_time() , user_allow() , user_deny() , vcard_from_xchan() , wall_attach_post() , wall_upload_post() , wfinger_init() , xchan_content() , xchan_mail_query() , xchan_query() , xrd_init() , z_readdir() , zfinger_init() , zid_init() , zot_finger() , zot_get_hubloc() , zot_gethub() , zot_process_response() , zot_refresh() , and zotfeed_init() .
@@ -264,7 +264,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_total() , account_verify_password() , acl_init() , add_fcontact() , admin_content() , admin_page_dbsync() , admin_page_summary() , admin_page_users() , admin_page_users_post() , 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() , 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_config() , check_webbie() , Cache\clear() , collect_recipients() , common_friends() , common_friends_zcid() , common_init() , community_content() , 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() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , delete_imported_item() , delete_item_lowlevel() , deliver_run() , dfrn_deliver() , directory_run() , dirsearch_content() , display_content() , drop_item() , editpost_content() , encode_item() , event_store() , events_content() , expand_groups() , expire_run() , fbrowser_content() , feed_init() , fetch_post_tags() , file_tag_save_file() , file_tag_unsave_file() , file_tag_update_pconfig() , fileas_widget() , filer_content() , filerm_content() , first_post_date() , fix_attached_photo_permissions() , fix_contact_ssl_policy() , fix_private_photos() , fix_system_urls() , fsuggest_content() , fsuggest_post() , generate_user_guid() , Cache\get() , get_all_perms() , get_birthdays() , get_config() , get_events() , get_feed_for() , get_pconfig() , get_xconfig() , gprobe_run() , group_add() , group_add_member() , group_byname() , group_content() , group_get_members() , group_post() , 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_xchan() , intro_content() , intro_post() , invite_post() , item_expire() , item_message_id() , item_post() , item_store() , item_store_update() , like_content() , load_config() , load_contact_links() , load_pconfig() , load_translation_table() , load_xconfig() , local_delivery() , lockview_content() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lose_follower() , lose_sharer() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , manage_content() , match_content() , member_of() , message_content() , mini_group_select() , mood_init() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , new_follower() , FKOAuthDataStore\new_request_token() , notification() , notifications_content() , notifications_post() , notifier_run() , notify_content() , notify_init() , oauth_get_client() , onepoll_run() , page_content() , 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_post() , ping_init() , poco_init() , poco_load() , poke_content() , poke_init() , poller_run() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , 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() , redir_init() , register_content() , register_post() , remove_all_xchan_resources() , remove_queue_item() , rmagic_init() , rmagic_post() , 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() , starred_init() , Photo\store() , store_item_tag() , stream_perms_api_uids() , subthread_content() , suggest_init() , suggestion_query() , syncdirs() , tag_deliver() , tagadelic() , tagger_content() , tagrm_content() , tagrm_post() , tgroup_check() , update_modtime() , update_queue_time() , update_suggestions() , user_allow() , user_deny() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , wall_attach_post() , wall_upload_post() , 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_import() , zot_process_response() , zot_refresh() , and zotfeed_init() .
+
Referenced by abook_connections() , abook_self() , abook_toggle_flag() , account_total() , account_verify_password() , acl_init() , add_fcontact() , admin_content() , admin_page_dbsync() , admin_page_summary() , admin_page_users() , admin_page_users_post() , 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() , 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_config() , check_webbie() , Cache\clear() , collect_recipients() , common_friends() , common_friends_zcid() , common_init() , community_content() , 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() , del_config() , del_pconfig() , del_xconfig() , delegate_content() , delete_imported_item() , delete_item_lowlevel() , deliver_run() , dfrn_deliver() , directory_run() , dirsearch_content() , display_content() , drop_item() , editpost_content() , encode_item() , event_store() , events_content() , expand_groups() , expire_run() , fbrowser_content() , feed_init() , fetch_post_tags() , file_tag_save_file() , file_tag_unsave_file() , file_tag_update_pconfig() , fileas_widget() , filer_content() , filerm_content() , first_post_date() , fix_attached_photo_permissions() , fix_contact_ssl_policy() , fix_private_photos() , fix_system_urls() , fsuggest_content() , fsuggest_post() , generate_user_guid() , Cache\get() , get_all_perms() , get_birthdays() , get_config() , get_events() , get_feed_for() , get_pconfig() , get_xconfig() , 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_xchan() , intro_content() , intro_post() , invite_post() , item_expire() , item_message_id() , item_post() , item_store() , item_store_update() , like_content() , load_config() , load_contact_links() , load_pconfig() , load_translation_table() , load_xconfig() , local_delivery() , lockview_content() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_nonce() , FKOAuthDataStore\lookup_token() , lose_follower() , lose_sharer() , lostpass_content() , lostpass_post() , magic_init() , mail_store() , manage_content() , match_content() , member_of() , message_content() , mini_group_select() , mood_init() , msearch_post() , network_content() , network_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_cookie() , new_follower() , FKOAuthDataStore\new_request_token() , notification() , notifications_content() , notifications_post() , notifier_run() , notify_content() , notify_init() , oauth_get_client() , onepoll_run() , page_content() , 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_post() , ping_init() , poco_init() , poco_load() , poke_content() , poke_init() , poller_run() , post_init() , post_post() , private_messages_drop() , private_messages_fetch_conversation() , private_messages_fetch_message() , private_messages_list() , 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() , redir_init() , register_content() , register_post() , remove_all_xchan_resources() , remove_queue_item() , rmagic_init() , rmagic_post() , 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() , starred_init() , Photo\store() , store_item_tag() , stream_perms_api_uids() , subthread_content() , suggest_init() , suggestion_query() , syncdirs() , tag_deliver() , tagadelic() , tagger_content() , tagrm_content() , tagrm_post() , tgroup_check() , update_modtime() , update_queue_time() , update_suggestions() , user_allow() , user_deny() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , wall_attach_post() , wall_upload_post() , 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_import() , zot_process_response() , zot_refresh() , and zotfeed_init() .
diff --git a/doc/html/extract_8php.html b/doc/html/extract_8php.html
index 11ec98eab..9260f86be 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() , connections_content() , construct_page() , contact_block() , contact_select() , create_account() , create_identity() , dbesc_array() , directory_content() , event_store() , feature_enabled() , fetch_xrd_links() , find_xchan_in_array() , 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_xchan() , item_getfeedattach() , item_store() , item_store_update() , like_content() , load_database() , lrdd() , magic_init() , mail_store() , mood_init() , network_content() , new_channel_post() , new_contact() , parse_url_content() , perm_is_allowed() , photo_upload() , photos_album_get_db_idstr() , photos_create_item() , photos_post() , ping_init() , po2php_run() , poke_init() , post_post() , prepare_body() , proc_run() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_activity() , profile_sidebar() , profile_tabs() , profiles_content() , register_post() , 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() , validate_channelname() , wfinger_init() , xchan_mail_query() , xchan_query() , xml2array() , xrd_init() , zfinger_init() , 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() , connections_content() , construct_page() , contact_block() , contact_select() , create_account() , create_identity() , dbesc_array() , directory_content() , event_store() , feature_enabled() , fetch_xrd_links() , find_xchan_in_array() , 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_xchan() , item_getfeedattach() , item_store() , item_store_update() , like_content() , load_database() , lrdd() , magic_init() , mail_store() , mood_init() , network_content() , new_channel_post() , new_contact() , parse_url_content() , 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_post() , prepare_body() , proc_run() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_activity() , profile_sidebar() , profile_tabs() , profiles_content() , register_post() , 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() , 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/features_8php.html b/doc/html/features_8php.html
index 88213bd13..867442e39 100644
--- a/doc/html/features_8php.html
+++ b/doc/html/features_8php.html
@@ -142,7 +142,7 @@ Functions
-
Referenced by categories_widget() , connections_content() , editpost_content() , Item\get_comment_box() , Item\get_template_data() , item_post() , message_content() , message_post() , nav() , network_content() , posted_date_widget() , profile_sidebar() , profiles_content() , redbasic_form() , saved_searches() , and search_saved_searches() .
+
Referenced by categories_widget() , connections_content() , editpost_content() , Item\get_comment_box() , Item\get_template_data() , item_post() , message_content() , message_post() , nav() , network_content() , photos_content() , posted_date_widget() , profile_sidebar() , profiles_content() , redbasic_form() , saved_searches() , and search_saved_searches() .
diff --git a/doc/html/globals_0x66.html b/doc/html/globals_0x66.html
index b390a7140..8ea7f4bf7 100644
--- a/doc/html/globals_0x66.html
+++ b/doc/html/globals_0x66.html
@@ -279,12 +279,6 @@ $(document).ready(function(){initNavTree('globals_0x66.html','');});
format_term_for_display()
: text.php
-FRIENDICA_PLATFORM
-: boot.php
-
-FRIENDICA_VERSION
-: boot.php
-
fsuggest_content()
: fsuggest.php
diff --git a/doc/html/globals_0x67.html b/doc/html/globals_0x67.html
index c9c7fa9fb..e5fb6c973 100644
--- a/doc/html/globals_0x67.html
+++ b/doc/html/globals_0x67.html
@@ -303,6 +303,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
group_post()
: group.php
+group_rec_byhash()
+: group.php
+
group_rmv()
: group.php
diff --git a/doc/html/globals_0x6c.html b/doc/html/globals_0x6c.html
index 0a982e5ef..94abc69c3 100644
--- a/doc/html/globals_0x6c.html
+++ b/doc/html/globals_0x6c.html
@@ -159,6 +159,9 @@ $(document).ready(function(){initNavTree('globals_0x6c.html','');});
like_content()
: like.php
+limit_body_size()
+: items.php
+
link_compare()
: text.php
diff --git a/doc/html/globals_0x70.html b/doc/html/globals_0x70.html
index d8b82f9a7..abf2b2cf4 100644
--- a/doc/html/globals_0x70.html
+++ b/doc/html/globals_0x70.html
@@ -338,6 +338,9 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
populate_acl()
: acl_selectors.php
+post_activity_item()
+: items.php
+
post_init()
: post.php
diff --git a/doc/html/globals_0x72.html b/doc/html/globals_0x72.html
index c8a780541..7fe68f460 100644
--- a/doc/html/globals_0x72.html
+++ b/doc/html/globals_0x72.html
@@ -162,6 +162,12 @@ $(document).ready(function(){initNavTree('globals_0x72.html','');});
rebuild_theme_table()
: admin.php
+RED_PLATFORM
+: boot.php
+
+RED_VERSION
+: boot.php
+
redbasic_form()
: config.php
diff --git a/doc/html/globals_0x74.html b/doc/html/globals_0x74.html
index a32c21877..776f84008 100644
--- a/doc/html/globals_0x74.html
+++ b/doc/html/globals_0x74.html
@@ -232,7 +232,7 @@ $(document).ready(function(){initNavTree('globals_0x74.html','');});
: datetime.php
title_is_body()
-: items.php
+: items.php
toggle_mobile_init()
: toggle_mobile.php
diff --git a/doc/html/globals_0x7a.html b/doc/html/globals_0x7a.html
index f00548bdf..22c5a2732 100644
--- a/doc/html/globals_0x7a.html
+++ b/doc/html/globals_0x7a.html
@@ -177,6 +177,12 @@ $(document).ready(function(){initNavTree('globals_0x7a.html','');});
zid_init()
: boot.php
+zidify_callback()
+: text.php
+
+zidify_links()
+: text.php
+
zot_build_packet()
: zot.php
diff --git a/doc/html/globals_func_0x67.html b/doc/html/globals_func_0x67.html
index 14f9ce27d..3cda68200 100644
--- a/doc/html/globals_func_0x67.html
+++ b/doc/html/globals_func_0x67.html
@@ -293,6 +293,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
group_post()
: group.php
+group_rec_byhash()
+: group.php
+
group_rmv()
: group.php
diff --git a/doc/html/globals_func_0x6c.html b/doc/html/globals_func_0x6c.html
index 8d91b1a0f..f2dbf4614 100644
--- a/doc/html/globals_func_0x6c.html
+++ b/doc/html/globals_func_0x6c.html
@@ -152,6 +152,9 @@ $(document).ready(function(){initNavTree('globals_func_0x6c.html','');});
like_content()
: like.php
+limit_body_size()
+: items.php
+
link_compare()
: text.php
diff --git a/doc/html/globals_func_0x70.html b/doc/html/globals_func_0x70.html
index 26f083272..e98076e4b 100644
--- a/doc/html/globals_func_0x70.html
+++ b/doc/html/globals_func_0x70.html
@@ -248,6 +248,9 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
populate_acl()
: acl_selectors.php
+post_activity_item()
+: items.php
+
post_init()
: post.php
diff --git a/doc/html/globals_func_0x74.html b/doc/html/globals_func_0x74.html
index 123aa11ce..086c372a4 100644
--- a/doc/html/globals_func_0x74.html
+++ b/doc/html/globals_func_0x74.html
@@ -204,7 +204,7 @@ $(document).ready(function(){initNavTree('globals_func_0x74.html','');});
: datetime.php
title_is_body()
-: items.php
+: items.php
toggle_mobile_init()
: toggle_mobile.php
diff --git a/doc/html/globals_func_0x7a.html b/doc/html/globals_func_0x7a.html
index 6586ffbd3..5a6b1c717 100644
--- a/doc/html/globals_func_0x7a.html
+++ b/doc/html/globals_func_0x7a.html
@@ -173,6 +173,12 @@ $(document).ready(function(){initNavTree('globals_func_0x7a.html','');});
zid_init()
: boot.php
+zidify_callback()
+: text.php
+
+zidify_links()
+: text.php
+
zot_build_packet()
: zot.php
diff --git a/doc/html/globals_vars_0x66.html b/doc/html/globals_vars_0x66.html
index f866d9c70..875271c53 100644
--- a/doc/html/globals_vars_0x66.html
+++ b/doc/html/globals_vars_0x66.html
@@ -142,12 +142,6 @@ $(document).ready(function(){initNavTree('globals_vars_0x66.html','');});
foreach
: typo.php
-FRIENDICA_PLATFORM
-: boot.php
-
-FRIENDICA_VERSION
-: boot.php
-
diff --git a/doc/html/globals_vars_0x72.html b/doc/html/globals_vars_0x72.html
index d62c55dc4..a1ab664bb 100644
--- a/doc/html/globals_vars_0x72.html
+++ b/doc/html/globals_vars_0x72.html
@@ -145,6 +145,12 @@ $(document).ready(function(){initNavTree('globals_vars_0x72.html','');});
RANDOM_STRING_TEXT
: text.php
+RED_PLATFORM
+: boot.php
+
+RED_VERSION
+: boot.php
+
REGISTER_APPROVE
: boot.php
diff --git a/doc/html/include_2follow_8php.html b/doc/html/include_2follow_8php.html
index ceb651638..0f171ec96 100644
--- a/doc/html/include_2follow_8php.html
+++ b/doc/html/include_2follow_8php.html
@@ -151,6 +151,7 @@ Functions
+
If there is a default group for this channel, add this member to it
Referenced by follow_init() .
diff --git a/doc/html/include_2group_8php.html b/doc/html/include_2group_8php.html
index 72500b064..8f51e5f95 100644
--- a/doc/html/include_2group_8php.html
+++ b/doc/html/include_2group_8php.html
@@ -118,6 +118,8 @@ Functions
group_byname ($uid, $name)
+
group_rec_byhash ($uid, $hash)
+
group_rmv_member ($uid, $name, $member)
group_add_member ($uid, $name, $member, $gid=0)
@@ -218,7 +220,7 @@ Functions
@@ -266,6 +268,34 @@ Functions
Referenced by contactgroup_content() , and group_content() .
+
+
+
+
+
+
+
+ group_rec_byhash
+ (
+
+ $uid ,
+
+
+
+
+
+ $hash
+
+
+
+ )
+
+
+
+
diff --git a/doc/html/include_2group_8php.js b/doc/html/include_2group_8php.js
index e584a75b9..b4066a244 100644
--- a/doc/html/include_2group_8php.js
+++ b/doc/html/include_2group_8php.js
@@ -5,6 +5,7 @@ var include_2group_8php =
[ "group_add_member", "include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b", null ],
[ "group_byname", "include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb", null ],
[ "group_get_members", "include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09", null ],
+ [ "group_rec_byhash", "include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245", null ],
[ "group_rmv", "include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5", null ],
[ "group_rmv_member", "include_2group_8php.html#a540e3ef36f47d47532646be4241f6518", null ],
[ "group_side", "include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17", null ],
diff --git a/doc/html/items_8php.html b/doc/html/items_8php.html
index 75ff25ea5..50211043e 100644
--- a/doc/html/items_8php.html
+++ b/doc/html/items_8php.html
@@ -114,6 +114,8 @@ $(document).ready(function(){initNavTree('items_8php.html','');});
Functions
collect_recipients ($item, &$private)
+ post_activity_item ($arr)
+
get_public_feed ($channel, $params)
get_feed_for (&$a, $dfrn_id, $owner_nick, $last_update, $direction=0)
@@ -124,8 +126,10 @@ Functions
construct_activity_target ($item)
-if (!function_exists('limit_body_size')) title_is_body ($title, $body)
-
+ limit_body_size ($body)
+
+ title_is_body ($title, $body)
+
get_item_elements ($x )
import_author_xchan ($x )
@@ -1175,7 +1179,7 @@ Functions
-
Referenced by consume_feed() , event_store() , item_post() , like_content() , local_delivery() , mood_init() , photo_upload() , photos_create_item() , photos_post() , poke_init() , process_delivery() , profile_activity() , subthread_content() , and tagger_content() .
+
Referenced by consume_feed() , event_store() , item_post() , like_content() , local_delivery() , mood_init() , photo_upload() , photos_create_item() , photos_post() , poke_init() , post_activity_item() , process_delivery() , profile_activity() , subthread_content() , and tagger_content() .
@@ -1205,6 +1209,24 @@ Functions
Referenced by update_imported_item() .
+
+
+
+
+
+
+
+ limit_body_size
+ (
+
+ $body )
+
+
+
+
@@ -1393,6 +1415,31 @@ Functions
Referenced by consume_feed() .
+
+
+
+
+
+
+
+ post_activity_item
+ (
+
+ $arr )
+
+
+
+
+
post_activity_item($arr)
+
post an activity
+ Parameters
+
+ array $arr In its simplest form one needs only to set $arr['body'] to post a note to the logged in channel's wall. Much more complex activities can be created. Permissions are checked. No filtering, tag expansion or other processing is performed.
+
+
+
+
Returns array 'success' => true or false 'activity' => the resulting activity if successful
+
@@ -1559,12 +1606,12 @@ Functions
-
+
- if (!function_exists('limit_body_size')) title_is_body
+ title_is_body
(
$title ,
diff --git a/doc/html/items_8php.js b/doc/html/items_8php.js
index f6ac1e144..fd1d07da4 100644
--- a/doc/html/items_8php.js
+++ b/doc/html/items_8php.js
@@ -39,18 +39,20 @@ var items_8php =
[ "item_getfeedtags", "items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7", null ],
[ "item_store", "items_8php.html#a8ef003b2bc2dc4816bdcf5800aec1049", null ],
[ "item_store_update", "items_8php.html#a2dc4fb9347f6fb804da4f32c107afb53", null ],
+ [ "limit_body_size", "items_8php.html#af94c281016c6c912d06e064113336c5c", null ],
[ "local_delivery", "items_8php.html#ae1c27d1a6379231ac7c0435c8a791d45", null ],
[ "lose_follower", "items_8php.html#ade53043e7bc5ab9cc9ef1e4fed6569d4", null ],
[ "lose_sharer", "items_8php.html#a3a218d5e8ffbe261f773225ecded86a2", null ],
[ "mail_store", "items_8php.html#a77da7ce9a117601d49ac4a67c71b514f", null ],
[ "map_scope", "items_8php.html#ac1fcf621dce7370515b420a7753f4726", null ],
[ "new_follower", "items_8php.html#a53eb3d27e1c55083be93a32f392d54e7", null ],
+ [ "post_activity_item", "items_8php.html#a410f9c743877c125ca06312373346903", null ],
[ "posted_date_widget", "items_8php.html#abe695dd89e1e10ed042c26b80114f0ed", null ],
[ "posted_dates", "items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0", null ],
[ "send_status_notifications", "items_8php.html#aab9e0c58247427126de0699c729c3b6c", null ],
[ "tag_deliver", "items_8php.html#ab1bce4261bcf75ad62753b498a144d17", null ],
[ "termtype", "items_8php.html#ad34827ed330898456783fb14c7b46154", null ],
[ "tgroup_check", "items_8php.html#a88c6cf7649ac836fbbed82a7a0315110", null ],
- [ "title_is_body", "items_8php.html#a1f747db2277904f85ac7b9e64c024e4e", null ],
+ [ "title_is_body", "items_8php.html#aa371905f0a211b307cb3f7188c6cba04", null ],
[ "zot_feed", "items_8php.html#a004e89d86b0f29b2c4da20108ecc4091", null ]
];
\ No newline at end of file
diff --git a/doc/html/language_8php.html b/doc/html/language_8php.html
index 60a2c8efc..2f00b0cff 100644
--- a/doc/html/language_8php.html
+++ b/doc/html/language_8php.html
@@ -280,7 +280,7 @@ Functions
-
Referenced by dba\__construct() , 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() , 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() , connections_content() , connections_post() , construct_page() , consume_feed() , contact_block() , contact_poll_interval() , contact_reputation() , create_account() , create_identity() , crepair_content() , crepair_post() , datesel_format() , day_translate() , delegate_content() , directory_content() , dirfind_content() , dirsearch_content() , display_content() , drop_item() , editpost_content() , events_content() , events_post() , fbrowser_content() , file_tag_save_file() , fileas_widget() , filer_content() , findpeople_widget() , fix_attached_photo_permissions() , follow_init() , follow_widget() , format_event_diaspora() , format_event_html() , 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() , intro_content() , intro_post() , invite_content() , invite_post() , item_post() , item_post_type() , lang_selector() , like_content() , load_database() , localize_item() , lockview_content() , login() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , manual_config() , marital_selector() , match_content() , message_aside() , message_content() , message_post() , mini_group_select() , mood_content() , mood_init() , nav() , network_content() , network_init() , network_to_name() , new_channel_content() , new_channel_post() , new_contact() , new_follower() , nogroup_content() , notification() , notifications_content() , notifications_post() , notify_content() , oembed_bbcode2html() , oembed_iframe() , oexchange_content() , page_content() , paginate() , photo_upload() , photos_album_widget() , photos_content() , photos_init() , photos_post() , ping_init() , poke_content() , poke_init() , populate_acl() , 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() , 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() , tagger_content() , tagrm_content() , tagrm_post() , timezone_cmp() , update_channel_content() , update_community_content() , update_display_content() , update_network_content() , upgrade_bool_message() , upgrade_link() , upgrade_message() , user_allow() , user_deny() , validate_channelname() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , wall_upload_post() , what_next() , xchan_content() , z_readdir() , and zfinger_init() .
+
Referenced by dba\__construct() , 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() , 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() , connections_content() , connections_post() , construct_page() , consume_feed() , contact_block() , contact_poll_interval() , contact_reputation() , create_account() , create_identity() , crepair_content() , crepair_post() , datesel_format() , day_translate() , delegate_content() , directory_content() , dirfind_content() , dirsearch_content() , display_content() , drop_item() , editpost_content() , events_content() , events_post() , fbrowser_content() , file_tag_save_file() , fileas_widget() , filer_content() , findpeople_widget() , fix_attached_photo_permissions() , follow_init() , follow_widget() , format_event_diaspora() , format_event_html() , 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() , intro_content() , intro_post() , invite_content() , invite_post() , item_post() , item_post_type() , lang_selector() , like_content() , load_database() , localize_item() , lockview_content() , login() , lostpass_content() , lostpass_post() , magic_init() , manage_content() , manual_config() , marital_selector() , match_content() , message_aside() , message_content() , message_post() , mini_group_select() , mood_content() , mood_init() , nav() , network_content() , network_init() , network_to_name() , new_channel_content() , new_channel_post() , new_contact() , new_follower() , nogroup_content() , notification() , notifications_content() , notifications_post() , notify_content() , oembed_bbcode2html() , oembed_iframe() , oexchange_content() , page_content() , paginate() , 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() , 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() , tagger_content() , tagrm_content() , tagrm_post() , timezone_cmp() , update_channel_content() , update_community_content() , update_display_content() , update_network_content() , upgrade_bool_message() , upgrade_link() , upgrade_message() , user_allow() , user_deny() , validate_channelname() , vcard_from_xchan() , viewconnections_content() , viewsrc_content() , wall_upload_post() , what_next() , xchan_content() , z_readdir() , and zfinger_init() .
diff --git a/doc/html/navtree.js b/doc/html/navtree.js
index dfd5a6750..f841338bf 100644
--- a/doc/html/navtree.js
+++ b/doc/html/navtree.js
@@ -38,9 +38,9 @@ var NAVTREEINDEX =
"boot_8php.html#ab55e545b72ec8c097e052ea7d373491f",
"classPhoto.html#a4ace266825f6b2bbc3c7f990f5d92500",
"friendica-to-smarty-tpl_8py.html#a5f9bf7a67d955c0d6be70a82097611c5",
-"include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7",
-"plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d",
-"text_8php.html#ae2126da85966da0e79c6bcbac63b0bda"
+"include_2network_8php.html#a6259181fec4d36722d1e91ac6210e876",
+"plugin_8php.html#a516591850f4fd49fd1425cfa54089db8",
+"text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js
index 6fa9730ba..7e2d3c1af 100644
--- a/doc/html/navtreeindex0.js
+++ b/doc/html/navtreeindex0.js
@@ -90,164 +90,164 @@ var NAVTREEINDEX0 =
"bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7":[4,0,0,8,5],
"bbcode_8php.html#a8911e027907820df3db03b4f76724b50":[4,0,0,8,2],
"boot_8php.html":[4,0,4],
-"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[4,0,4,118],
+"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[4,0,4,116],
"boot_8php.html#a01353c9abebc3544ea080ac161729632":[4,0,4,39],
-"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[4,0,4,131],
+"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[4,0,4,129],
"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[4,0,4,209],
"boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8":[4,0,4,54],
-"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[4,0,4,144],
+"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[4,0,4,142],
"boot_8php.html#a0450389f24c632906fbc24347700a543":[4,0,4,50],
"boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b":[4,0,4,97],
"boot_8php.html#a081307d681d7d04f17b9ced2076e7c85":[4,0,4,1],
-"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[4,0,4,182],
+"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[4,0,4,180],
"boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562":[4,0,4,66],
-"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[4,0,4,148],
+"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[4,0,4,146],
"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[4,0,4,220],
"boot_8php.html#a0e57f846e6d47a308feced0f7274f178":[4,0,4,58],
"boot_8php.html#a0e6db7e365f2b041a828b93786f694bc":[4,0,4,15],
"boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5":[4,0,4,79],
"boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd":[4,0,4,76],
-"boot_8php.html#a14d44d4a00223dc3db4ea962325db192":[4,0,4,174],
+"boot_8php.html#a14d44d4a00223dc3db4ea962325db192":[4,0,4,172],
"boot_8php.html#a176664e78dcb9132e16be69418223eb2":[4,0,4,61],
-"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[4,0,4,130],
-"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[4,0,4,126],
-"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[4,0,4,147],
+"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[4,0,4,128],
+"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[4,0,4,124],
+"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[4,0,4,145],
"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[4,0,4,223],
-"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[4,0,4,151],
+"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[4,0,4,149],
"boot_8php.html#a1da180f961f49a11573cac4ff6c62c05":[4,0,4,75],
-"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[4,0,4,192],
+"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[4,0,4,190],
"boot_8php.html#a1dfcb5146e9d1eca4528bc580ad5d273":[4,0,4,35],
-"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[4,0,4,101],
-"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[4,0,4,136],
-"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[4,0,4,167],
+"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[4,0,4,99],
+"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[4,0,4,134],
+"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[4,0,4,165],
+"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[4,0,4,205],
"boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5":[4,0,4,45],
"boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8":[4,0,4,95],
"boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f":[4,0,4,87],
"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[4,0,4,214],
-"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[4,0,4,170],
+"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[4,0,4,168],
"boot_8php.html#a29528a2544373cc19a378f350040c6a1":[4,0,4,81],
-"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[4,0,4,113],
-"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[4,0,4,190],
-"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[4,0,4,102],
-"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[4,0,4,166],
+"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[4,0,4,111],
+"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[4,0,4,188],
+"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[4,0,4,100],
+"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[4,0,4,164],
"boot_8php.html#a2e90096fede6acce16abf0da8cb2febe":[4,0,4,67],
"boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab":[4,0,4,72],
-"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[4,0,4,197],
-"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[4,0,4,124],
+"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[4,0,4,195],
+"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[4,0,4,122],
"boot_8php.html#a34c756469ebed32e2fc987bcde62d382":[4,0,4,47],
-"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[4,0,4,106],
-"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[4,0,4,138],
+"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[4,0,4,104],
+"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[4,0,4,136],
"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[4,0,4,225],
-"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[4,0,4,155],
-"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[4,0,4,103],
+"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[4,0,4,153],
+"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[4,0,4,101],
"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[4,0,4,224],
-"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[4,0,4,188],
+"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[4,0,4,186],
"boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4":[4,0,4,12],
"boot_8php.html#a3e2ea123d29a72012db1241f96280b0e":[4,0,4,59],
"boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a":[4,0,4,52],
-"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[4,0,4,114],
-"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[4,0,4,184],
-"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[4,0,4,165],
-"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[4,0,4,141],
+"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[4,0,4,112],
+"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[4,0,4,182],
+"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[4,0,4,163],
+"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[4,0,4,139],
"boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f":[4,0,4,70],
"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[4,0,4,218],
"boot_8php.html#a490972c02fdb638c52ec0e012a30bfd2":[4,0,4,19],
-"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[4,0,4,153],
-"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[4,0,4,100],
-"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[4,0,4,152],
+"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[4,0,4,151],
+"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[4,0,4,98],
+"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[4,0,4,150],
"boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3":[4,0,4,6],
-"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[4,0,4,183],
-"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[4,0,4,201],
-"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[4,0,4,177],
-"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[4,0,4,137],
+"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[4,0,4,181],
+"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[4,0,4,199],
+"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[4,0,4,175],
+"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[4,0,4,135],
"boot_8php.html#a52b599cd13e152ebc80d7e4413683195":[4,0,4,46],
"boot_8php.html#a53e4bdb6f225da55115acb9277f75e53":[4,0,4,80],
"boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209":[4,0,4,36],
-"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[4,0,4,169],
-"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[4,0,4,200],
+"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[4,0,4,167],
+"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[4,0,4,198],
"boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1":[4,0,4,22],
"boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434":[4,0,4,60],
-"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[4,0,4,159],
+"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[4,0,4,157],
"boot_8php.html#a5b45d647da3743a7fc8c6223350b4d67":[4,0,4,32],
"boot_8php.html#a5b7ce5c0a79796800883644c389dc87f":[4,0,4,43],
-"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[4,0,4,180],
+"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[4,0,4,178],
"boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4":[4,0,4,77],
-"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[4,0,4,139],
-"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[4,0,4,181],
+"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[4,0,4,137],
+"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[4,0,4,179],
"boot_8php.html#a623e49c79943f3e7bdb770d021683cf7":[4,0,4,21],
"boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5":[4,0,4,74],
"boot_8php.html#a646123ebbb10eb6f5b6ff26f4288da9b":[4,0,4,34],
"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[4,0,4,216],
-"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[4,0,4,145],
-"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[4,0,4,122],
+"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[4,0,4,143],
+"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[4,0,4,120],
"boot_8php.html#a680fbafc2db023c5b1309e0180e81315":[4,0,4,44],
-"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[4,0,4,125],
+"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[4,0,4,123],
"boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155":[4,0,4,49],
-"boot_8php.html#a6969947145a139ec374ce098224d8e81":[4,0,4,128],
+"boot_8php.html#a6969947145a139ec374ce098224d8e81":[4,0,4,126],
"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[4,0,4,207],
-"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[4,0,4,204],
-"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[4,0,4,198],
+"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[4,0,4,202],
+"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[4,0,4,196],
"boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd":[4,0,4,96],
"boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9":[4,0,4,88],
-"boot_8php.html#a6df1102664f64b274810db85197c2755":[4,0,4,186],
+"boot_8php.html#a6df1102664f64b274810db85197c2755":[4,0,4,184],
"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[4,0,4,206],
"boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6":[4,0,4,27],
-"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[4,0,4,160],
-"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[4,0,4,116],
+"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[4,0,4,158],
+"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[4,0,4,114],
"boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab":[4,0,4,71],
"boot_8php.html#a75a90b0eadd0df510f7e63210733634d":[4,0,4,2],
"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[4,0,4,221],
"boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006":[4,0,4,4],
"boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966":[4,0,4,73],
"boot_8php.html#a781916f83fcc8ff1035649afa45f0292":[4,0,4,85],
-"boot_8php.html#a78d5f284dc096b2a739c1fa47f22b7be":[4,0,4,99],
-"boot_8php.html#a7a27d05ec84f9eef2f06097e6b8892f3":[4,0,4,98],
"boot_8php.html#a7aa57438db03834aaa0b468bdce773a6":[4,0,4,64],
-"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[4,0,4,115],
-"boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133":[4,0,4,140],
+"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[4,0,4,113],
+"boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133":[4,0,4,138],
"boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3":[4,0,4,68],
-"boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028":[4,0,4,142],
+"boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028":[4,0,4,140],
"boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866":[4,0,4,82],
-"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[4,0,4,178],
+"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[4,0,4,176],
"boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8":[4,0,4,53],
-"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[4,0,4,110],
-"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[4,0,4,158],
+"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[4,0,4,108],
+"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[4,0,4,156],
"boot_8php.html#a8a60cc38bb567765fd926fef70205f16":[4,0,4,93],
-"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[4,0,4,202],
-"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[4,0,4,112],
-"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[4,0,4,108],
-"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[4,0,4,205],
+"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[4,0,4,200],
+"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[4,0,4,110],
+"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[4,0,4,106],
+"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[4,0,4,203],
"boot_8php.html#a9255af5ae9c887520091ea04763c1a88":[4,0,4,30],
-"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[4,0,4,129],
-"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[4,0,4,111],
+"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[4,0,4,127],
+"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[4,0,4,109],
+"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[4,0,4,204],
"boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90":[4,0,4,18],
-"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[4,0,4,172],
-"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[4,0,4,203],
+"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[4,0,4,170],
+"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[4,0,4,201],
"boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e":[4,0,4,5],
-"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[4,0,4,195],
-"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[4,0,4,173],
+"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[4,0,4,193],
+"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[4,0,4,171],
"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[4,0,4,217],
-"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[4,0,4,194],
-"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[4,0,4,161],
+"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[4,0,4,192],
+"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[4,0,4,159],
"boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e":[4,0,4,25],
-"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[4,0,4,179],
+"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[4,0,4,177],
"boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6":[4,0,4,48],
-"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[4,0,4,135],
+"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[4,0,4,133],
"boot_8php.html#aa4221641e5c21db69fa52c426b9017f5":[4,0,4,9],
"boot_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec":[4,0,4,20],
-"boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2":[4,0,4,133],
+"boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2":[4,0,4,131],
"boot_8php.html#aa74438cf71e48e37bf7b440b94243985":[4,0,4,84],
"boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d":[4,0,4,90],
-"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[4,0,4,199],
-"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[4,0,4,120],
+"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[4,0,4,197],
+"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[4,0,4,118],
"boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14":[4,0,4,65],
-"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[4,0,4,164],
+"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[4,0,4,162],
"boot_8php.html#ab2878f40a7f3978476fcfb4c95b96806":[4,0,4,11],
-"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[4,0,4,105],
-"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[4,0,4,185],
+"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[4,0,4,103],
+"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[4,0,4,183],
"boot_8php.html#ab346a2ece14993861f3e4206befa94f0":[4,0,4,31],
-"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[4,0,4,157],
-"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[4,0,4,189],
-"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[4,0,4,104],
-"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[4,0,4,121]
+"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[4,0,4,155],
+"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[4,0,4,187],
+"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[4,0,4,102],
+"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[4,0,4,119]
};
diff --git a/doc/html/navtreeindex1.js b/doc/html/navtreeindex1.js
index 35f67ce74..0b93ae1f3 100644
--- a/doc/html/navtreeindex1.js
+++ b/doc/html/navtreeindex1.js
@@ -2,7 +2,7 @@ var NAVTREEINDEX1 =
{
"boot_8php.html#ab55e545b72ec8c097e052ea7d373491f":[4,0,4,40],
"boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78":[4,0,4,55],
-"boot_8php.html#ab724491497ab2618b23a01d5da60aec0":[4,0,4,175],
+"boot_8php.html#ab724491497ab2618b23a01d5da60aec0":[4,0,4,173],
"boot_8php.html#ab79b8b4555cae20d03f8200666d89d63":[4,0,4,7],
"boot_8php.html#ab7d65a7e7417825a4db62906bb600729":[4,0,4,92],
"boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda":[4,0,4,41],
@@ -10,61 +10,61 @@ var NAVTREEINDEX1 =
"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[4,0,4,219],
"boot_8php.html#abdcdfc873ace4e0902177bad934de0c0":[4,0,4,63],
"boot_8php.html#abedd940e664017c61b48c6efa31d0cb8":[4,0,4,91],
-"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[4,0,4,109],
+"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[4,0,4,107],
"boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c":[4,0,4,24],
-"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[4,0,4,143],
+"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[4,0,4,141],
"boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03":[4,0,4,89],
"boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0":[4,0,4,38],
"boot_8php.html#ac8400313df2c831653f9036f71ebd86d":[4,0,4,56],
"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[4,0,4,222],
-"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[4,0,4,107],
-"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[4,0,4,171],
+"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[4,0,4,105],
+"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[4,0,4,169],
"boot_8php.html#aca47505b8732177f52bb2d647eb2741c":[4,0,4,37],
"boot_8php.html#aca5e42678e178c6b9034610d66666fd7":[4,0,4,13],
"boot_8php.html#acc4e0c910af066148b810e5fde55fff1":[4,0,4,8],
-"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[4,0,4,146],
-"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[4,0,4,196],
+"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[4,0,4,144],
+"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[4,0,4,194],
"boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3":[4,0,4,62],
-"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[4,0,4,132],
+"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[4,0,4,130],
"boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13":[4,0,4,10],
"boot_8php.html#ad2c97627a313d53df1a1c7b4215ddb51":[4,0,4,16],
"boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f":[4,0,4,69],
"boot_8php.html#ad34c1547020a305915bcc39707744690":[4,0,4,83],
"boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44":[4,0,4,28],
-"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[4,0,4,191],
+"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[4,0,4,189],
"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[4,0,4,208],
"boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29":[4,0,4,86],
-"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[4,0,4,117],
+"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[4,0,4,115],
"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[4,0,4,211],
"boot_8php.html#add517a0958ac684792c62142a3877f81":[4,0,4,42],
"boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498":[4,0,4,23],
"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[4,0,4,215],
"boot_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312":[4,0,4,17],
-"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[4,0,4,154],
-"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[4,0,4,134],
-"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[4,0,4,162],
+"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[4,0,4,152],
+"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[4,0,4,132],
+"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[4,0,4,160],
"boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c":[4,0,4,26],
"boot_8php.html#aebc5ed38c73ade57f360471da712ded2":[4,0,4,33],
-"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[4,0,4,193],
+"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[4,0,4,191],
"boot_8php.html#aedfb9501ed408278667995524e0d15cf":[4,0,4,94],
-"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[4,0,4,149],
-"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[4,0,4,163],
-"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[4,0,4,119],
+"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[4,0,4,147],
+"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[4,0,4,161],
+"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[4,0,4,117],
"boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4":[4,0,4,29],
"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[4,0,4,212],
-"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[4,0,4,156],
+"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[4,0,4,154],
"boot_8php.html#af3a4271630aabd8be592213f925d6a36":[4,0,4,57],
"boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9":[4,0,4,51],
-"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[4,0,4,123],
-"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[4,0,4,176],
+"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[4,0,4,121],
+"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[4,0,4,174],
"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[4,0,4,210],
-"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[4,0,4,168],
-"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[4,0,4,150],
+"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[4,0,4,166],
+"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[4,0,4,148],
"boot_8php.html#afb97615e985a013799839b68b99018d7":[4,0,4,213],
"boot_8php.html#afe084c30a1810c10442edb4fbcbc0086":[4,0,4,78],
-"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[4,0,4,127],
+"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[4,0,4,125],
"boot_8php.html#afe88b920aa285982edb817a0dd44eb37":[4,0,4,14],
-"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[4,0,4,187],
+"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[4,0,4,185],
"cache_8php.html":[4,0,0,9],
"channel_8php.html":[4,0,1,7],
"channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1":[4,0,1,7,1],
diff --git a/doc/html/navtreeindex3.js b/doc/html/navtreeindex3.js
index c245d3d75..5aa333a98 100644
--- a/doc/html/navtreeindex3.js
+++ b/doc/html/navtreeindex3.js
@@ -65,8 +65,8 @@ var NAVTREEINDEX3 =
"globals_0x77.html":[4,1,0,24],
"globals_0x78.html":[4,1,0,25],
"globals_0x7a.html":[4,1,0,26],
-"globals_func.html":[4,1,1],
"globals_func.html":[4,1,1,0],
+"globals_func.html":[4,1,1],
"globals_func_0x61.html":[4,1,1,1],
"globals_func_0x62.html":[4,1,1,2],
"globals_func_0x63.html":[4,1,1,3],
@@ -224,16 +224,17 @@ var NAVTREEINDEX3 =
"include_2follow_8php.html#a6553a7650fae55f95660510d90983144":[4,0,0,28,0],
"include_2group_8php.html":[4,0,0,31],
"include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b":[4,0,0,31,2],
-"include_2group_8php.html#a048f6892bfd28852de1b76470df411de":[4,0,0,31,9],
+"include_2group_8php.html#a048f6892bfd28852de1b76470df411de":[4,0,0,31,10],
"include_2group_8php.html#a0a515d42ec78aa0066aac4c278ead5b0":[4,0,0,31,1],
-"include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17":[4,0,0,31,7],
+"include_2group_8php.html#a1042d74055bafe54a6a30103d87a7f17":[4,0,0,31,8],
"include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345":[4,0,0,31,0],
-"include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5":[4,0,0,31,5],
-"include_2group_8php.html#a540e3ef36f47d47532646be4241f6518":[4,0,0,31,6],
+"include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5":[4,0,0,31,6],
+"include_2group_8php.html#a540e3ef36f47d47532646be4241f6518":[4,0,0,31,7],
"include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09":[4,0,0,31,4],
-"include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f":[4,0,0,31,10],
+"include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245":[4,0,0,31,5],
+"include_2group_8php.html#ab4d9e5b59f48787cb01baae5dc6c381f":[4,0,0,31,11],
"include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb":[4,0,0,31,3],
-"include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f":[4,0,0,31,8],
+"include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f":[4,0,0,31,9],
"include_2message_8php.html":[4,0,0,38],
"include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091":[4,0,0,38,2],
"include_2message_8php.html#a5f8de9847e203329e317ac38dc646898":[4,0,0,38,1],
@@ -248,6 +249,5 @@ var NAVTREEINDEX3 =
"include_2network_8php.html#a37ddeb88a3fd1dee9e8339723f9edf9a":[4,0,0,40,8],
"include_2network_8php.html#a4c5d50079e089168d9248427018fffd4":[4,0,0,40,13],
"include_2network_8php.html#a540420ff3675a72cb781ef9a7e8c2cd9":[4,0,0,40,5],
-"include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2":[4,0,0,40,19],
-"include_2network_8php.html#a6259181fec4d36722d1e91ac6210e876":[4,0,0,40,25]
+"include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2":[4,0,0,40,19]
};
diff --git a/doc/html/navtreeindex4.js b/doc/html/navtreeindex4.js
index d33e4fac3..4dcb8a5a6 100644
--- a/doc/html/navtreeindex4.js
+++ b/doc/html/navtreeindex4.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX4 =
{
+"include_2network_8php.html#a6259181fec4d36722d1e91ac6210e876":[4,0,0,40,25],
"include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7":[4,0,0,40,11],
"include_2network_8php.html#a8122356933bcd6b0a8567e8e15ae5cc5":[4,0,0,40,20],
"include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d":[4,0,0,40,9],
@@ -51,22 +52,22 @@ var NAVTREEINDEX4 =
"item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10":[4,0,1,35,1],
"item_8php.html#abd0e603a6696051af16476eb968d52e7":[4,0,1,35,2],
"items_8php.html":[4,0,0,36],
-"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[4,0,0,36,52],
+"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[4,0,0,36,54],
"items_8php.html#a01e3cf44e082fa9bd06dcde5bf713d70":[4,0,0,36,4],
"items_8php.html#a0790a4550b829e85504af548623002ca":[4,0,0,36,5],
"items_8php.html#a079e099e15d88d47aeb6ca6d60da7107":[4,0,0,36,31],
"items_8php.html#a09d425596b9f8663472cf7474ad36d96":[4,0,0,36,35],
"items_8php.html#a0cf98bb619f07dd18f602683a55a5f59":[4,0,0,36,23],
-"items_8php.html#a1f747db2277904f85ac7b9e64c024e4e":[4,0,0,36,51],
"items_8php.html#a251343637ff40a50cca93452cd530c26":[4,0,0,36,30],
"items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6":[4,0,0,36,3],
"items_8php.html#a2b56a4c01bd22a648d52ec9af1a04259":[4,0,0,36,11],
"items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7":[4,0,0,36,19],
"items_8php.html#a2dc4fb9347f6fb804da4f32c107afb53":[4,0,0,36,38],
"items_8php.html#a36e656667193c83aa2cc03a024fc131b":[4,0,0,36,0],
-"items_8php.html#a3a218d5e8ffbe261f773225ecded86a2":[4,0,0,36,41],
+"items_8php.html#a3a218d5e8ffbe261f773225ecded86a2":[4,0,0,36,42],
+"items_8php.html#a410f9c743877c125ca06312373346903":[4,0,0,36,46],
"items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361":[4,0,0,36,28],
-"items_8php.html#a53eb3d27e1c55083be93a32f392d54e7":[4,0,0,36,44],
+"items_8php.html#a53eb3d27e1c55083be93a32f392d54e7":[4,0,0,36,45],
"items_8php.html#a566c601726697e044e75284af7fb6f17":[4,0,0,36,18],
"items_8php.html#a56b2a4abcadfac71175cd50555528cc3":[4,0,0,36,10],
"items_8php.html#a59abb61d7581dc6592257ef022cbfada":[4,0,0,36,26],
@@ -75,33 +76,35 @@ var NAVTREEINDEX4 =
"items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55":[4,0,0,36,14],
"items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc":[4,0,0,36,34],
"items_8php.html#a77051724d1784074ff187e73a4db93fe":[4,0,0,36,32],
-"items_8php.html#a77da7ce9a117601d49ac4a67c71b514f":[4,0,0,36,42],
+"items_8php.html#a77da7ce9a117601d49ac4a67c71b514f":[4,0,0,36,43],
"items_8php.html#a82955cc578f0fa600acec84475026194":[4,0,0,36,15],
"items_8php.html#a8395d189a36abfa0dfff81a2b0e70669":[4,0,0,36,12],
"items_8php.html#a8794863cdf8ce1333040933d3a3f66bd":[4,0,0,36,9],
-"items_8php.html#a88c6cf7649ac836fbbed82a7a0315110":[4,0,0,36,50],
+"items_8php.html#a88c6cf7649ac836fbbed82a7a0315110":[4,0,0,36,52],
"items_8php.html#a896c1809d58f2d7a42cfe14577958ddf":[4,0,0,36,25],
"items_8php.html#a8ef003b2bc2dc4816bdcf5800aec1049":[4,0,0,36,37],
"items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8":[4,0,0,36,8],
"items_8php.html#a94ddb1d6c8fa21dd7433677e85168037":[4,0,0,36,29],
+"items_8php.html#aa371905f0a211b307cb3f7188c6cba04":[4,0,0,36,53],
"items_8php.html#aa579bc4445d60098b1410961ca8e96b7":[4,0,0,36,7],
"items_8php.html#aa723c0571e314a1853a24c5854b4f54f":[4,0,0,36,20],
"items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee":[4,0,0,36,6],
"items_8php.html#aab9c6bae4c40799867596bdaae9829fd":[4,0,0,36,27],
-"items_8php.html#aab9e0c58247427126de0699c729c3b6c":[4,0,0,36,47],
-"items_8php.html#ab1bce4261bcf75ad62753b498a144d17":[4,0,0,36,48],
+"items_8php.html#aab9e0c58247427126de0699c729c3b6c":[4,0,0,36,49],
+"items_8php.html#ab1bce4261bcf75ad62753b498a144d17":[4,0,0,36,50],
"items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87":[4,0,0,36,24],
-"items_8php.html#abe695dd89e1e10ed042c26b80114f0ed":[4,0,0,36,45],
+"items_8php.html#abe695dd89e1e10ed042c26b80114f0ed":[4,0,0,36,47],
"items_8php.html#abf7a1b73eb352d79acd36309b0dababd":[4,0,0,36,1],
-"items_8php.html#ac1fcf621dce7370515b420a7753f4726":[4,0,0,36,43],
+"items_8php.html#ac1fcf621dce7370515b420a7753f4726":[4,0,0,36,44],
"items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a":[4,0,0,36,17],
-"items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0":[4,0,0,36,46],
-"items_8php.html#ad34827ed330898456783fb14c7b46154":[4,0,0,36,49],
+"items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0":[4,0,0,36,48],
+"items_8php.html#ad34827ed330898456783fb14c7b46154":[4,0,0,36,51],
"items_8php.html#adc8bda87ba08626f2a8cde7748d1bdae":[4,0,0,36,2],
-"items_8php.html#ade53043e7bc5ab9cc9ef1e4fed6569d4":[4,0,0,36,40],
+"items_8php.html#ade53043e7bc5ab9cc9ef1e4fed6569d4":[4,0,0,36,41],
"items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9":[4,0,0,36,22],
-"items_8php.html#ae1c27d1a6379231ac7c0435c8a791d45":[4,0,0,36,39],
+"items_8php.html#ae1c27d1a6379231ac7c0435c8a791d45":[4,0,0,36,40],
"items_8php.html#ae73794179b62d39bb597ff670ab1c1e5":[4,0,0,36,33],
+"items_8php.html#af94c281016c6c912d06e064113336c5c":[4,0,0,36,39],
"items_8php.html#afa1db13c2a8b73b5b17b97f17e5a19d1":[4,0,0,36,13],
"items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67":[4,0,0,36,21],
"language_8php.html":[4,0,0,37],
@@ -246,8 +249,5 @@ var NAVTREEINDEX4 =
"plugin_8php.html":[4,0,0,49],
"plugin_8php.html#a030cec6793b909c439c0336ba39b1571":[4,0,0,49,7],
"plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a":[4,0,0,49,3],
-"plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040":[4,0,0,49,11],
-"plugin_8php.html#a516591850f4fd49fd1425cfa54089db8":[4,0,0,49,4],
-"plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1":[4,0,0,49,6],
-"plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2":[4,0,0,49,9]
+"plugin_8php.html#a4fc13e528367f510fcb6d8bbfc559040":[4,0,0,49,11]
};
diff --git a/doc/html/navtreeindex5.js b/doc/html/navtreeindex5.js
index 6d7a4963e..7522d3a33 100644
--- a/doc/html/navtreeindex5.js
+++ b/doc/html/navtreeindex5.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX5 =
{
+"plugin_8php.html#a516591850f4fd49fd1425cfa54089db8":[4,0,0,49,4],
+"plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1":[4,0,0,49,6],
+"plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2":[4,0,0,49,9],
"plugin_8php.html#a754d7f53b3abc557b753c057dc4e021d":[4,0,0,49,10],
"plugin_8php.html#a888a4c565cf06eb86ffc67131e5f19e0":[4,0,0,49,2],
"plugin_8php.html#a901657dd078e070516cf97285e0bada7":[4,0,0,49,12],
@@ -191,15 +194,17 @@ var NAVTREEINDEX5 =
"text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6":[4,0,0,61,51],
"text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728":[4,0,0,61,46],
"text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca":[4,0,0,61,4],
+"text_8php.html#a29988052f3944111def3b6aaf2c7a8f6":[4,0,0,61,88],
"text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7":[4,0,0,61,80],
"text_8php.html#a2a902f5fdba8646333e997898ac45ea3":[4,0,0,61,52],
"text_8php.html#a2e8d6c402603be3a1256a16605e09c2a":[4,0,0,61,10],
-"text_8php.html#a2ffd79c60cc87cec24ef76447b905187":[4,0,0,61,88],
+"text_8php.html#a2ffd79c60cc87cec24ef76447b905187":[4,0,0,61,90],
"text_8php.html#a30311fd46e05be0e2cc466118641a4ed":[4,0,0,61,25],
"text_8php.html#a3299482ac20e9d79453048dd52881d37":[4,0,0,61,21],
"text_8php.html#a3972701c5c83624ec4e2d06242f614e7":[4,0,0,61,36],
"text_8php.html#a3d225b253bb9e0f2498c11647d927b0b":[4,0,0,61,73],
"text_8php.html#a3d2793d66db3345fd290b71e2eadf98e":[4,0,0,61,7],
+"text_8php.html#a405afe814a23f3bd94d826101aa168ab":[4,0,0,61,87],
"text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a":[4,0,0,61,40],
"text_8php.html#a44d460fcdee6247c67b9bef3ea15f3e6":[4,0,0,61,72],
"text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623":[4,0,0,61,37],
@@ -235,7 +240,7 @@ var NAVTREEINDEX5 =
"text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64":[4,0,0,61,16],
"text_8php.html#aa5528f41533927e1bd2da3618a74a6d7":[4,0,0,61,58],
"text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e":[4,0,0,61,42],
-"text_8php.html#aad557c054cf2ed915633701018fc7e3f":[4,0,0,61,87],
+"text_8php.html#aad557c054cf2ed915633701018fc7e3f":[4,0,0,61,89],
"text_8php.html#aaed4413ed8918838b517e3b2fafaea0d":[4,0,0,61,86],
"text_8php.html#aaeded36bcc983b35d9205fe5b6c18c43":[4,0,0,61,78],
"text_8php.html#abb55ec0142207aeec3d90b25ed4d7266":[4,0,0,61,24],
@@ -244,10 +249,5 @@ var NAVTREEINDEX5 =
"text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e":[4,0,0,61,43],
"text_8php.html#aca0f589be74fab1a460c57e88dad9779":[4,0,0,61,71],
"text_8php.html#ace3c98538c63e09b70a363210b414112":[4,0,0,61,28],
-"text_8php.html#acedb584f65114a33f389efb796172a91":[4,0,0,61,2],
-"text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784":[4,0,0,61,13],
-"text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2":[4,0,0,61,66],
-"text_8php.html#adba17ec946f4285285dc100f7860bf51":[4,0,0,61,54],
-"text_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1":[4,0,0,61,30],
-"text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8":[4,0,0,61,44]
+"text_8php.html#acedb584f65114a33f389efb796172a91":[4,0,0,61,2]
};
diff --git a/doc/html/navtreeindex6.js b/doc/html/navtreeindex6.js
index ab6eaccc6..6dbecfe33 100644
--- a/doc/html/navtreeindex6.js
+++ b/doc/html/navtreeindex6.js
@@ -1,5 +1,10 @@
var NAVTREEINDEX6 =
{
+"text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784":[4,0,0,61,13],
+"text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2":[4,0,0,61,66],
+"text_8php.html#adba17ec946f4285285dc100f7860bf51":[4,0,0,61,54],
+"text_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1":[4,0,0,61,30],
+"text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8":[4,0,0,61,44],
"text_8php.html#ae2126da85966da0e79c6bcbac63b0bda":[4,0,0,61,68],
"text_8php.html#ae4282a39492caa23ccbc2ce98e54f110":[4,0,0,61,17],
"text_8php.html#ae4f6881d7e13623f8eded6277595112a":[4,0,0,61,31],
diff --git a/doc/html/permissions_8php.html b/doc/html/permissions_8php.html
index 7d1063e53..c00d9efb7 100644
--- a/doc/html/permissions_8php.html
+++ b/doc/html/permissions_8php.html
@@ -246,7 +246,7 @@ Functions
-
Referenced by Item\__construct() , api_statuses_home_timeline() , api_statuses_repeat() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_list_files() , attach_store() , check_list_permissions() , common_content() , common_friends_visitor_widget() , directory_run() , item_post() , like_content() , photo_init() , photo_upload() , photos_album_widget() , photos_albums_list() , photos_post() , poco_init() , process_delivery() , process_mail_delivery() , profile_load() , profile_sidebar() , Conversation\set_mode() , subthread_content() , syncdirs() , tag_deliver() , viewconnections_content() , z_readdir() , and zot_feed() .
+
Referenced by Item\__construct() , api_statuses_home_timeline() , api_statuses_repeat() , attach_by_hash() , attach_by_hash_nodata() , attach_count_files() , attach_list_files() , attach_store() , check_list_permissions() , common_content() , common_friends_visitor_widget() , directory_run() , item_post() , like_content() , photo_init() , photo_upload() , photos_album_widget() , photos_albums_list() , photos_post() , poco_init() , post_activity_item() , process_delivery() , process_mail_delivery() , profile_load() , profile_sidebar() , Conversation\set_mode() , subthread_content() , syncdirs() , tag_deliver() , viewconnections_content() , z_readdir() , and zot_feed() .
diff --git a/doc/html/search/all_66.js b/doc/html/search/all_66.js
index 24b370c9b..cc68c8aba 100644
--- a/doc/html/search/all_66.js
+++ b/doc/html/search/all_66.js
@@ -46,8 +46,8 @@ var searchData=
['fkoauthdatastore',['FKOAuthDataStore',['../classFKOAuthDataStore.html',1,'']]],
['flip',['flip',['../classPhoto.html#a7acd95a0380f95999dd069fbb5629ea5',1,'Photo']]],
['fnull',['fnull',['../namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3',1,'updatetpl']]],
- ['follow_2ephp',['follow.php',['../mod_2follow_8php.html',1,'']]],
['follow_2ephp',['follow.php',['../include_2follow_8php.html',1,'']]],
+ ['follow_2ephp',['follow.php',['../mod_2follow_8php.html',1,'']]],
['follow_5fcontent',['follow_content',['../mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592',1,'follow.php']]],
['follow_5finit',['follow_init',['../mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a',1,'follow.php']]],
['follow_5fwidget',['follow_widget',['../contact__widgets_8php.html#af24e693532a045954caab515942cfc6f',1,'contact_widgets.php']]],
@@ -65,9 +65,7 @@ var searchData=
['friendica',['Friendica',['../namespaceFriendica.html',1,'']]],
['friendica_2dto_2dsmarty_2dtpl',['friendica-to-smarty-tpl',['../namespacefriendica-to-smarty-tpl.html',1,'']]],
['friendica_2dto_2dsmarty_2dtpl_2epy',['friendica-to-smarty-tpl.py',['../friendica-to-smarty-tpl_8py.html',1,'']]],
- ['friendica_5fplatform',['FRIENDICA_PLATFORM',['../boot_8php.html#a7a27d05ec84f9eef2f06097e6b8892f3',1,'boot.php']]],
['friendica_5fsmarty_2ephp',['friendica_smarty.php',['../friendica__smarty_8php.html',1,'']]],
- ['friendica_5fversion',['FRIENDICA_VERSION',['../boot_8php.html#a78d5f284dc096b2a739c1fa47f22b7be',1,'boot.php']]],
['friendicasmarty',['FriendicaSmarty',['../classFriendicaSmarty.html',1,'']]],
['fsuggest_2ephp',['fsuggest.php',['../fsuggest_8php.html',1,'']]],
['fsuggest_5fcontent',['fsuggest_content',['../fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998',1,'fsuggest.php']]],
diff --git a/doc/html/search/all_67.js b/doc/html/search/all_67.js
index 4aabc9daa..43dcd2f2a 100644
--- a/doc/html/search/all_67.js
+++ b/doc/html/search/all_67.js
@@ -97,6 +97,7 @@ var searchData=
['group_5fcontent',['group_content',['../mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83',1,'group.php']]],
['group_5fget_5fmembers',['group_get_members',['../include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09',1,'group.php']]],
['group_5fpost',['group_post',['../mod_2group_8php.html#aed1f009b1221348021bb34761160ef35',1,'group.php']]],
+ ['group_5frec_5fbyhash',['group_rec_byhash',['../include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245',1,'group.php']]],
['group_5frmv',['group_rmv',['../include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5',1,'group.php']]],
['group_5frmv_5fmember',['group_rmv_member',['../include_2group_8php.html#a540e3ef36f47d47532646be4241f6518',1,'group.php']]],
['group_5fselect',['group_select',['../acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0',1,'acl_selectors.php']]],
diff --git a/doc/html/search/all_6c.js b/doc/html/search/all_6c.js
index 71960f865..d47e71676 100644
--- a/doc/html/search/all_6c.js
+++ b/doc/html/search/all_6c.js
@@ -8,6 +8,7 @@ var searchData=
['legal_5fwebbie',['legal_webbie',['../text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728',1,'text.php']]],
['like_2ephp',['like.php',['../like_8php.html',1,'']]],
['like_5fcontent',['like_content',['../like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538',1,'like.php']]],
+ ['limit_5fbody_5fsize',['limit_body_size',['../items_8php.html#af94c281016c6c912d06e064113336c5c',1,'items.php']]],
['link_5fcompare',['link_compare',['../text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285',1,'text.php']]],
['linkify',['linkify',['../text_8php.html#a11255c8c4e5245b6c24f97684826aa54',1,'text.php']]],
['load_5fconfig',['load_config',['../include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1',1,'config.php']]],
diff --git a/doc/html/search/all_70.js b/doc/html/search/all_70.js
index ea647e04d..7da49ced0 100644
--- a/doc/html/search/all_70.js
+++ b/doc/html/search/all_70.js
@@ -82,6 +82,7 @@ var searchData=
['pop_5flang',['pop_lang',['../language_8php.html#a78bd204955ec4cc3a9ac651285a1689d',1,'language.php']]],
['populate_5facl',['populate_acl',['../acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c',1,'acl_selectors.php']]],
['post_2ephp',['post.php',['../post_8php.html',1,'']]],
+ ['post_5factivity_5fitem',['post_activity_item',['../items_8php.html#a410f9c743877c125ca06312373346903',1,'items.php']]],
['post_5finit',['post_init',['../post_8php.html#af4b48181ce773ef0cdfc972441445c34',1,'post.php']]],
['post_5fpost',['post_post',['../post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75',1,'post.php']]],
['post_5furl',['post_url',['../include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e',1,'network.php']]],
diff --git a/doc/html/search/all_72.js b/doc/html/search/all_72.js
index 05447bb43..0b5a5090f 100644
--- a/doc/html/search/all_72.js
+++ b/doc/html/search/all_72.js
@@ -8,6 +8,8 @@ var searchData=
['randprof_5finit',['randprof_init',['../randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090',1,'randprof.php']]],
['rdelim',['rdelim',['../namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b',1,'friendica-to-smarty-tpl']]],
['rebuild_5ftheme_5ftable',['rebuild_theme_table',['../admin_8php.html#ae46311a3fefc21abc838a26e91789de6',1,'admin.php']]],
+ ['red_5fplatform',['RED_PLATFORM',['../boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4',1,'boot.php']]],
+ ['red_5fversion',['RED_VERSION',['../boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3',1,'boot.php']]],
['redbasic_5fform',['redbasic_form',['../view_2theme_2redbasic_2php_2config_8php.html#ab5073653dfb9eb2216f8580098a87071',1,'config.php']]],
['redbasic_5finit',['redbasic_init',['../theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b',1,'theme.php']]],
['redir_2ephp',['redir.php',['../redir_8php.html',1,'']]],
diff --git a/doc/html/search/all_74.js b/doc/html/search/all_74.js
index 585d23f36..432ce24ad 100644
--- a/doc/html/search/all_74.js
+++ b/doc/html/search/all_74.js
@@ -36,7 +36,7 @@ var searchData=
['theme_5fstatus',['theme_status',['../admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4',1,'admin.php']]],
['timesel',['timesel',['../datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1',1,'datetime.php']]],
['timezone_5fcmp',['timezone_cmp',['../datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865',1,'datetime.php']]],
- ['title_5fis_5fbody',['title_is_body',['../items_8php.html#a1f747db2277904f85ac7b9e64c024e4e',1,'items.php']]],
+ ['title_5fis_5fbody',['title_is_body',['../items_8php.html#aa371905f0a211b307cb3f7188c6cba04',1,'items.php']]],
['toggle_5fmobile_2ephp',['toggle_mobile.php',['../toggle__mobile_8php.html',1,'']]],
['toggle_5fmobile_5finit',['toggle_mobile_init',['../toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254',1,'toggle_mobile.php']]],
['toggle_5ftheme',['toggle_theme',['../admin_8php.html#af81f081851791cd15e49e8ff6722dc27',1,'admin.php']]],
diff --git a/doc/html/search/all_7a.js b/doc/html/search/all_7a.js
index 6094308e4..766886ad0 100644
--- a/doc/html/search/all_7a.js
+++ b/doc/html/search/all_7a.js
@@ -12,6 +12,8 @@ var searchData=
['zfinger_5finit',['zfinger_init',['../zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0',1,'zfinger.php']]],
['zid',['zid',['../boot_8php.html#a5b7ce5c0a79796800883644c389dc87f',1,'boot.php']]],
['zid_5finit',['zid_init',['../boot_8php.html#a680fbafc2db023c5b1309e0180e81315',1,'boot.php']]],
+ ['zidify_5fcallback',['zidify_callback',['../text_8php.html#a405afe814a23f3bd94d826101aa168ab',1,'text.php']]],
+ ['zidify_5flinks',['zidify_links',['../text_8php.html#a29988052f3944111def3b6aaf2c7a8f6',1,'text.php']]],
['zot_2ephp',['zot.php',['../zot_8php.html',1,'']]],
['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a3862b3161b2c8557dc1a95020179bd81',1,'zot.php']]],
['zot_5ffeed',['zot_feed',['../items_8php.html#a004e89d86b0f29b2c4da20108ecc4091',1,'items.php']]],
diff --git a/doc/html/search/functions_67.js b/doc/html/search/functions_67.js
index e336d97e9..e00306dc8 100644
--- a/doc/html/search/functions_67.js
+++ b/doc/html/search/functions_67.js
@@ -91,6 +91,7 @@ var searchData=
['group_5fcontent',['group_content',['../mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83',1,'group.php']]],
['group_5fget_5fmembers',['group_get_members',['../include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09',1,'group.php']]],
['group_5fpost',['group_post',['../mod_2group_8php.html#aed1f009b1221348021bb34761160ef35',1,'group.php']]],
+ ['group_5frec_5fbyhash',['group_rec_byhash',['../include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245',1,'group.php']]],
['group_5frmv',['group_rmv',['../include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5',1,'group.php']]],
['group_5frmv_5fmember',['group_rmv_member',['../include_2group_8php.html#a540e3ef36f47d47532646be4241f6518',1,'group.php']]],
['group_5fselect',['group_select',['../acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0',1,'acl_selectors.php']]],
diff --git a/doc/html/search/functions_6c.js b/doc/html/search/functions_6c.js
index 800b6563e..98b03208b 100644
--- a/doc/html/search/functions_6c.js
+++ b/doc/html/search/functions_6c.js
@@ -3,6 +3,7 @@ var searchData=
['lang_5fselector',['lang_selector',['../text_8php.html#a71f6952243d3fe1c5a8154f78027e29c',1,'text.php']]],
['legal_5fwebbie',['legal_webbie',['../text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728',1,'text.php']]],
['like_5fcontent',['like_content',['../like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538',1,'like.php']]],
+ ['limit_5fbody_5fsize',['limit_body_size',['../items_8php.html#af94c281016c6c912d06e064113336c5c',1,'items.php']]],
['link_5fcompare',['link_compare',['../text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285',1,'text.php']]],
['linkify',['linkify',['../text_8php.html#a11255c8c4e5245b6c24f97684826aa54',1,'text.php']]],
['load_5fconfig',['load_config',['../include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1',1,'config.php']]],
diff --git a/doc/html/search/functions_70.js b/doc/html/search/functions_70.js
index f88183efc..e25e980c5 100644
--- a/doc/html/search/functions_70.js
+++ b/doc/html/search/functions_70.js
@@ -36,6 +36,7 @@ var searchData=
['poller_5frun',['poller_run',['../poller_8php.html#a5f12df3a4738124b6c039971e87e76da',1,'poller.php']]],
['pop_5flang',['pop_lang',['../language_8php.html#a78bd204955ec4cc3a9ac651285a1689d',1,'language.php']]],
['populate_5facl',['populate_acl',['../acl__selectors_8php.html#a51f2ec7a143d5a5b38e35efd5f3d6e2c',1,'acl_selectors.php']]],
+ ['post_5factivity_5fitem',['post_activity_item',['../items_8php.html#a410f9c743877c125ca06312373346903',1,'items.php']]],
['post_5finit',['post_init',['../post_8php.html#af4b48181ce773ef0cdfc972441445c34',1,'post.php']]],
['post_5fpost',['post_post',['../post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75',1,'post.php']]],
['post_5furl',['post_url',['../include_2network_8php.html#aa44d9e33a579d930e9e79c4ebb3d6b5e',1,'network.php']]],
diff --git a/doc/html/search/functions_74.js b/doc/html/search/functions_74.js
index 7e69b42da..d8798101e 100644
--- a/doc/html/search/functions_74.js
+++ b/doc/html/search/functions_74.js
@@ -20,7 +20,7 @@ var searchData=
['theme_5fstatus',['theme_status',['../admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4',1,'admin.php']]],
['timesel',['timesel',['../datetime_8php.html#a36d3d6dff8d76b5f295bb3d9c535a5b1',1,'datetime.php']]],
['timezone_5fcmp',['timezone_cmp',['../datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865',1,'datetime.php']]],
- ['title_5fis_5fbody',['title_is_body',['../items_8php.html#a1f747db2277904f85ac7b9e64c024e4e',1,'items.php']]],
+ ['title_5fis_5fbody',['title_is_body',['../items_8php.html#aa371905f0a211b307cb3f7188c6cba04',1,'items.php']]],
['toggle_5fmobile_5finit',['toggle_mobile_init',['../toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254',1,'toggle_mobile.php']]],
['toggle_5ftheme',['toggle_theme',['../admin_8php.html#af81f081851791cd15e49e8ff6722dc27',1,'admin.php']]],
['tryoembed',['tryoembed',['../bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7',1,'bbcode.php']]],
diff --git a/doc/html/search/functions_7a.js b/doc/html/search/functions_7a.js
index 84070c839..b75748b61 100644
--- a/doc/html/search/functions_7a.js
+++ b/doc/html/search/functions_7a.js
@@ -10,6 +10,8 @@ var searchData=
['zfinger_5finit',['zfinger_init',['../zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0',1,'zfinger.php']]],
['zid',['zid',['../boot_8php.html#a5b7ce5c0a79796800883644c389dc87f',1,'boot.php']]],
['zid_5finit',['zid_init',['../boot_8php.html#a680fbafc2db023c5b1309e0180e81315',1,'boot.php']]],
+ ['zidify_5fcallback',['zidify_callback',['../text_8php.html#a405afe814a23f3bd94d826101aa168ab',1,'text.php']]],
+ ['zidify_5flinks',['zidify_links',['../text_8php.html#a29988052f3944111def3b6aaf2c7a8f6',1,'text.php']]],
['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a3862b3161b2c8557dc1a95020179bd81',1,'zot.php']]],
['zot_5ffeed',['zot_feed',['../items_8php.html#a004e89d86b0f29b2c4da20108ecc4091',1,'items.php']]],
['zot_5ffetch',['zot_fetch',['../zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea',1,'zot.php']]],
diff --git a/doc/html/search/variables_66.js b/doc/html/search/variables_66.js
index 0428e4aa6..e59a92a6b 100644
--- a/doc/html/search/variables_66.js
+++ b/doc/html/search/variables_66.js
@@ -4,7 +4,5 @@ var searchData=
['filename',['filename',['../namespacefriendica-to-smarty-tpl.html#a5f9bf7a67d955c0d6be70a82097611c5',1,'friendica-to-smarty-tpl']]],
['files',['files',['../namespacefriendica-to-smarty-tpl.html#ae74419b16516956c66f7db714a93a6ac',1,'friendica-to-smarty-tpl']]],
['fnull',['fnull',['../namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3',1,'updatetpl']]],
- ['foreach',['foreach',['../typo_8php.html#a3bb638ebb8472e4ee7c85afe721f4fe3',1,'typo.php']]],
- ['friendica_5fplatform',['FRIENDICA_PLATFORM',['../boot_8php.html#a7a27d05ec84f9eef2f06097e6b8892f3',1,'boot.php']]],
- ['friendica_5fversion',['FRIENDICA_VERSION',['../boot_8php.html#a78d5f284dc096b2a739c1fa47f22b7be',1,'boot.php']]]
+ ['foreach',['foreach',['../typo_8php.html#a3bb638ebb8472e4ee7c85afe721f4fe3',1,'typo.php']]]
];
diff --git a/doc/html/search/variables_72.js b/doc/html/search/variables_72.js
index 5fa4869a1..be2927ed5 100644
--- a/doc/html/search/variables_72.js
+++ b/doc/html/search/variables_72.js
@@ -3,6 +3,8 @@ var searchData=
['random_5fstring_5fhex',['RANDOM_STRING_HEX',['../text_8php.html#aad557c054cf2ed915633701018fc7e3f',1,'text.php']]],
['random_5fstring_5ftext',['RANDOM_STRING_TEXT',['../text_8php.html#a2ffd79c60cc87cec24ef76447b905187',1,'text.php']]],
['rdelim',['rdelim',['../namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b',1,'friendica-to-smarty-tpl']]],
+ ['red_5fplatform',['RED_PLATFORM',['../boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4',1,'boot.php']]],
+ ['red_5fversion',['RED_VERSION',['../boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3',1,'boot.php']]],
['register_5fapprove',['REGISTER_APPROVE',['../boot_8php.html#a7176c0f9f1c98421b97735d892cf6252',1,'boot.php']]],
['register_5fclosed',['REGISTER_CLOSED',['../boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1',1,'boot.php']]],
['register_5fopen',['REGISTER_OPEN',['../boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63',1,'boot.php']]],
diff --git a/doc/html/text_8php.html b/doc/html/text_8php.html
index 3df149bcd..f6328a4ba 100644
--- a/doc/html/text_8php.html
+++ b/doc/html/text_8php.html
@@ -197,6 +197,10 @@ Functions
prepare_text ($text, $content_type= 'text/bbcode ')
+ zidify_callback ($match)
+
+ zidify_links ($s)
+
feed_hublinks ()
feed_salmonlinks ($nick)
@@ -443,7 +447,7 @@ Variables
-
Referenced by aes_unencapsulate() , get_atom_elements() , import_post() , import_xchan() , oembed_init() , pemtome() , post_post() , pubrsatome() , smile_decode() , and zfinger_init() .
+
Referenced by aes_unencapsulate() , get_atom_elements() , import_post() , import_xchan() , oembed_init() , pemtome() , post_init() , post_post() , pubrsatome() , smile_decode() , and zfinger_init() .
@@ -1255,7 +1259,7 @@ Variables
-
Referenced by event_store() , item_post() , like_content() , mood_init() , photo_upload() , photos_create_item() , photos_post() , poke_init() , profile_activity() , subthread_content() , and tagger_content() .
+
Referenced by event_store() , item_post() , like_content() , mood_init() , photo_upload() , photos_create_item() , photos_post() , poke_init() , post_activity_item() , profile_activity() , subthread_content() , and tagger_content() .
@@ -1410,7 +1414,7 @@ Variables
-
Referenced by account_verify_password() , Item\add_child() , Conversation\add_thread() , allowed_public_recips() , api_call() , api_export_basic() , api_favorites() , api_get_user() , api_login() , 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() , channel_remove() , chanview_content() , check_config() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , consume_feed() , create_account() , create_identity() , crepair_post() , cronhooks_run() , datetime_convert() , delete_imported_item() , deliver_run() , detect_language() , dfrn_deliver() , directory_content() , directory_run() , display_content() , email_send() , encode_item() , encode_mail() , expire_run() , feed_init() , fetch_lrdd_template() , fetch_xrd_links() , filer_content() , filerm_content() , fix_private_photos() , Conversation\get_template_data() , group_content() , guess_image_type() , http_status_exit() , import_author_xchan() , import_channel_photo() , import_directory_profile() , import_post() , import_profile_photo() , import_xchan() , item_expire() , item_post() , item_store() , item_store_update() , like_content() , local_delivery() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_token() , lrdd() , mail_store() , message_content() , message_post() , mini_group_select() , mood_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_keypair() , FKOAuthDataStore\new_request_token() , notification() , notifier_run() , onepoll_run() , parse_url_content() , parse_xml_string() , photo_upload() , photos_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , post_init() , post_post() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_load() , dba\q() , q() , queue_run() , redir_init() , register_content() , Item\remove_child() , 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() , update_imported_item() , update_queue_time() , webfinger() , webfinger_dfrn() , xml2array() , xml_status() , zfinger_init() , zot_build_packet() , zot_fetch() , zot_finger() , zot_gethub() , zot_import() , zot_process_response() , zot_refresh() , and zot_register_hub() .
+
Referenced by account_verify_password() , Item\add_child() , Conversation\add_thread() , allowed_public_recips() , api_call() , api_export_basic() , api_favorites() , api_get_user() , api_login() , 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() , channel_remove() , chanview_content() , check_config() , check_form_security_token_ForbiddenOnErr() , check_form_security_token_redirectOnErr() , consume_feed() , create_account() , create_identity() , crepair_post() , cronhooks_run() , datetime_convert() , delete_imported_item() , deliver_run() , detect_language() , dfrn_deliver() , directory_content() , directory_run() , display_content() , email_send() , encode_item() , encode_mail() , expire_run() , feed_init() , fetch_lrdd_template() , fetch_xrd_links() , filer_content() , filerm_content() , fix_private_photos() , Conversation\get_template_data() , group_content() , guess_image_type() , http_status_exit() , import_author_xchan() , import_channel_photo() , import_directory_profile() , import_post() , import_profile_photo() , import_xchan() , item_expire() , item_post() , item_store() , item_store_update() , like_content() , limit_body_size() , local_delivery() , FKOAuth1\loginUser() , FKOAuthDataStore\lookup_consumer() , FKOAuthDataStore\lookup_token() , lrdd() , mail_store() , message_content() , message_post() , mini_group_select() , mood_init() , FKOAuthDataStore\new_access_token() , new_contact() , new_keypair() , FKOAuthDataStore\new_request_token() , notification() , notifier_run() , onepoll_run() , parse_url_content() , parse_xml_string() , photo_upload() , photos_post() , ping_init() , poco_init() , poco_load() , poke_init() , poller_run() , post_init() , post_post() , process_delivery() , process_mail_delivery() , process_profile_delivery() , profile_load() , dba\q() , q() , queue_run() , redir_init() , register_content() , Item\remove_child() , 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() , update_imported_item() , update_queue_time() , webfinger() , webfinger_dfrn() , xml2array() , xml_status() , zfinger_init() , zot_build_packet() , zot_fetch() , zot_finger() , zot_gethub() , zot_import() , zot_process_response() , zot_refresh() , and zot_register_hub() .
@@ -2317,6 +2321,40 @@ Variables
Referenced by array_xmlify() , atom_author() , atom_entry() , construct_activity_object() , construct_activity_target() , encode_rel_links() , get_atom_elements() , get_feed_for() , item_getfeedattach() , photos_post() , poke_init() , subthread_content() , tagger_content() , and xml_status() .
+
+
+
+
+
+
+
+ zidify_callback
+ (
+
+ $match )
+
+
+
+
+
+
+
+
+
+
+ zidify_links
+ (
+
+ $s )
+
+
+
+
+
diff --git a/doc/html/text_8php.js b/doc/html/text_8php.js
index 1f50904ed..272ead987 100644
--- a/doc/html/text_8php.js
+++ b/doc/html/text_8php.js
@@ -87,6 +87,8 @@ var text_8php =
[ "xchan_mail_query", "text_8php.html#a543447c5ed766535221e2d9636b379ee", null ],
[ "xchan_query", "text_8php.html#a24b2b69b9162da789ab6514e0e09a37c", null ],
[ "xmlify", "text_8php.html#aaed4413ed8918838b517e3b2fafaea0d", null ],
+ [ "zidify_callback", "text_8php.html#a405afe814a23f3bd94d826101aa168ab", null ],
+ [ "zidify_links", "text_8php.html#a29988052f3944111def3b6aaf2c7a8f6", null ],
[ "RANDOM_STRING_HEX", "text_8php.html#aad557c054cf2ed915633701018fc7e3f", null ],
[ "RANDOM_STRING_TEXT", "text_8php.html#a2ffd79c60cc87cec24ef76447b905187", null ]
];
\ No newline at end of file
diff --git a/include/api.php b/include/api.php
index 3f01b90af..ca43abcce 100644
--- a/include/api.php
+++ b/include/api.php
@@ -991,7 +991,7 @@ require_once('include/security.php');
if(perm_is_allowed($r[0]['uid'],$observer['xchan_hash'],'view_stream')) {
if ($r[0]['body'] != "") {
- $_REQUEST['body'] = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8')."[url=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/url] \n".$r[0]['body'];
+ $_REQUEST['body'] = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8')."[zrl=".$r[0]['reply_url']."]".$r[0]['reply_author']."[/zrl] \n".$r[0]['body'];
$_REQUEST['profile_uid'] = api_user();
$_REQUEST['type'] = 'wall';
$_REQUEST['api_source'] = true;
@@ -1524,7 +1524,7 @@ require_once('include/security.php');
$name = get_config('system','sitename');
$server = $a->get_hostname();
- $logo = $a->get_baseurl() . '/images/fred-64.png';
+ $logo = $a->get_baseurl() . '/images/r!.png';
$email = get_config('system','admin_email');
$closed = ((get_config('system','register_policy') == REGISTER_CLOSED) ? 'true' : 'false');
$private = ((get_config('system','block_public')) ? 'true' : 'false');
@@ -1541,8 +1541,8 @@ require_once('include/security.php');
'private' => $private, 'textlimit' => $textlimit, 'sslserver' => $sslserver, 'ssl' => $ssl,
'shorturllength' => '30',
'friendica' => array(
- 'FRIENDICA_PLATFORM' => FRIENDICA_PLATFORM,
- 'FRIENDICA_VERSION' => FRIENDICA_VERSION,
+ 'RED_PLATFORM' => RED_PLATFORM,
+ 'RED_VERSION' => RED_VERSION,
'ZOT_REVISION' => ZOT_REVISION,
'DB_UPDATE_VERSION' => DB_UPDATE_VERSION
)
@@ -1577,12 +1577,12 @@ require_once('include/security.php');
if($type === 'xml') {
header("Content-type: application/xml");
- echo '' . "\r\n" . '' . FRIENDICA_VERSION . ' ' . "\r\n";
+ echo '' . "\r\n" . '' . RED_VERSION . ' ' . "\r\n";
killme();
}
elseif($type === 'json') {
header("Content-type: application/json");
- echo '"' . FRIENDICA_VERSION . '"';
+ echo '"' . RED_VERSION . '"';
killme();
}
}
diff --git a/include/bbcode.php b/include/bbcode.php
index 82d25ffc8..44bde9acb 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -199,7 +199,7 @@ function bb_ShareAttributesSimple($match) {
}
// BBcode 2 HTML was written by WAY2WEB.net
- // extended to work with Mistpark/Friendica - Mike Macgirvin
+ // extended to work with Mistpark/Friendica/Red - Mike Macgirvin
function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
@@ -263,21 +263,24 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Perform URL Search
- $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1$2 ', $Text);
+ $urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]';
- if ($tryoembed)
- $Text = preg_replace_callback("/\[bookmark\=([^\]]*)\].*?\[\/bookmark\]/ism",'tryoembed',$Text);
- $Text = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",'[url=$1]$2[/url]',$Text);
+ $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/$urlchars+)/ism", '$1$2 ', $Text);
+
+// $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/$urlchars+)\{zid\}($urlchars*)/ism", '$1$2$3 ', $Text);
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
- if ($tryoembed)
+ if($tryoembed)
$Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism",'tryoembed',$Text);
$Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '$1 ', $Text);
$Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '$2 ', $Text);
- //$Text = preg_replace("/\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[\/url\]/ism", '$2 ', $Text);
+
+
+ $Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '$1 ', $Text);
+ $Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '$2 ', $Text);
// Perform MAIL Search
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '$1 ', $Text);
diff --git a/include/enotify.php b/include/enotify.php
index c24c15188..b742b17f4 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -34,7 +34,7 @@ function notification($params) {
push_lang($recip['account_language']); // should probably have a channel language
$banner = t('Red Notification');
- $product = FRIENDICA_PLATFORM;
+ $product = RED_PLATFORM;
$siteurl = $a->get_baseurl(true);
$thanks = t('Thank You,');
$sitename = get_config('system','sitename');
@@ -66,7 +66,7 @@ function notification($params) {
$subject = sprintf( t('[Red:Notify] New mail received at %s'),$sitename);
$preamble = sprintf( t('%1$s sent you a new private message at %2$s.'),$sender['xchan_name'],$sitename);
- $epreamble = sprintf( t('%1$s sent you %2$s.'),'[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]', '[url=$itemlink]' . t('a private message') . '[/url]');
+ $epreamble = sprintf( t('%1$s sent you %2$s.'),'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a private message') . '[/zrl]');
$sitelink = t('Please visit %s to view and/or reply to your private messages.');
$tsitelink = sprintf( $sitelink, $siteurl . '/message/' . $params['item']['id'] );
$hsitelink = sprintf( $sitelink, '' . $sitename . ' ');
@@ -111,23 +111,23 @@ function notification($params) {
//$possess_desc = str_replace('',$possess_desc);
// "a post"
- $dest_str = sprintf(t('%1$s commented on [url=%2$s]a %3$s[/url]'),
+ $dest_str = sprintf(t('%1$s commented on [zrl=%2$s]a %3$s[/zrl]'),
'[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
$itemlink,
$item_post_type);
// "George Bull's post"
if($p)
- $dest_str = sprintf(t('%1$s commented on [url=%2$s]%3$s\'s %4$s[/url]'),
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $dest_str = sprintf(t('%1$s commented on [zrl=%2$s]%3$s\'s %4$s[/zrl]'),
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink,
$p[0]['author']['xchan_name'],
$item_post_type);
// "your post"
if($p[0]['owner']['xchan_name'] == $p[0]['author']['xchan_name'] && ($p[0]['item_flags'] & ITEM_WALL))
- $dest_str = sprintf(t('%1$s commented on [url=%2$s]your %3$s[/url]'),
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $dest_str = sprintf(t('%1$s commented on [zrl=%2$s]your %3$s[/zrl]'),
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink,
$item_post_type);
@@ -151,8 +151,8 @@ function notification($params) {
$preamble = sprintf( t('%1$s posted to your profile wall at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s posted to [url=%2$s]your wall[/url]') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s posted to [zrl=%2$s]your wall[/zrl]') ,
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
@@ -164,8 +164,8 @@ function notification($params) {
if($params['type'] == NOTIFY_TAGSELF) {
$subject = sprintf( t('[Red:Notify] %s tagged you') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s tagged you at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s [url=%2$s]tagged you[/url].') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s [zrl=%2$s]tagged you[/zrl].') ,
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
@@ -178,8 +178,8 @@ function notification($params) {
$subject = sprintf( t('[Red:Notify] %1$s poked you') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s poked you at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s [url=%2$s]poked you[/url].') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s [zrl=%2$s]poked you[/zrl].') ,
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
$subject = str_replace('poked', t($params['activity']), $subject);
@@ -195,8 +195,8 @@ function notification($params) {
if($params['type'] == NOTIFY_TAGSHARE) {
$subject = sprintf( t('[Red:Notify] %s tagged your post') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s tagged your post at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s tagged [url=%2$s]your post[/url]') ,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]',
+ $epreamble = sprintf( t('%1$s tagged [zrl=%2$s]your post[/zrl]') ,
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink);
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
@@ -208,9 +208,9 @@ function notification($params) {
if($params['type'] == NOTIFY_INTRO) {
$subject = sprintf( t('[Red:Notify] Introduction received'));
$preamble = sprintf( t('You\'ve received an introduction from \'%1$s\' at %2$s'), $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('You\'ve received [url=%1$s]an introduction[/url] from %2$s.'),
+ $epreamble = sprintf( t('You\'ve received [zrl=%1$s]an introduction[/zrl] from %2$s.'),
$itemlink,
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]');
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]');
$body = sprintf( t('You may visit their profile at %s'),$sender['xchan_url']);
$sitelink = t('Please visit %s to approve or reject the introduction.');
@@ -222,10 +222,10 @@ function notification($params) {
if($params['type'] == NOTIFY_SUGGEST) {
$subject = sprintf( t('[Red:Notify] Friend suggestion received'));
$preamble = sprintf( t('You\'ve received a friend suggestion from \'%1$s\' at %2$s'), $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('You\'ve received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s.'),
+ $epreamble = sprintf( t('You\'ve received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s.'),
$itemlink,
- '[url=' . $params['item']['url'] . ']' . $params['item']['name'] . '[/url]',
- '[url=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/url]');
+ '[zrl=' . $params['item']['url'] . ']' . $params['item']['name'] . '[/zrl]',
+ '[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]');
$body = t('Name:') . ' ' . $params['item']['name'] . "\n";
$body .= t('Photo:') . ' ' . $params['item']['photo'] . "\n";
diff --git a/include/features.php b/include/features.php
index 14cf891b3..c2aabbc42 100644
--- a/include/features.php
+++ b/include/features.php
@@ -23,6 +23,8 @@ function get_features() {
array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles')),
array('webpages', t('Web Pages'), t('Provide managed web pages on your channel')),
array('prettyphoto', t('Enhanced Photo Albums'), t('Enable photo album with enhanced features')),
+ //FIXME - needs a description, but how the hell do we explain this to normals?
+ array('sendzid', t('Extended Identity Sharing'), t(' ')),
array('expert', t('Expert Mode'), t('Enable Expert Mode to provide advanced configuration options')),
diff --git a/include/identity.php b/include/identity.php
index 2b7085e85..c8910c018 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -257,7 +257,7 @@ function identity_basic_export($channel_id) {
$ret = array();
- $ret['compatibility'] = array('project' => FRIENDICA_PLATFORM, 'version' => FRIENDICA_VERSION, 'database' => DB_UPDATE_VERSION);
+ $ret['compatibility'] = array('project' => RED_PLATFORM, 'version' => RED_VERSION, 'database' => DB_UPDATE_VERSION);
$r = q("select * from channel where channel_id = %d limit 1",
intval($channel_id)
diff --git a/include/items.php b/include/items.php
index 27213b9d2..034d27256 100755
--- a/include/items.php
+++ b/include/items.php
@@ -299,7 +299,7 @@ function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0)
$salmon = feed_salmonlinks($owner_nick);
$atom .= replace_macros($feed_template, array(
- '$version' => xmlify(FRIENDICA_VERSION),
+ '$version' => xmlify(RED_VERSION),
'$feed_id' => xmlify($a->get_baseurl() . '/channel/' . $owner_nick),
'$feed_title' => xmlify($owner['name']),
'$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now' , ATOM_TIME)) ,
@@ -1918,7 +1918,7 @@ function tag_deliver($uid,$item_id) {
$body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
- $pattern = '/@\[url\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/url\]/';
+ $pattern = '/@\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($u[0]['channel_name'],'/') . '\[\/zrl\]/';
if(! preg_match($pattern,$body,$matches)) {
logger('tag_deliver: mention was in a reshare - ignoring');
@@ -2012,7 +2012,7 @@ function tgroup_check($uid,$item) {
$body = preg_replace("/\[share\](.*?)\[\/share\]/ism", '', $item['body']);
- $cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
+ $cnt = preg_match_all('/[\@\!]\[zrl\=(.*?)\](.*?)\[\/zrl\]/ism',$body,$matches,PREG_SET_ORDER);
if($cnt) {
foreach($matches as $mtch) {
if(link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) {
@@ -2504,7 +2504,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
*/
$bdtext = sprintf( t('%s\'s birthday'), $contact['name']);
- $bdtext2 = sprintf( t('Happy Birthday %s'), ' [url=' . $contact['url'] . ']' . $contact['name'] . '[/url]' ) ;
+ $bdtext2 = sprintf( t('Happy Birthday %s'), ' [zrl=' . $contact['url'] . ']' . $contact['name'] . '[/zrl]' ) ;
$r = q("INSERT INTO `event` (`uid`,`cid`,`created`,`edited`,`start`,`finish`,`summary`,`desc`,`type`)
@@ -2752,7 +2752,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
// extract tag, if not duplicate, add to parent item
if($xo->id && $xo->content) {
- $newtag = '#[url=' . $xo->id . ']'. $xo->content . '[/url]';
+ $newtag = '#[zrl=' . $xo->id . ']'. $xo->content . '[/zrl]';
if(! (stristr($r[0]['tag'],$newtag))) {
q("UPDATE item SET tag = '%s' WHERE id = %d LIMIT 1",
dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . $newtag),
@@ -3535,7 +3535,7 @@ function local_delivery($importer,$data) {
// extract tag, if not duplicate, and this user allows tags, add to parent item
//FIXME
if($xo->id && $xo->content) {
- $newtag = '#[url=' . $xo->id . ']'. $xo->content . '[/url]';
+ $newtag = '#[zrl=' . $xo->id . ']'. $xo->content . '[/zrl]';
if(! (stristr($tagp[0]['tag'],$newtag))) {
$i = q("SELECT `blocktags` FROM `user` where `uid` = %d LIMIT 1",
intval($importer['importer_uid'])
@@ -3687,7 +3687,7 @@ function local_delivery($importer,$data) {
if($xo->content) {
if(! (stristr($r[0]['tag'],trim($xo->content)))) {
q("UPDATE item SET tag = '%s' WHERE id = %d LIMIT 1",
- dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . '#[url=' . $xo->id . ']'. $xo->content . '[/url]'),
+ dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . '#[zrl=' . $xo->id . ']'. $xo->content . '[/zrl]'),
intval($r[0]['id'])
);
}
diff --git a/include/nav.php b/include/nav.php
index 5e5243f67..049009ad3 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -192,7 +192,6 @@ EOT;
$banner = get_config('system','banner');
if($banner === false)
-// $banner .= ' ';
$banner = 'red';
$tpl = get_markup_template('nav.tpl');
diff --git a/include/network.php b/include/network.php
index 427519c7a..d3e6480d6 100644
--- a/include/network.php
+++ b/include/network.php
@@ -38,8 +38,7 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_
}
@curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
- //@curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
- @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Friendica)");
+ @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Red)");
if(intval($timeout)) {
@@ -124,7 +123,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
- curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
+ curl_setopt($ch, CURLOPT_USERAGENT, "Red");
if(intval($timeout)) {
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
@@ -240,7 +239,7 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
@curl_setopt($ch, CURLOPT_CAINFO, get_capath());
@curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
- @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Friendica Red)");
+ @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Red)");
if (x($opts,'accept_content')){
curl_setopt($ch,CURLOPT_HTTPHEADER, array (
@@ -335,7 +334,7 @@ function z_post_url($url,$params, $headers = null, $redirects = 0, $timeout = 0)
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
- curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
+ curl_setopt($ch, CURLOPT_USERAGENT, "Red");
if(intval($timeout)) {
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
@@ -1094,7 +1093,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
$s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $scaled . '[/img]'
. "\n" . (($include_link)
- ? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n"
+ ? '[zrl=' . $mtch[1] . ']' . t('view full size') . '[/zrl]' . "\n"
: ''),$s);
logger('scale_external_images: new string: ' . $s, LOGGER_DEBUG);
}
diff --git a/include/photos.php b/include/photos.php
index e0d1762bb..123cd0659 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -208,9 +208,9 @@ function photo_upload($channel, $observer, $args) {
$arr['deny_gid'] = $str_group_deny;
- $arr['body'] = '[url=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
+ $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
. '[img]' . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/img]'
- . '[/url]';
+ . '[/zrl]';
$item_id = item_store($arr);
@@ -350,9 +350,9 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
$arr['deny_cid'] = $photo['deny_cid'];
$arr['deny_gid'] = $photo['deny_gid'];
- $arr['body'] = '[url=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']'
+ $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']'
. '[img]' . z_root() . '/photo/' . $photo['resource_id'] . '-' . $photo['scale'] . '[/img]'
- . '[/url]';
+ . '[/zrl]';
$item_id = item_store($arr);
return $item_id;
diff --git a/include/plugin.php b/include/plugin.php
index 281488791..c906d5e58 100644
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -397,7 +397,7 @@ function upgrade_link($bbcode = false) {
if(! $l)
return '';
if($bbcode)
- $t = sprintf('[url=%s]' . t('Click here to upgrade.') . '[/url]', $l);
+ $t = sprintf('[zrl=%s]' . t('Click here to upgrade.') . '[/zrl]', $l);
else
$t = sprintf('' . t('Click here to upgrade.') . '', $l);
return $t;
diff --git a/include/text.php b/include/text.php
index a8d91fade..c7210010c 100644
--- a/include/text.php
+++ b/include/text.php
@@ -1108,6 +1108,7 @@ function prepare_text($text,$content_type = 'text/bbcode') {
$s = bbcode($text);
else
$s = smilies(bbcode($text));
+ $s = zidify_links($s);
break;
}
@@ -1115,6 +1116,42 @@ function prepare_text($text,$content_type = 'text/bbcode') {
}
+/**
+ * zidify_callback() and zidify_links() work together to turn any HTML a tags with class="zrl" into zid links
+ * These will typically be generated by a bbcode '[zrl]' tag. This is done inside prepare_text() rather than bbcode()
+ * because the latter is used for general purpose conversions and the former is used only when preparing text for
+ * immediate display.
+ *
+ * Issues: Currently the order of HTML parameters in the text is somewhat rigid and inflexible.
+ * We assume it looks like and will not work if zrl and href appear in a different order.
+ */
+
+
+function zidify_callback($match) {
+ if (feature_enabled(local_user(),'sendzid')) {
+ $replace = ' ", { size: 1 } ).attr("size") && jQuery.attrFn,
+ oldAttr = jQuery.attr,
+ valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
+ function() { return null; },
+ valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
+ function() { return undefined; },
+ rnoType = /^(?:input|button)$/i,
+ rnoAttrNodeType = /^[238]$/,
+ rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
+ ruseDefault = /^(?:checked|selected)$/i;
+
+// jQuery.attrFn
+migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
+
+jQuery.attr = function( elem, name, value, pass ) {
+ var lowerName = name.toLowerCase(),
+ nType = elem && elem.nodeType;
+
+ if ( pass ) {
+ // Since pass is used internally, we only warn for new jQuery
+ // versions where there isn't a pass arg in the formal params
+ if ( oldAttr.length < 4 ) {
+ migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
+ }
+ if ( elem && !rnoAttrNodeType.test( nType ) &&
+ (attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
+ return jQuery( elem )[ name ]( value );
+ }
+ }
+
+ // Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
+ // for disconnected elements we don't warn on $( "", { type: "button" } ).
+ if ( name === "type" && value !== undefined && rnoType.test( elem.nodeName ) && elem.parentNode ) {
+ migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");
+ }
+
+ // Restore boolHook for boolean property/attribute synchronization
+ if ( !jQuery.attrHooks[ lowerName ] && rboolean.test( lowerName ) ) {
+ jQuery.attrHooks[ lowerName ] = {
+ get: function( elem, name ) {
+ // Align boolean attributes with corresponding properties
+ // Fall back to attribute presence where some booleans are not supported
+ var attrNode,
+ property = jQuery.prop( elem, name );
+ return property === true || typeof property !== "boolean" &&
+ ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
+
+ name.toLowerCase() :
+ undefined;
+ },
+ set: function( elem, value, name ) {
+ var propName;
+ if ( value === false ) {
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ // value is true since we know at this point it's type boolean and not false
+ // Set boolean attributes to the same name and set the DOM property
+ propName = jQuery.propFix[ name ] || name;
+ if ( propName in elem ) {
+ // Only set the IDL specifically if it already exists on the element
+ elem[ propName ] = true;
+ }
+
+ elem.setAttribute( name, name.toLowerCase() );
+ }
+ return name;
+ }
+ };
+
+ // Warn only for attributes that can remain distinct from their properties post-1.9
+ if ( ruseDefault.test( lowerName ) ) {
+ migrateWarn( "jQuery.fn.attr('" + lowerName + "') may use property instead of attribute" );
+ }
+ }
+
+ return oldAttr.call( jQuery, elem, name, value );
+};
+
+// attrHooks: value
+jQuery.attrHooks.value = {
+ get: function( elem, name ) {
+ var nodeName = ( elem.nodeName || "" ).toLowerCase();
+ if ( nodeName === "button" ) {
+ return valueAttrGet.apply( this, arguments );
+ }
+ if ( nodeName !== "input" && nodeName !== "option" ) {
+ migrateWarn("jQuery.fn.attr('value') no longer gets properties");
+ }
+ return name in elem ?
+ elem.value :
+ null;
+ },
+ set: function( elem, value ) {
+ var nodeName = ( elem.nodeName || "" ).toLowerCase();
+ if ( nodeName === "button" ) {
+ return valueAttrSet.apply( this, arguments );
+ }
+ if ( nodeName !== "input" && nodeName !== "option" ) {
+ migrateWarn("jQuery.fn.attr('value', val) no longer sets properties");
+ }
+ // Does not return so that setAttribute is also used
+ elem.value = value;
+ }
+};
+
+
+var matched, browser,
+ oldInit = jQuery.fn.init,
+ oldParseJSON = jQuery.parseJSON,
+ // Note this does NOT include the #9521 XSS fix from 1.7!
+ rquickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*|#([\w\-]*))$/;
+
+// $(html) "looks like html" rule change
+jQuery.fn.init = function( selector, context, rootjQuery ) {
+ var match;
+
+ if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
+ (match = rquickExpr.exec( selector )) && match[1] ) {
+ // This is an HTML string according to the "old" rules; is it still?
+ if ( selector.charAt( 0 ) !== "<" ) {
+ migrateWarn("$(html) HTML strings must start with '<' character");
+ }
+ // Now process using loose rules; let pre-1.8 play too
+ if ( context && context.context ) {
+ // jQuery object as context; parseHTML expects a DOM object
+ context = context.context;
+ }
+ if ( jQuery.parseHTML ) {
+ return oldInit.call( this, jQuery.parseHTML( jQuery.trim(selector), context, true ),
+ context, rootjQuery );
+ }
+ }
+ return oldInit.apply( this, arguments );
+};
+jQuery.fn.init.prototype = jQuery.fn;
+
+// Let $.parseJSON(falsy_value) return null
+jQuery.parseJSON = function( json ) {
+ if ( !json && json !== null ) {
+ migrateWarn("jQuery.parseJSON requires a valid JSON string");
+ return null;
+ }
+ return oldParseJSON.apply( this, arguments );
+};
+
+jQuery.uaMatch = function( ua ) {
+ ua = ua.toLowerCase();
+
+ var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
+ /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
+ /(msie) ([\w.]+)/.exec( ua ) ||
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
+ [];
+
+ return {
+ browser: match[ 1 ] || "",
+ version: match[ 2 ] || "0"
+ };
+};
+
+// Don't clobber any existing jQuery.browser in case it's different
+if ( !jQuery.browser ) {
+ matched = jQuery.uaMatch( navigator.userAgent );
+ browser = {};
+
+ if ( matched.browser ) {
+ browser[ matched.browser ] = true;
+ browser.version = matched.version;
+ }
+
+ // Chrome is Webkit, but Webkit is also Safari.
+ if ( browser.chrome ) {
+ browser.webkit = true;
+ } else if ( browser.webkit ) {
+ browser.safari = true;
+ }
+
+ jQuery.browser = browser;
+}
+
+// Warn if the code tries to get jQuery.browser
+migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" );
+
+jQuery.sub = function() {
+ function jQuerySub( selector, context ) {
+ return new jQuerySub.fn.init( selector, context );
+ }
+ jQuery.extend( true, jQuerySub, this );
+ jQuerySub.superclass = this;
+ jQuerySub.fn = jQuerySub.prototype = this();
+ jQuerySub.fn.constructor = jQuerySub;
+ jQuerySub.sub = this.sub;
+ jQuerySub.fn.init = function init( selector, context ) {
+ if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
+ context = jQuerySub( context );
+ }
+
+ return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
+ };
+ jQuerySub.fn.init.prototype = jQuerySub.fn;
+ var rootjQuerySub = jQuerySub(document);
+ migrateWarn( "jQuery.sub() is deprecated" );
+ return jQuerySub;
+};
+
+
+// Ensure that $.ajax gets the new parseJSON defined in core.js
+jQuery.ajaxSetup({
+ converters: {
+ "text json": jQuery.parseJSON
+ }
+});
+
+
+var oldFnData = jQuery.fn.data;
+
+jQuery.fn.data = function( name ) {
+ var ret, evt,
+ elem = this[0];
+
+ // Handles 1.7 which has this behavior and 1.8 which doesn't
+ if ( elem && name === "events" && arguments.length === 1 ) {
+ ret = jQuery.data( elem, name );
+ evt = jQuery._data( elem, name );
+ if ( ( ret === undefined || ret === evt ) && evt !== undefined ) {
+ migrateWarn("Use of jQuery.fn.data('events') is deprecated");
+ return evt;
+ }
+ }
+ return oldFnData.apply( this, arguments );
+};
+
+
+var rscriptType = /\/(java|ecma)script/i,
+ oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
+
+jQuery.fn.andSelf = function() {
+ migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");
+ return oldSelf.apply( this, arguments );
+};
+
+// Since jQuery.clean is used internally on older versions, we only shim if it's missing
+if ( !jQuery.clean ) {
+ jQuery.clean = function( elems, context, fragment, scripts ) {
+ // Set context per 1.8 logic
+ context = context || document;
+ context = !context.nodeType && context[0] || context;
+ context = context.ownerDocument || context;
+
+ migrateWarn("jQuery.clean() is deprecated");
+
+ var i, elem, handleScript, jsTags,
+ ret = [];
+
+ jQuery.merge( ret, jQuery.buildFragment( elems, context ).childNodes );
+
+ // Complex logic lifted directly from jQuery 1.8
+ if ( fragment ) {
+ // Special handling of each script element
+ handleScript = function( elem ) {
+ // Check if we consider it executable
+ if ( !elem.type || rscriptType.test( elem.type ) ) {
+ // Detach the script and store it in the scripts array (if provided) or the fragment
+ // Return truthy to indicate that it has been handled
+ return scripts ?
+ scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
+ fragment.appendChild( elem );
+ }
+ };
+
+ for ( i = 0; (elem = ret[i]) != null; i++ ) {
+ // Check if we're done after handling an executable script
+ if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
+ // Append to fragment and handle embedded scripts
+ fragment.appendChild( elem );
+ if ( typeof elem.getElementsByTagName !== "undefined" ) {
+ // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
+ jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
+
+ // Splice the scripts into ret after their former ancestor and advance our index beyond them
+ ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
+ i += jsTags.length;
+ }
+ }
+ }
+ }
+
+ return ret;
+ };
+}
+
+var eventAdd = jQuery.event.add,
+ eventRemove = jQuery.event.remove,
+ eventTrigger = jQuery.event.trigger,
+ oldToggle = jQuery.fn.toggle,
+ oldLive = jQuery.fn.live,
+ oldDie = jQuery.fn.die,
+ ajaxEvents = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
+ rajaxEvent = new RegExp( "\\b(?:" + ajaxEvents + ")\\b" ),
+ rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
+ hoverHack = function( events ) {
+ if ( typeof( events ) !== "string" || jQuery.event.special.hover ) {
+ return events;
+ }
+ if ( rhoverHack.test( events ) ) {
+ migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");
+ }
+ return events && events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
+ };
+
+// Event props removed in 1.9, put them back if needed; no practical way to warn them
+if ( jQuery.event.props && jQuery.event.props[ 0 ] !== "attrChange" ) {
+ jQuery.event.props.unshift( "attrChange", "attrName", "relatedNode", "srcElement" );
+}
+
+// Undocumented jQuery.event.handle was "deprecated" in jQuery 1.7
+if ( jQuery.event.dispatch ) {
+ migrateWarnProp( jQuery.event, "handle", jQuery.event.dispatch, "jQuery.event.handle is undocumented and deprecated" );
+}
+
+// Support for 'hover' pseudo-event and ajax event warnings
+jQuery.event.add = function( elem, types, handler, data, selector ){
+ if ( elem !== document && rajaxEvent.test( types ) ) {
+ migrateWarn( "AJAX events should be attached to document: " + types );
+ }
+ eventAdd.call( this, elem, hoverHack( types || "" ), handler, data, selector );
+};
+jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
+ eventRemove.call( this, elem, hoverHack( types ) || "", handler, selector, mappedTypes );
+};
+
+jQuery.fn.error = function() {
+ var args = Array.prototype.slice.call( arguments, 0);
+ migrateWarn("jQuery.fn.error() is deprecated");
+ args.splice( 0, 0, "error" );
+ if ( arguments.length ) {
+ return this.bind.apply( this, args );
+ }
+ // error event should not bubble to window, although it does pre-1.7
+ this.triggerHandler.apply( this, args );
+ return this;
+};
+
+jQuery.fn.toggle = function( fn, fn2 ) {
+
+ // Don't mess with animation or css toggles
+ if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
+ return oldToggle.apply( this, arguments );
+ }
+ migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");
+
+ // Save reference to arguments for access in closure
+ var args = arguments,
+ guid = fn.guid || jQuery.guid++,
+ i = 0,
+ toggler = function( event ) {
+ // Figure out which function to execute
+ var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+ jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+ // Make sure that clicks stop
+ event.preventDefault();
+
+ // and execute the function
+ return args[ lastToggle ].apply( this, arguments ) || false;
+ };
+
+ // link all the functions, so any of them can unbind this click handler
+ toggler.guid = guid;
+ while ( i < args.length ) {
+ args[ i++ ].guid = guid;
+ }
+
+ return this.click( toggler );
+};
+
+jQuery.fn.live = function( types, data, fn ) {
+ migrateWarn("jQuery.fn.live() is deprecated");
+ if ( oldLive ) {
+ return oldLive.apply( this, arguments );
+ }
+ jQuery( this.context ).on( types, this.selector, data, fn );
+ return this;
+};
+
+jQuery.fn.die = function( types, fn ) {
+ migrateWarn("jQuery.fn.die() is deprecated");
+ if ( oldDie ) {
+ return oldDie.apply( this, arguments );
+ }
+ jQuery( this.context ).off( types, this.selector || "**", fn );
+ return this;
+};
+
+// Turn global events into document-triggered events
+jQuery.event.trigger = function( event, data, elem, onlyHandlers ){
+ if ( !elem && !rajaxEvent.test( event ) ) {
+ migrateWarn( "Global events are undocumented and deprecated" );
+ }
+ return eventTrigger.call( this, event, data, elem || document, onlyHandlers );
+};
+jQuery.each( ajaxEvents.split("|"),
+ function( _, name ) {
+ jQuery.event.special[ name ] = {
+ setup: function() {
+ var elem = this;
+
+ // The document needs no shimming; must be !== for oldIE
+ if ( elem !== document ) {
+ jQuery.event.add( document, name + "." + jQuery.guid, function() {
+ jQuery.event.trigger( name, null, elem, true );
+ });
+ jQuery._data( this, name, jQuery.guid++ );
+ }
+ return false;
+ },
+ teardown: function() {
+ if ( this !== document ) {
+ jQuery.event.remove( document, name + "." + jQuery._data( this, name ) );
+ }
+ return false;
+ }
+ };
+ }
+);
+
+
+})( jQuery, window );
diff --git a/js/jquery.js b/js/jquery.js
index 16ad06c5a..006e95310 100644
--- a/js/jquery.js
+++ b/js/jquery.js
@@ -1,4 +1,5 @@
-/*! jQuery v1.7.2 jquery.com | jquery.org/license */
-(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;ca ",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q=""+"",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
-a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c ",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML=" ",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="
";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/ ]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div","
"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
-.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>$2>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/