From 80f2ba640ec528bd43db243122a69e765703b7c0 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 24 May 2016 20:49:23 -0700 Subject: code cleanup --- boot.php | 24 +- doc/ca/develop.bb | 3 - doc/de/develop.bb | 3 - doc/develop.bb | 3 - doc/developer_function_primer.bb | 4 - doc/faq_developers.bb | 454 ------------------------------------- doc/sv/main.bb | 3 - include/Import/import_diaspora.php | 1 - include/account.php | 3 +- include/acl_selectors.php | 4 - include/activities.php | 1 - include/api.php | 3 - include/bb2diaspora.php | 2 - include/bbcode.php | 3 - include/config.php | 14 +- include/connections.php | 4 +- include/conversation.php | 8 +- include/datetime.php | 1 - include/follow.php | 1 - include/help.php | 2 - include/language.php | 6 - include/network.php | 9 - include/oembed.php | 2 +- include/photo/photo_driver.php | 6 +- include/photos.php | 2 - include/plugin.php | 11 +- include/text.php | 28 +-- include/widgets.php | 1 - include/zot.php | 4 - view/tpl/atom_feed.tpl | 2 +- 30 files changed, 28 insertions(+), 584 deletions(-) delete mode 100644 doc/faq_developers.bb diff --git a/boot.php b/boot.php index 690a330d8..d4836e61c 100755 --- a/boot.php +++ b/boot.php @@ -1197,7 +1197,6 @@ class App { * @return App */ function get_app() { - global $a; return $a; } @@ -1247,7 +1246,6 @@ function system_unavailable() { function clean_urls() { - global $a; // if(App::$config['system']['clean_urls']) return true; @@ -1255,8 +1253,6 @@ function clean_urls() { } function z_path() { - global $a; - $base = z_root(); if(! clean_urls()) $base .= '/?q='; @@ -1272,7 +1268,6 @@ function z_path() { * @return string */ function z_root() { - global $a; return App::get_baseurl(); } @@ -1604,7 +1599,6 @@ function fix_system_urls($oldurl, $newurl) { // returns the complete html for inserting into the page function login($register = false, $form_id = 'main-login', $hiddens=false) { - $a = get_app(); $o = ''; $reg = false; $reglink = get_config('system', 'register_link'); @@ -1674,9 +1668,7 @@ function goaway($s) { } function shutdown() { - global $db; - if(is_object($db) && $db->connected) - $db->close(); + } /** @@ -1766,7 +1758,6 @@ function remote_user() { * @param string $s Text to display */ function notice($s) { - $a = get_app(); if(! x($_SESSION, 'sysmsg')) $_SESSION['sysmsg'] = array(); // ignore duplicated error messages which haven't yet been displayed @@ -1790,7 +1781,6 @@ function notice($s) { * @param string $s Text to display */ function info($s) { - $a = get_app(); if(! x($_SESSION, 'sysmsg_info')) $_SESSION['sysmsg_info'] = array(); if(App::$interactive) $_SESSION['sysmsg_info'][] = $s; @@ -1891,7 +1881,6 @@ function is_windows() { */ function is_site_admin() { - $a = get_app(); if($_SESSION['delegate']) return false; @@ -1912,7 +1901,7 @@ function is_site_admin() { * @return bool true if user is a developer */ function is_developer() { - $a = get_app(); + if((intval($_SESSION['authenticated'])) && (is_array(App::$account)) && (App::$account['account_roles'] & ACCOUNT_ROLE_DEVELOPER)) @@ -1923,7 +1912,6 @@ function is_developer() { function load_contact_links($uid) { - $a = get_app(); $ret = array(); @@ -2241,7 +2229,6 @@ function appdirpath() { * @param string $icon */ function head_set_icon($icon) { - global $a; App::$data['pageicon'] = $icon; // logger('head_set_icon: ' . $icon); @@ -2253,7 +2240,6 @@ function head_set_icon($icon) { * @return string absolut path to pageicon */ function head_get_icon() { - global $a; $icon = App::$data['pageicon']; if(! strpos($icon, '://')) @@ -2319,7 +2305,7 @@ function z_get_temp_dir() { } function z_check_cert() { - $a = get_app(); + if(strpos(z_root(),'https://') !== false) { $x = z_fetch_url(z_root() . '/siteinfo/json'); if(! $x['success']) { @@ -2340,8 +2326,6 @@ function z_check_cert() { */ function cert_bad_email() { - $a = get_app(); - $email_tpl = get_intltext_template("cert_bad_eml.tpl"); $email_msg = replace_macros($email_tpl, array( '$sitename' => App::$config['system']['sitename'], @@ -2380,8 +2364,6 @@ function check_cron_broken() { return; } - $a = get_app(); - $email_tpl = get_intltext_template("cron_bad_eml.tpl"); $email_msg = replace_macros($email_tpl, array( '$sitename' => App::$config['system']['sitename'], diff --git a/doc/ca/develop.bb b/doc/ca/develop.bb index 7e82049c7..bc709963c 100644 --- a/doc/ca/develop.bb +++ b/doc/ca/develop.bb @@ -26,9 +26,6 @@ [zrl=[baseurl]/help/git_for_non_developers]Git per a No-Desenvolupadors[/zrl] [zrl=[baseurl]/help/dev_beginner]Manual pas-a-pas per a desenvolupadors principiants[/zrl] -[h3]Preguntes Més Freqüents (FAQ) Per Desenvolupadors[/h3] -[zrl=[baseurl]/help/faq_developers]FAQ Per Desenvoupadors[/zrl] - [h3]Recursos Externs[/h3] [url=https://zothub.com/channel/one]Development Channel[/url] [url=https://federated.social/channel/postgres]Postgres-specific $Projectname Admin Support Channel[/url] diff --git a/doc/de/develop.bb b/doc/de/develop.bb index 473b18b68..30e2954c6 100644 --- a/doc/de/develop.bb +++ b/doc/de/develop.bb @@ -25,9 +25,6 @@ [zrl=[baseurl]/help/git_for_non_developers]Git für Nicht-Entwickler[/zrl] [zrl=[baseurl]/help/dev_beginner]Schritt-für-Schritt-Einführung für neue Entwickler[/zrl] -[h3]Häufig gestellte Fragen für Entwickler[/h3] -[zrl=[baseurl]/help/faq_developers]FAQ für Entwickler[/zrl] - [h3]Externe Ressourcen[/h3] [url=https://zothub.com/channel/one]Entwickler-Kanal[/url] [url=https://federated.social/channel/postgres]Postgres-spezifischer Admin-Support-Kanal[/url] diff --git a/doc/develop.bb b/doc/develop.bb index 56ba08421..ef3ea5bd0 100644 --- a/doc/develop.bb +++ b/doc/develop.bb @@ -26,9 +26,6 @@ [zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl] [zrl=[baseurl]/help/dev_beginner]Step-for-step manual for beginning developers[/zrl] -[h3]Frequently Asked Questions For Developers[/h3] -[zrl=[baseurl]/help/faq_developers]FAQ For Developers[/zrl] - [h3]External Resources[/h3] [url=https://zothub.com/channel/one]Development Channel[/url] [url=https://federated.social/channel/postgres]Postgres-specific $Projectname Admin Support Channel[/url] diff --git a/doc/developer_function_primer.bb b/doc/developer_function_primer.bb index 684fea569..183581361 100644 --- a/doc/developer_function_primer.bb +++ b/doc/developer_function_primer.bb @@ -12,10 +12,6 @@ Returns authenticated numeric channel_id if authenticated and connected to a cha Returns authenticated string hash of Red global identifier, if authenticated via remote auth, or an empty string. -[b]get_app()[/b] - -Returns the global app structure ($a). - [b]App::get_observer()[/b] returns an xchan structure representing the current viewer if authenticated (locally or remotely). diff --git a/doc/faq_developers.bb b/doc/faq_developers.bb deleted file mode 100644 index 5da2c19ff..000000000 --- a/doc/faq_developers.bb +++ /dev/null @@ -1,454 +0,0 @@ -[size=large][b]Frequently Asked Questions For Developers[/b][/size] - -[toc] - - -[h3]What does $a mean?[/h3] -$a is a class defined in boot.php and passed all around $Projectname as a global reference variable. It defines everything necessary for the $Projectname application: Server variables, URL arguments, page structures, layouts, content, installed plugins, output device info, theme info, identity of the observer and (potential) page owner ... - -We don't ever create more than one instance and always modify the elements of the single instance. The mechanics of this are somewhat tricky. If you have a function that is passed $a and needs to modify $a you need to declare it as a reference with '&' e.g. - -[code]function foo(&$a) { App::$something = 'x'; // whatever }; - -*or* access it within your function as a global variable via get_app() - -function foo() { - $a = get_app(); - App::$something = 'x'; -} - - -function foo($a) { App::$something = 'x'; }; - -will *not* change the global app state. - -function foo() { - App::$something = 'x'; -} -[/code] - - -An example (large) &$a object showing some of its many members and structures-- in JSON format for easier readability-- is here: - -[code] { - "category": null, - "nav_sel": { - "home": null, - "community": null, - "contacts": null, - "directory": null, - "settings": null, - "notifications": null, - "intros": null, - "messages": null, - "register": null, - "manage": null, - "profiles": null, - "network": null, - "help": "active" - }, - "argc": 2, - "install": false, - "is_mobile": false, - "timezone": "America/Los_Angeles", - "sourcename": "", - "module_loaded": true, - "contacts": null, - "interactive": true, - "config": { - "system": { - "max_import_size": 200000, - "logfile": "/tmp/hubzilla.log", - "channels_active_monthly_stat": "3", - "last_expire_day": "4", - "loglevel": "4", - "sitename": "Hubzilla", - "access_policy": 0, - "directory_mode": 0, - "debugging": "1", - "verify_email": 1, - "register_text": "", - "urlverify": "687474703a2f2f6875627a696c6c61", - "register_policy": 2, - "theme": "redbasic", - "smarty3_folder": "/home/src/hubzilla/store/[data]/smarty3", - "channels_total_stat": "4", - "admin_email": "foo@bar.com", - "channels_active_halfyear_stat": "3", - "location_hash": "910792b7bf75296cbf238ae29a5493f3c78805812652d3f0396e88763a26ce1b", - "local_posts_stat": "63", - "lastpollcheck": "2015-11-03 07:40:38", - "baseurl": "http://hubzilla", - "config_loaded": true, - "pubkey": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuR4neYAxuWwZg34fqofU\nZg8y1YSTX39Tzhgcgn7QFCeH600NHJBHWXbPdS5imdYq6W+P1vtKxsVNLI9d01+j\ns3MF3amgEuJH0X+JLLjyittQksyAiukvh/o4MSit8mcYcXs8Dxaybe+KaY09N4ys\ndxKcn6EPlthUiQPJMPitybp4vYkw9LupWZOQWThz9ur6T5wnk9ehBIPFN8gYvKrT\nAG9RFfbq3y59rTOiSHNA2PIUMzo2HEh4QBVCvVolKt7GPhUM4Bze40VRe8ELZTPp\nyehNxEHyhHZfnC+XRVNlvSPXBU2vtE+zcok+5DXsKAqMt8YgFIThNEOLQKvff/lv\nsdGvk6jJZok7+9lKtYfwnNnRWf51aVVuSAO3aIIVLroLyhiji0KA7G5YRHeF1rNL\np88e8peMyUMCX2Svv1wudJzqOfWSvOpY0NLZrdGZXRN2/rXyHPRD/TtS3SNDdd7J\nYQUjyxGjF1/zB3xqvPr09s8tzXqJl9pZNcN9iz58oPBbTuGdUr8CJro/3nVHgkRf\nw7/zhapSW1UaroJjecrC9yWx5QUD3KNU51phsP9iHCFdMyPBdUHjmNvE5f7YJWBh\nO1rRKUoE3i+eHLYAWeYblFX7T+EKOCB2hd3NUrIqDL98OSpfDiZT7rf9PdcWCOY5\nuddm6KzwHjffl5kZd8MM8bMCAwEAAQ==\n-----END PUBLIC KEY-----\n", - "addon": "converse", - "lastpoll": "2015-11-04 07:40:01", - "php_path": "/usr/bin/php", - "allowed_themes": "redbasic", - "sellpage": "", - "prvkey": "-----BEGIN PRIVATE KEY-----\n-----END PRIVATE KEY-----\n", - "directory_server": "https://red.zottel.red", - "curl_ssl_ciphers": "ALL:!eNULL", - "db_version": "1158" - }, - "config": { - "config_loaded": true - }, - "feature": { - "config_loaded": true - }, - "2": { - "redbasic": { - "schema": "dark", - "comment_indent": "", - "toolicon_activecolour": "", - "item_colour": "", - "nav_gradient_top": "", - "nav_active_icon_colour": "", - "nav_active_gradient_top": "", - "top_photo": "", - "converse_width": "", - "nav_min_opacity": "", - "body_font_size": "", - "reply_photo": "", - "background_colour": "", - "radius": "", - "nav_gradient_bottom": "", - "toolicon_colour": "", - "nav_active_gradient_bottom": "", - "nav_icon_colour": "", - "narrow_navbar": "", - "nav_bg": "", - "comment_item_colour": "", - "config_loaded": true, - "banner_colour": "", - "comment_border_colour": "", - "align_left": "", - "font_size": "", - "font_colour": "", - "nav_bd": "", - "photo_shadow": "", - "background_image": "", - "link_colour": "" - }, - "system": { - "network_list_mode": "0", - "post_joingroup": "0", - "channel_list_mode": "0", - "title_tosource": "0", - "blocktags": "0", - "photo_path": "%Y-%m", - "suggestme": "0", - "autoperms": "0", - "hide_presence": "0", - "channel_divmore_height": "400", - "network_divmore_height": "400", - "post_profilechange": "0", - "channel_menu": "", - "always_show_in_notices": "0", - "use_browser_location": "0", - "update_interval": "80000", - "itemspage": "20", - "attach_path": "%Y-%m", - "permissions_role": "social", - "vnotify": "2047", - "post_newfriend": "0", - "config_loaded": true, - "no_smilies": "0", - "evdays": "3", - "user_scalable": "1" - } - } - }, - "layout": { - "region_aside": "\n<div class="widget"><h3>Documentation</h3><ul class="nav nav-pills nav-stacked"><li><a href="help/general">Project/Site Information</a></li><li><a href="help/members">For Members</a></li><li><a href="help/admins">For Administrators</a></li><li><a href="help/develop">For Developers</a></li></ul></div>\n" - }, - "is_sys": false, - "content": null, - "cid": null, - "profile_uid": 0, - "hooks": { - "construct_page": [ - [ - "addon/converse/converse.php", - "converse_content" - ] - ] - }, - "strings": [], - "js_sources": [ - "jquery.js", - "library/justifiedGallery/jquery.justifiedGallery.min.js", - "library/sprintf.js/dist/sprintf.min.js", - "spin.js", - "jquery.spin.js", - "jquery.textinputs.js", - "autocomplete.js", - "library/jquery-textcomplete/jquery.textcomplete.js", - "library/jquery.timeago.js", - "library/readmore.js/readmore.js", - "library/jgrowl/jquery.jgrowl_minimized.js", - "library/cryptojs/components/core-min.js", - "library/cryptojs/rollups/aes.js", - "library/cryptojs/rollups/rabbit.js", - "library/cryptojs/rollups/tripledes.js", - "acl.js", - "webtoolkit.base64.js", - "main.js", - "crypto.js", - "library/jRange/jquery.range.js", - "library/colorbox/jquery.colorbox-min.js", - "library/jquery.AreYouSure/jquery.are-you-sure.js", - "library/tableofcontents/jquery.toc.js", - "library/bootstrap/js/bootstrap.min.js", - "library/bootbox/bootbox.min.js", - "library/bootstrap-tagsinput/bootstrap-tagsinput.js", - "library/datetimepicker/jquery.datetimepicker.js", - "library/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js", - "view/theme/redbasic/js/redbasic.js", - "mod_help.js" - ], - "channel": { - "channel_hash": "uRy0nF-urp6k_bFrkdtCc2EkBynwpgCJL_FQFoTwyw2Hep7AHkrSt1MZcHWV_8DQucNlHSY1vHgUNS2Fvoirpw", - "channel_address": "testes", - "channel_primary": "1", - "channel_allow_gid": "", - "xchan_deleted": "0", - "xchan_connpage": "", - "channel_r_storage": "1", - "xchan_pubforum": "0", - "channel_pubkey": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7MP/xxsq/srA8I7m+WKf\nHlguwwg0b1tz+I3o+djp7b+wF8q03XPKQpYmKfXIj47vpAOu75nKA4Tn90lLymmk\nSXUHogOqOMy1CHoaVrAw2T2/tAeRoMAjAJ5IxSOAM7Xda0nVUK6FmfxPcvftKf9y\nPmvvFadXpaHT4JGPH0tszDhGXLkqlt9xSkIkpsgMA6emj/7bacc6x8eTdtvzo2e5\n/NyPXvBKH4henmYaKjq/4aIYZcBWYVGt6onxaP2j1cSNbksnOY7GbJl+hy95iFoZ\nDWGxiFwQd+CroiBbdlpVGp13cV/WKp2spZzlzkmCRGYoNbbM5RlgFLnmyTa4XMZE\nwnA3ZUB59MsrUJK+0H/utiZrpX5NQcFl33z8k5zB3pPnhc5S5/P+UJZRnqhet1wQ\n7AZVmdP30D75QD8LZ4SytZ1DHn/N76EsVhSADNMnUfEphs708V33Z0gFWultYDoK\nlvXUf4O0/V8GTufFHb6XdAiy92IUzrormXCpXoOmdOcJdaH9RnotZi/DkuQ0zP+Y\nCvxU9nrjyZvAwAdew//XFDjw4HoThVM4k4jzkIhCTlCao/yRnNM7A/i3OKcXq9wU\n7OZqcRfM9o0BFpZTIoXB7BMtpeioJcBi/7FUaV9U9uYLFuLL0qWa1YxLwfsN9rDk\n6A1gbhD60G9/dAbolp8xAHkCAwEAAQ==\n-----END PUBLIC KEY-----\n", - "xchan_flags": "0", - "channel_allow_cid": "", - "xchan_censored": "0", - "channel_w_pages": "128", - "xchan_instance_url": "", - "xchan_photo_s": "http://hubzilla/photo/profile/s/2", - "channel_w_stream": "128", - "channel_timezone": "America/Los_Angeles", - "xchan_pubkey": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7MP/xxsq/srA8I7m+WKf\nHlguwwg0b1tz+I3o+djp7b+wF8q03XPKQpYmKfXIj47vpAOu75nKA4Tn90lLymmk\nSXUHogOqOMy1CHoaVrAw2T2/tAeRoMAjAJ5IxSOAM7Xda0nVUK6FmfxPcvftKf9y\nPmvvFadXpaHT4JGPH0tszDhGXLkqlt9xSkIkpsgMA6emj/7bacc6x8eTdtvzo2e5\n/NyPXvBKH4henmYaKjq/4aIYZcBWYVGt6onxaP2j1cSNbksnOY7GbJl+hy95iFoZ\nDWGxiFwQd+CroiBbdlpVGp13cV/WKp2spZzlzkmCRGYoNbbM5RlgFLnmyTa4XMZE\nwnA3ZUB59MsrUJK+0H/utiZrpX5NQcFl33z8k5zB3pPnhc5S5/P+UJZRnqhet1wQ\n7AZVmdP30D75QD8LZ4SytZ1DHn/N76EsVhSADNMnUfEphs708V33Z0gFWultYDoK\nlvXUf4O0/V8GTufFHb6XdAiy92IUzrormXCpXoOmdOcJdaH9RnotZi/DkuQ0zP+Y\nCvxU9nrjyZvAwAdew//XFDjw4HoThVM4k4jzkIhCTlCao/yRnNM7A/i3OKcXq9wU\n7OZqcRfM9o0BFpZTIoXB7BMtpeioJcBi/7FUaV9U9uYLFuLL0qWa1YxLwfsN9rDk\n6A1gbhD60G9/dAbolp8xAHkCAwEAAQ==\n-----END PUBLIC KEY-----\n", - "channel_w_chat": "128", - "xchan_connurl": "http://hubzilla/poco/testes", - "channel_guid_sig": "XXX", - "xchan_name_date": "2015-10-09 00:45:41", - "channel_expire_days": "0", - "xchan_system": "0", - "xchan_photo_date": "2015-10-09 00:45:41", - "channel_startpage": "", - "channel_deny_gid": "", - "channel_lastpost": "2015-10-09 02:53:23", - "xchan_photo_m": "http://hubzilla/photo/profile/m/2", - "channel_passwd_reset": "", - "xchan_hidden": "0", - "xchan_selfcensored": "0", - "xchan_photo_mimetype": "image/jpeg", - "channel_a_republish": "128", - "channel_w_tagwall": "128", - "channel_r_stream": "1", - "channel_w_comment": "128", - "channel_system": "0", - "channel_w_mail": "128", - "channel_pageflags": "0", - "xchan_network": "zot", - "channel_id": "2", - "xchan_guid": "Ok-ycNKQYMzjokLnIz5OTCF8M5f4CtRT4vJCUeUivJhIOJWk3ORwIQgGx3P5g2Yz79KxQ-rs_Cn2G_jsgM6hmw", - "channel_removed": "0", - "channel_dirdate": "2015-10-09 00:46:00", - "channel_w_storage": "128", - "channel_w_photos": "0", - "channel_prvkey": "-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----\n", - "channel_guid": "Ok-ycNKQYMzjokLnIz5OTCF8M5f4CtRT4vJCUeUivJhIOJWk3ORwIQgGx3P5g2Yz79KxQ-rs_Cn2G_jsgM6hmw", - "channel_max_friend_req": "0", - "channel_w_wall": "128", - "channel_r_abook": "1", - "channel_max_anon_mail": "0", - "channel_location": "", - "channel_a_delegate": "128", - "channel_deny_cid": "", - "channel_r_profile": "1", - "channel_name": "testes", - "xchan_guid_sig": "XXX", - "xchan_hash": "uRy0nF-urp6k_bFrkdtCc2EkBynwpgCJL_FQFoTwyw2Hep7AHkrSt1MZcHWV_8DQucNlHSY1vHgUNS2Fvoirpw", - "channel_notifyflags": "703", - "channel_theme": "redbasic", - "channel_w_like": "2", - "xchan_url": "http://hubzilla/channel/testes", - "channel_default_group": "", - "channel_r_photos": "0", - "channel_account_id": "1", - "xchan_addr": "testes@hubzilla", - "channel_r_pages": "1", - "channel_deleted": "0000-00-00 00:00:00", - "xchan_orphan": "0", - "xchan_follow": "http://hubzilla/follow?f=&url=%s", - "xchan_name": "testes", - "xchan_photo_l": "http://hubzilla/photo/profile/l/2" - }, - "page": { - "content": "<div id="help-content" class="generic-content-wrapper">\n\t<div class="section-title-wrapper">\n\t<h2>Hubzilla Documentation</h2>\n\t</div>\n\t<div class="section-content-wrapper">\n\t<h2>Documentation for Developers</h2><br /><br /><h3>Technical Documentation</h3><br /><a class="zrl" href="http://hubzilla/help/Zot---A-High-Level-Overview" target="_blank" >A high level overview of Zot</a><br /><a class="zrl" href="http://hubzilla/help/zot" target="_blank" >An introduction to Zot</a><br /><a class="zrl" href="http://hubzilla/help/zot_structures" target="_blank" >Zot Stuctures</a><br /><a class="zrl" href="http://hubzilla/help/comanche" target="_blank" >Comanche Page Descriptions</a><br /><a class="zrl" href="http://hubzilla/help/Creating-Templates" target="_blank" >Creating Comanche Templates</a><br /><a class="zrl" href="http://hubzilla/help/Widgets" target="_blank" >Widgets</a><br /><a class="zrl" href="http://hubzilla/help/plugins" target="_blank" >Plugins</a><br /><a class="zrl" href="http://hubzilla/help/hooks" target="_blank" >Hooks</a><br /><a class="zrl" href="http://hubzilla/help/doco" target="_blank" >Contributing Documentation</a><br /><a class="zrl" href="http://hubzilla/help/DerivedTheme1" target="_blank" >Creating Derivative Themes</a><br /><a class="zrl" href="http://hubzilla/help/schema_development" target="_blank" >Schemas</a><br /><a class="zrl" href="http://hubzilla/help/Translations" target="_blank" >Translations</a><br /><a class="zrl" href="http://hubzilla/help/developers" target="_blank" >Developers</a><br /><a class="zrl" href="http://hubzilla/help/intro_for_developers" target="_blank" >Intro for Developers</a><br /><a class="zrl" href="http://hubzilla/help/database" target="_blank" >Database schema documentation</a><br /><a class="zrl" href="http://hubzilla/help/api_functions" target="_blank" >API functions</a><br /><a class="zrl" href="http://hubzilla/help/api_posting" target="_blank" >Posting to the red# using the API</a><br /><a class="zrl" href="http://hubzilla/help/developer_function_primer" target="_blank" >Red Functions 101</a><br /><a class="zrl" href="http://hubzilla/doc/html/" target="_blank" >Code Reference (Doxygen generated - sets cookies)</a><br /><a class="zrl" href="http://hubzilla/help/to_do_doco" target="_blank" >To-Do list for the Red Documentation Project</a><br /><a class="zrl" href="http://hubzilla/help/to_do_code" target="_blank" >To-Do list for Developers</a><br /><a class="zrl" href="http://hubzilla/help/roadmap" target="_blank" >Version 3 roadmap</a><br /><a class="zrl" href="http://hubzilla/help/git_for_non_developers" target="_blank" >Git for Non-Developers</a><br /><a class="zrl" href="http://hubzilla/help/dev_beginner" target="_blank" >Step-for-step manual for beginning developers</a><br /><br /><h3>Frequently Asked Questions For Developers</h3><br /><a class="zrl" href="http://hubzilla/help/faq_developers" target="_blank" >FAQ For Developers</a><br /><br /><h3>External Resources</h3><br /><br /><a href="https://zothub.com/channel/one" target="_blank" >Development Channel</a><br /><a href="https://federated.social/channel/postgres" target="_blank" >Postgres-specific Hubzilla Admin Support Channel</a><br />\n\t</div>\n</div>\n<script>var homebase = "http://hubzilla/channel/testes";</script>", - "page_title": "help", - "title": "Help: Develop", - "nav": "\t<div class="container-fluid">\n\t\t<div class="navbar-header">\n\t\t\t<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1">\n\t\t\t\t<span class="icon-bar"></span>\n\t\t\t\t<span class="icon-bar"></span>\n\t\t\t\t<span class="icon-bar"></span>\n\t\t\t</button>\n\t\t\t<button id="expand-tabs" type="button" class="navbar-toggle" data-toggle="collapse" data-target="#tabs-collapse-1">\n\t\t\t\t<i class="icon-circle-arrow-down" id="expand-tabs-icon"></i>\n\t\t\t</button>\n\t\t\t<button id="expand-aside" type="button" class="navbar-toggle" data-toggle="offcanvas" data-target="#region_1">\n\t\t\t\t<i class="icon-circle-arrow-right" id="expand-aside-icon"></i>\n\t\t\t</button>\n\t\t\t\t\t\t\t<img class="dropdown-toggle fakelink" data-toggle="dropdown" id="avatar" src="http://hubzilla/photo/profile/m/2" alt="testes@hubzilla"><span class="caret" id="usermenu-caret"></span>\n\t\t\t\t\t\t\t\t\t<ul class="dropdown-menu" role="menu" aria-labelledby="avatar">\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation"><a href="channel/testes" title="Your posts and conversations" role="menuitem" id="channel_nav_btn">Home</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation"><a href="profile/testes" title="Your profile page" role="menuitem" id="profile_nav_btn">View Profile</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation"><a href="profiles/2" title="Edit your profile" role="menuitem" id="profiles_nav_btn">Edit Profile</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation"><a href="photos/testes" title="Your photos" role="menuitem" id="photos_nav_btn">Photos</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation"><a href="cloud/testes" title="Your files" role="menuitem" id="cloud_nav_btn">Files</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation"><a href="chat/testes/new" title="Your chatrooms" role="menuitem" id="chat_nav_btn">Chat</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation" class="divider"></li>\n\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation"><a href="settings" title="Account/Channel Settings" role="menuitem" id="settings_nav_btn">Settings</a></li>\t\t\t\t\t\t<li role="presentation"><a href="manage" title="Manage Your Channels" role="menuitem" id="manage_nav_btn">Channel Manager</a></li>\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation" class="divider"></li>\n\t\t\t\t\t\t<li role="presentation"><a href="admin/" title="Site Setup and Configuration" role="menuitem" id="admin_nav_btn">Admin</a></li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li role="presentation" class="divider"></li>\n\t\t\t\t\t\t<li role="presentation"><a href="logout" title="End this session" role="menuitem" id="logout_nav_btn">Logout</a></li>\n\t\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t<div class="collapse navbar-collapse" id="navbar-collapse-1">\n\t\t\t<ul class="nav navbar-nav navbar-left">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t<li class=" hidden-xs">\n\t\t\t\t\t<a href="network" title="Your grid" id="network_nav_btn"><i class="icon-th"></i></a>\n\t\t\t\t\t<span class="net-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-network-menu"></span>\n\t\t\t\t\t<ul id="nav-network-menu" role="menu" class="dropdown-menu" rel="network">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<li id="nav-network-mark-all"><a href="#" onclick="markRead('network'); return false;">Mark all grid notifications seen</a></li>\n\t\t\t\t\t\t<li class="empty">Loading...</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li class=" visible-xs">\n\t\t\t\t\t<a href="network" title="Your grid" ><i class="icon-th"></i></a>\n\t\t\t\t\t<span class="net-update badge" rel="#nav-network-menu"></span>\n\t\t\t\t</li>\n\t\t\t\n\t\t\t\t\t\t\t<li class=" hidden-xs">\n\t\t\t\t\t<a class="" href="channel/testes" title="Channel home" id="home_nav_btn"><i class="icon-home"></i></a>\n\t\t\t\t\t<span class="home-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-home-menu"></span>\n\t\t\t\t\t<ul id="nav-home-menu" class="dropdown-menu" rel="home">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<li id="nav-home-mark-all"><a href="#" onclick="markRead('home'); return false;">Mark all channel notifications seen</a></li>\n\t\t\t\t\t\t<li class="empty">Loading...</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li class=" visible-xs">\n\t\t\t\t\t<a class="" href="channel/testes" title="Channel home" ><i class="icon-home"></i></a>\n\t\t\t\t\t<span class="home-update badge" rel="#nav-home-menu"></span>\n\t\t\t\t</li>\n\t\t\t\n\n\t\t\t\t\t\t\t<li class=" hidden-xs">\n\t\t\t\t\t<a class="" href="mail/combined" title="Private mail" id="mail_nav_btn"><i class="icon-envelope"></i></a>\n\t\t\t\t\t<span class="mail-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-messages-menu"></span>\n\t\t\t\t\t<ul id="nav-messages-menu" class="dropdown-menu" rel="messages">\n\t\t\t\t\t\t<li id="nav-messages-see-all"><a href="mail/combined">See all private messages</a></li>\n\t\t\t\t\t\t<li id="nav-messages-mark-all"><a href="#" onclick="markRead('messages'); return false;">Mark all private messages seen</a></li>\n\t\t\t\t\t\t<li class="empty">Loading...</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li class=" visible-xs">\n\t\t\t\t\t<a class="" href="mail/combined" title="Private mail" ><i class="icon-envelope"></i></a>\n\t\t\t\t\t<span class="mail-update badge" rel="#nav-messages-menu"></span>\n\t\t\t\t</li>\n\t\t\t\n\t\t\t\t\t\t\t<li class=" hidden-xs">\n\t\t\t\t\t<a class="" href="events" title="Event Calendar" id='events_nav_btn'><i class="icon-calendar"></i></a>\n\t\t\t\t\t<span class="all_events-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-all_events-menu"></span>\n\t\t\t\t\t<ul id="nav-all_events-menu" class="dropdown-menu" rel="all_events">\n\t\t\t\t\t\t<li id="nav-all_events-see-all"><a href="events">See all events</a></li>\n\t\t\t\t\t\t<li id="nav-all_events-mark-all"><a href="#" onclick="markRead('all_events'); return false;">Mark all events seen</a></li>\n\t\t\t\t\t\t<li class="empty">Loading...</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li class=" visible-xs">\n\t\t\t\t\t<a class="" href="events" title="Event Calendar" ><i class="icon-calendar"></i></a>\n\t\t\t\t\t<span class="all_events-update badge" rel="#nav-all_events-menu"></span>\n\t\t\t\t</li>\n\t\t\t\n\t\t\t\t\t\t\t<li class=" hidden-xs">\n\t\t\t\t\t<a class="" href="connections/ifpending" title="Connections" id="connections_nav_btn"><i class="icon-user"></i></a>\n\t\t\t\t\t<span class="intro-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-intros-menu"></span>\n\t\t\t\t\t<ul id="nav-intros-menu" class="dropdown-menu" rel="intros">\n\t\t\t\t\t\t<li id="nav-intros-see-all"><a href=""></a></li>\n\t\t\t\t\t\t<li class="empty">Loading...</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li class=" visible-xs">\n\t\t\t\t\t<a class="" href="connections/ifpending" title="Connections" ><i class="icon-user"></i></a>\n\t\t\t\t\t<span class="intro-update badge" rel="#nav-intros-menu"></span>\n\t\t\t\t</li>\n\t\t\t\t\t\n\t\t\t\t\t\t\t<li class=" hidden-xs">\n\t\t\t\t\t<a href="notifications/system" title="Notices" id="notifications_nav_btn"><i class="icon-exclamation"></i></a>\n\t\t\t\t\t<span class="notify-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-notify-menu"></span>\n\t\t\t\t\t<ul id="nav-notify-menu" class="dropdown-menu" rel="notify">\n\t\t\t\t\t\t<li id="nav-notify-see-all"><a href="notifications/system">See all notifications</a></li>\n\t\t\t\t\t\t<li id="nav-notify-mark-all"><a href="#" onclick="markRead('notify'); return false;">Mark all system notifications seen</a></li>\n\t\t\t\t\t\t<li class="empty">Loading...</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t\t<li class=" visible-xs">\n\t\t\t\t\t<a href="notifications/system" title="Notices"><i class="icon-exclamation"></i></a>\n\t\t\t\t\t<span class="notify-update badge" rel="#nav-notify-menu"></span>\n\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t<ul class="nav navbar-nav navbar-right">\n\t\t\t\t<li class="hidden-xs">\n\t\t\t\t\t<form method="get" action="search" role="search">\n\t\t\t\t\t\t<div id="nav-search-spinner"></div><input class="icon-search" id="nav-search-text" type="text" value="" placeholder="&#xf002; @name, #tag, ?doc, content" name="search" title="Search site @name, #tag, ?docs, content" onclick="this.submit();"/>\n\t\t\t\t\t</form>\n\t\t\t\t</li>\n\t\t\t\t<li class="visible-xs">\n\t\t\t\t\t<a href="/search" title="Search site @name, #tag, ?docs, content"><i class="icon-search"></i></a>\n\t\t\t\t</li>\n\n\t\t\t\t\t\t\t\t\t\t<li class="">\n\t\t\t\t\t<a class="" href="directory" title="Channel Directory" id="directory_nav_btn"><i class="icon-sitemap"></i></a>\n\t\t\t\t</li>\n\t\t\t\n\t\t\t\t\t\t\t<li class="">\n\t\t\t\t\t<a class="" href="apps" title="Applications, utilities, links, games" id="apps_nav_btn"><i class="icon-cogs"></i></a>\n\t\t\t\t</li>\n\t\t\t\n\t\t\t\t\t\t\t<li class="active">\n\t\t\t\t\t<a class="" target="hubzilla-help" href="http://hubzilla/help?f=&cmd=help/develop" title="Help and documentation" id="help_nav_btn"><i class="icon-question"></i></a>\n\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t</div>\n\t</div>\n", - "htmlhead": "<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />\n<base href="http://hubzilla/" />\n<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=1" />\n<meta name="generator" content="hubzilla 2015-11-03.1205H" />\n\n<!--[if IE]>\n<script src="http://hubzilla/library/html5.js"></script>\n<![endif]-->\n\n<link rel="stylesheet" href="http://hubzilla/library/font_awesome/css/font-awesome.min.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/bootstrap/css/bootstrap.min.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/bootstrap-tagsinput/bootstrap-tagsinput.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/view/css/bootstrap-red.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/datetimepicker/jquery.datetimepicker.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/tiptip/tipTip.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/jgrowl/jquery.jgrowl.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/jRange/jquery.range.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/view/css/conversation.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/view/css/widgets.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/view/css/colorbox.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/library/justifiedGallery/justifiedGallery.min.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/view/css/default.css" type="text/css" media="screen">\r\n<link rel="stylesheet" href="http://hubzilla/view/theme/redbasic/php/style.pcss" type="text/css" media="screen">\r\n\n\n<script>\n\n\tvar aStr = {\n\n\t\t'delitem' : "Delete this item?",\n\t\t'comment' : "Comment",\n\t\t'showmore' : "[+] show all",\n\t\t'showfewer' : "[-] show less",\n\t\t'divgrowmore' : "[+] expand",\n\t\t'divgrowless' : "[-] collapse",\n\t\t'pwshort' : "Password too short",\n\t\t'pwnomatch' : "Passwords do not match",\n\t\t'everybody' : "everybody",\n\t\t'passphrase' : "Secret Passphrase",\n\t\t'passhint' : "Passphrase hint",\n\t\t'permschange' : "Notice: Permissions have changed but have not yet been submitted.",\n\t\t'closeAll' : "close all",\n\t\t'nothingnew' : "Nothing new here",\n\t\t'rating_desc' : "Rate This Channel (this is public)",\n\t\t'rating_val' : "Rating",\n\t\t'rating_text' : "Describe (optional)",\n\t\t'submit' : "Submit",\n\t\t'linkurl' : "Please enter a link URL",\n\t\t'leavethispage' : "Unsaved changes. Are you sure you wish to leave this page?",\n\n\t\t't01' : "",\n\t\t't02' : "",\n\t\t't03' : "ago",\n\t\t't04' : "from now",\n\t\t't05' : "less than a minute",\n\t\t't06' : "about a minute",\n\t\t't07' : "%d minutes",\n\t\t't08' : "about an hour",\n\t\t't09' : "about %d hours",\n\t\t't10' : "a day",\n\t\t't11' : "%d days",\n\t\t't12' : "about a month",\n\t\t't13' : "%d months",\n\t\t't14' : "about a year",\n\t\t't15' : "%d years",\n\t\t't16' : " ",\n\t\t't17' : "[]",\n\n\t\t'monthNames' : [ "January","February","March","April","May","June","July","August","September","October","November","December" ],\n\t\t'monthNamesShort' : [ "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" ],\n\t\t'dayNames' : ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],\n\t\t'dayNamesShort' : ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],\n\t\t'today' : "today",\n\t\t'month' : "month",\n\t\t'week' : "week",\n\t\t'day' : "day",\n\t\t'allday' : "All day"\n\t};\n\n</script>\n\t\t\n\n\n<script src="http://hubzilla/view/js/jquery.js" ></script>\r\n<script src="http://hubzilla/library/justifiedGallery/jquery.justifiedGallery.min.js" ></script>\r\n<script src="http://hubzilla/library/sprintf.js/dist/sprintf.min.js" ></script>\r\n<script src="http://hubzilla/view/js/spin.js" ></script>\r\n<script src="http://hubzilla/view/js/jquery.spin.js" ></script>\r\n<script src="http://hubzilla/view/js/jquery.textinputs.js" ></script>\r\n<script src="http://hubzilla/view/js/autocomplete.js" ></script>\r\n<script src="http://hubzilla/library/jquery-textcomplete/jquery.textcomplete.js" ></script>\r\n<script src="http://hubzilla/library/jquery.timeago.js" ></script>\r\n<script src="http://hubzilla/library/readmore.js/readmore.js" ></script>\r\n<script src="http://hubzilla/library/jgrowl/jquery.jgrowl_minimized.js" ></script>\r\n<script src="http://hubzilla/library/cryptojs/components/core-min.js" ></script>\r\n<script src="http://hubzilla/library/cryptojs/rollups/aes.js" ></script>\r\n<script src="http://hubzilla/library/cryptojs/rollups/rabbit.js" ></script>\r\n<script src="http://hubzilla/library/cryptojs/rollups/tripledes.js" ></script>\r\n<script src="http://hubzilla/view/js/acl.js" ></script>\r\n<script src="http://hubzilla/view/js/webtoolkit.base64.js" ></script>\r\n<script src="http://hubzilla/view/js/crypto.js" ></script>\r\n<script src="http://hubzilla/library/jRange/jquery.range.js" ></script>\r\n<script src="http://hubzilla/library/colorbox/jquery.colorbox-min.js" ></script>\r\n<script src="http://hubzilla/library/jquery.AreYouSure/jquery.are-you-sure.js" ></script>\r\n<script src="http://hubzilla/library/tableofcontents/jquery.toc.js" ></script>\r\n<script src="http://hubzilla/library/bootstrap/js/bootstrap.min.js" ></script>\r\n<script src="http://hubzilla/library/bootbox/bootbox.min.js" ></script>\r\n<script src="http://hubzilla/library/bootstrap-tagsinput/bootstrap-tagsinput.js" ></script>\r\n<script src="http://hubzilla/library/datetimepicker/jquery.datetimepicker.js" ></script>\r\n<script src="http://hubzilla/library/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js" ></script>\r\n<script src="http://hubzilla/view/theme/redbasic/js/redbasic.js" ></script>\r\n\n\n<link rel="shortcut icon" href="http://hubzilla/images/hz-32.png" />\n<link rel="search"\n href="http://hubzilla/opensearch" \n type="application/opensearchdescription+xml" \n title="Search in the Hubzilla" />\n\n\n<script>\n\n\tvar updateInterval = 80000;\n\tvar localUser = 2;\n\tvar zid = 'testes@hubzilla';\n\tvar justifiedGalleryActive = false;\n\t\t\n</script>\n\n\n\n\n<script>$(document).ready(function() {\n\t$("#nav-search-text").search_autocomplete('http://hubzilla/acl');\n});\n\n</script><script src="http://hubzilla/view/js/main.js" ></script>\r\n<link rel="stylesheet" href="http://hubzilla/addon/converse/converse.min.js" media="all" /><script src="http://hubzilla/addon/converse/converse.min.js"></script>", - "header": "<div id="banner" class="hidden-sm hidden-xs">Hubzilla</div>\n\n<ul id="nav-notifications-template" style="display:none;" rel="template">\n\t<li class="{5}"><a href="{0}" title="{2} {3}"><img data-src="{1}"><span class="contactname">{2}</span><span class="dropdown-sub-text">{3}<br>{4}</span></a></li>\n</ul>\n" - }, - "poi": null, - "force_max_items": 0, - "module": "help", - "template_engines": { - "smarty3": "FriendicaSmartyEngine", - "internal": "Template" - }, - "account": { - "account_flags": "0", - "account_service_class": "", - "account_id": "1", - "account_salt": "9bf8c193c35a56c4c666f47728fe20da", - "account_expires": "0000-00-00 00:00:00", - "account_lastlog": "2015-11-04 07:47:55", - "account_password_changed": "0000-00-00 00:00:00", - "account_language": "en", - "account_default_channel": "2", - "account_password": "", - "account_parent": "1", - "account_expire_notified": "0000-00-00 00:00:00", - "account_reset": "", - "account_email": "foo@bar.com", - "account_level": "0", - "account_roles": "4096", - "account_external": "", - "account_created": "2015-10-09 00:44:51" - }, - "theme_info": [], - "argv": [ - "help", - "develop" - ], - "template_engine_instance": { - "smarty3": {} - }, - "language": "en", - "pager": { - "page": 1, - "itemspage": 60, - "start": 0, - "total": 0 - }, - "plugins": [ - "converse" - ], - "error": false, - "pdl": "[region=aside]\n[widget=helpindex][/widget]\n[/region]\n", - "query_string": "help/develop", - "cmd": "help/develop", - "groups": null, - "videowidth": 425, - "css_sources": [ - [ - "library/font_awesome/css/font-awesome.min.css", - "screen" - ], - [ - "library/bootstrap/css/bootstrap.min.css", - "screen" - ], - [ - "library/bootstrap-tagsinput/bootstrap-tagsinput.css", - "screen" - ], - [ - "view/css/bootstrap-red.css", - "screen" - ], - [ - "library/datetimepicker/jquery.datetimepicker.css", - "screen" - ], - [ - "library/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css", - "screen" - ], - [ - "library/tiptip/tipTip.css", - "screen" - ], - [ - "library/jgrowl/jquery.jgrowl.css", - "screen" - ], - [ - "library/jRange/jquery.range.css", - "screen" - ], - [ - "view/css/conversation.css", - "screen" - ], - [ - "view/css/widgets.css", - "screen" - ], - [ - "view/css/colorbox.css", - "screen" - ], - [ - "library/justifiedGallery/justifiedGallery.min.css", - "screen" - ], - [ - "default.css", - "screen" - ], - [ - "mod_help.css", - "screen" - ], - [ - "view/theme/redbasic/php/style.pcss", - "screen" - ] - ], - "is_tablet": false, - "observer": { - "xchan_deleted": "0", - "xchan_connpage": "", - "xchan_pubforum": "0", - "xchan_flags": "0", - "xchan_censored": "0", - "xchan_instance_url": "", - "xchan_photo_s": "http://hubzilla/photo/profile/s/2", - "xchan_pubkey": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7MP/xxsq/srA8I7m+WKf\nHlguwwg0b1tz+I3o+djp7b+wF8q03XPKQpYmKfXIj47vpAOu75nKA4Tn90lLymmk\nSXUHogOqOMy1CHoaVrAw2T2/tAeRoMAjAJ5IxSOAM7Xda0nVUK6FmfxPcvftKf9y\nPmvvFadXpaHT4JGPH0tszDhGXLkqlt9xSkIkpsgMA6emj/7bacc6x8eTdtvzo2e5\n/NyPXvBKH4henmYaKjq/4aIYZcBWYVGt6onxaP2j1cSNbksnOY7GbJl+hy95iFoZ\nDWGxiFwQd+CroiBbdlpVGp13cV/WKp2spZzlzkmCRGYoNbbM5RlgFLnmyTa4XMZE\nwnA3ZUB59MsrUJK+0H/utiZrpX5NQcFl33z8k5zB3pPnhc5S5/P+UJZRnqhet1wQ\n7AZVmdP30D75QD8LZ4SytZ1DHn/N76EsVhSADNMnUfEphs708V33Z0gFWultYDoK\nlvXUf4O0/V8GTufFHb6XdAiy92IUzrormXCpXoOmdOcJdaH9RnotZi/DkuQ0zP+Y\nCvxU9nrjyZvAwAdew//XFDjw4HoThVM4k4jzkIhCTlCao/yRnNM7A/i3OKcXq9wU\n7OZqcRfM9o0BFpZTIoXB7BMtpeioJcBi/7FUaV9U9uYLFuLL0qWa1YxLwfsN9rDk\n6A1gbhD60G9/dAbolp8xAHkCAwEAAQ==\n-----END PUBLIC KEY-----\n", - "xchan_connurl": "http://hubzilla/poco/testes", - "xchan_name_date": "2015-10-09 00:45:41", - "xchan_system": "0", - "xchan_photo_date": "2015-10-09 00:45:41", - "xchan_photo_m": "http://hubzilla/photo/profile/m/2", - "xchan_hidden": "0", - "xchan_selfcensored": "0", - "xchan_photo_mimetype": "image/jpeg", - "xchan_network": "zot", - "xchan_guid": "Ok-ycNKQYMzjokLnIz5OTCF8M5f4CtRT4vJCUeUivJhIOJWk3ORwIQgGx3P5g2Yz79KxQ-rs_Cn2G_jsgM6hmw", - "xchan_guid_sig": "XXX", - "xchan_hash": "uRy0nF-urp6k_bFrkdtCc2EkBynwpgCJL_FQFoTwyw2Hep7AHkrSt1MZcHWV_8DQucNlHSY1vHgUNS2Fvoirpw", - "xchan_url": "http://hubzilla/channel/testes", - "xchan_addr": "testes@hubzilla", - "xchan_orphan": "0", - "xchan_follow": "http://hubzilla/follow?f=&url=%s", - "xchan_name": "testes", - "xchan_photo_l": "http://hubzilla/photo/profile/l/2" - }, - "contact": null, - "identities": null, - "user": null, - "videoheight": 350, - "profile": null, - "theme_thread_allow": true, - "data": { - "pageicon": "/images/hz-32.png" - } -}[/code] - - -#include doc/macros/main_footer.bb; - diff --git a/doc/sv/main.bb b/doc/sv/main.bb index 26d9c78f6..a5c1d4f7a 100644 --- a/doc/sv/main.bb +++ b/doc/sv/main.bb @@ -67,9 +67,6 @@ Zot är en fantastisk ny kommunikationsprotokoll uppfunnit speciellt för $Proje [zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl] [zrl=[baseurl]/help/dev_beginner]Sep-for-step manual for beginning developers[/zrl] -[h3]FAQ för utvecklare[/h3] -[zrl=[baseurl]/help/faq_developers]FAQ For Developers[/zrl] - [h3]Externa resurser[/h3] [zrl=[baseurl]/help/external-resource-links]External Resource Links[/zrl] [url=https://github.com/friendica/red]Main Website[/url] diff --git a/include/Import/import_diaspora.php b/include/Import/import_diaspora.php index a94e73395..b664badf1 100644 --- a/include/Import/import_diaspora.php +++ b/include/Import/import_diaspora.php @@ -6,7 +6,6 @@ require_once('include/follow.php'); require_once('include/photo/photo_driver.php'); function import_diaspora($data) { - $a = get_app(); $account = App::get_account(); if(! $account) diff --git a/include/account.php b/include/account.php index e367e002d..a442f3073 100644 --- a/include/account.php +++ b/include/account.php @@ -656,7 +656,8 @@ function account_service_class_allows($aid, $property, $usage = false) { * @todo Should we merge this with account_service_class_fetch()? */ function service_class_fetch($uid, $property) { - $a = get_app(); + + if($uid == local_channel()) { $service_class = App::$account['account_service_class']; } diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 886574714..1f97a7a7b 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -11,8 +11,6 @@ require_once("include/PermissionDescription.php"); function group_select($selname,$selclass,$preselected = false,$size = 4) { - $a = get_app(); - $o = ''; $o .= "