diff options
-rwxr-xr-x | boot.php | 24 | ||||
-rw-r--r-- | doc/ca/develop.bb | 3 | ||||
-rw-r--r-- | doc/de/develop.bb | 3 | ||||
-rw-r--r-- | doc/develop.bb | 3 | ||||
-rw-r--r-- | doc/developer_function_primer.bb | 4 | ||||
-rw-r--r-- | doc/faq_developers.bb | 454 | ||||
-rw-r--r-- | doc/sv/main.bb | 3 | ||||
-rw-r--r-- | include/Import/import_diaspora.php | 1 | ||||
-rw-r--r-- | include/account.php | 3 | ||||
-rw-r--r-- | include/acl_selectors.php | 4 | ||||
-rw-r--r-- | include/activities.php | 1 | ||||
-rw-r--r-- | include/api.php | 3 | ||||
-rw-r--r-- | include/bb2diaspora.php | 2 | ||||
-rw-r--r-- | include/bbcode.php | 3 | ||||
-rw-r--r-- | include/config.php | 14 | ||||
-rw-r--r-- | include/connections.php | 4 | ||||
-rw-r--r-- | include/conversation.php | 8 | ||||
-rw-r--r-- | include/datetime.php | 1 | ||||
-rw-r--r-- | include/follow.php | 1 | ||||
-rw-r--r-- | include/help.php | 2 | ||||
-rw-r--r-- | include/language.php | 6 | ||||
-rw-r--r-- | include/network.php | 9 | ||||
-rwxr-xr-x | include/oembed.php | 2 | ||||
-rw-r--r-- | include/photo/photo_driver.php | 6 | ||||
-rw-r--r-- | include/photos.php | 2 | ||||
-rwxr-xr-x | include/plugin.php | 11 | ||||
-rw-r--r-- | include/text.php | 28 | ||||
-rw-r--r-- | include/widgets.php | 1 | ||||
-rw-r--r-- | include/zot.php | 4 | ||||
-rwxr-xr-x | view/tpl/atom_feed.tpl | 2 |
30 files changed, 28 insertions, 584 deletions
@@ -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 .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n"; @@ -51,7 +49,6 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) { /* MicMee 20130114 function contact_selector no longer in use, sql table contact does no longer exist function contact_selector($selname, $selclass, $preselected = false, $options) { - $a = get_app(); $mutual = false; $networks = null; @@ -157,7 +154,6 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) { - $a = get_app(); $o = ''; diff --git a/include/activities.php b/include/activities.php index 7b9aa9963..3271db993 100644 --- a/include/activities.php +++ b/include/activities.php @@ -1,7 +1,6 @@ <?php /** @file */ function profile_activity($changed, $value) { - $a = get_app(); if(! local_channel() || ! is_array($changed) || ! count($changed)) return; diff --git a/include/api.php b/include/api.php index ba36cc01a..af5a22a74 100644 --- a/include/api.php +++ b/include/api.php @@ -451,8 +451,6 @@ require_once('include/api_auth.php'); */ function api_apply_template($templatename, $type, $data){ - $a = get_app(); - switch($type){ case "atom": case "rss": @@ -1904,7 +1902,6 @@ require_once('include/api_auth.php'); //logger('api_format_items: ' . print_r($user_info,true)); - $a = get_app(); $ret = array(); if(! $r) diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php index 9167cb5ad..c7d0e56b1 100644 --- a/include/bb2diaspora.php +++ b/include/bb2diaspora.php @@ -479,8 +479,6 @@ function unescape_underscores_in_links($m) { function format_event_diaspora($ev) { - $a = get_app(); - if(! ((is_array($ev)) && count($ev))) return ''; diff --git a/include/bbcode.php b/include/bbcode.php index ba35050e8..1001a4938 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -275,7 +275,6 @@ function bb_location($match) { * @return string HTML iframe with content of $match[1] */ function bb_iframe($match) { - $a = get_app(); $sandbox = ((strpos($match[1], App::get_hostname())) ? ' sandbox="allow-scripts" ' : ''); @@ -449,8 +448,6 @@ function bb_sanitize_style($input) { function bb_observer($Text) { - $a = get_app(); - $observer = App::get_observer(); if ((strpos($Text,'[/observer]') !== false) || (strpos($Text,'[/rpost]') !== false)) { diff --git a/include/config.php b/include/config.php index 29ea10b5a..3017c3865 100644 --- a/include/config.php +++ b/include/config.php @@ -80,7 +80,6 @@ function load_config($family) { * @return mixed Return value or false on error or if not set */ function get_config($family, $key) { - global $a; if((! array_key_exists($family, App::$config)) || (! array_key_exists('config_loaded', App::$config[$family]))) load_config($family); @@ -135,7 +134,6 @@ function get_config_from_storage($family, $key) { * Return the set value, or false if the database update failed */ function set_config($family, $key, $value) { - global $a; // manage array value $dbvalue = ((is_array($value)) ? serialize($value) : $value); @@ -180,7 +178,7 @@ function set_config($family, $key, $value) { * @return mixed */ function del_config($family, $key) { - global $a; + $ret = false; if(array_key_exists($family, App::$config) && array_key_exists($key, App::$config[$family])) @@ -204,7 +202,6 @@ function del_config($family, $key) { * @return void|false Nothing or false if $uid is false */ function load_pconfig($uid) { - global $a; if($uid === false) return false; @@ -249,7 +246,6 @@ function load_pconfig($uid) { */ function get_pconfig($uid, $family, $key, $instore = false) { // logger('include/config.php: get_pconfig() deprecated instore param used', LOGGER_DEBUG); - global $a; if($uid === false) return false; @@ -285,7 +281,6 @@ function get_pconfig($uid, $family, $key, $instore = false) { * @return mixed Stored $value or false */ function set_pconfig($uid, $family, $key, $value) { - global $a; // this catches subtle errors where this function has been called // with local_channel() when not logged in (which returns false) @@ -372,7 +367,7 @@ function set_pconfig($uid, $family, $key, $value) { * @return mixed */ function del_pconfig($uid, $family, $key) { - global $a; + $ret = false; if (x(App::$config[$uid][$family], $key)) @@ -398,7 +393,6 @@ function del_pconfig($uid, $family, $key) { * @return void|false Returns false if xchan is not set */ function load_xconfig($xchan) { - global $a; if(! $xchan) return false; @@ -441,7 +435,6 @@ function load_xconfig($xchan) { * @return mixed Stored $value or false if it does not exist */ function get_xconfig($xchan, $family, $key) { - global $a; if(! $xchan) return false; @@ -477,7 +470,6 @@ function get_xconfig($xchan, $family, $key) { * @return mixed Stored $value or false */ function set_xconfig($xchan, $family, $key, $value) { - global $a; // manage array value $dbvalue = ((is_array($value)) ? serialize($value) : $value); @@ -530,7 +522,7 @@ function set_xconfig($xchan, $family, $key, $value) { * @return mixed */ function del_xconfig($xchan, $family, $key) { - global $a; + $ret = false; if(x(App::$config[$xchan][$family], $key)) diff --git a/include/connections.php b/include/connections.php index c55ffd817..d9331f42f 100644 --- a/include/connections.php +++ b/include/connections.php @@ -72,8 +72,6 @@ function channelx_by_n($id) { function vcard_from_xchan($xchan, $observer = null, $mode = '') { - $a = get_app(); - if(! $xchan) { if(App::$poi) { $xchan = App::$poi; @@ -267,7 +265,7 @@ function channel_remove($channel_id, $local = true, $unset_session=false) { if(! $channel_id) return; - $a = get_app(); + logger('Removing channel: ' . $channel_id); logger('channel_remove: local only: ' . intval($local)); diff --git a/include/conversation.php b/include/conversation.php index f405bc9d5..dabe2ca93 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -858,8 +858,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $ function best_link_url($item) { - $a = get_app(); - $best_url = ''; $sparkle = false; @@ -888,7 +886,7 @@ function best_link_url($item) { function item_photo_menu($item){ - $a = get_app(); + $contact = null; $ssl_state = false; @@ -1408,7 +1406,7 @@ function render_location_default($item) { function prepare_page($item) { - $a = get_app(); + $naked = 1; // $naked = ((get_pconfig($item['uid'],'system','nakedpage')) ? 1 : 0); $observer = App::get_observer(); @@ -1442,7 +1440,7 @@ function prepare_page($item) { function network_tabs() { - $a = get_app(); + $no_active=''; $starred_active = ''; $new_active = ''; diff --git a/include/datetime.php b/include/datetime.php index 83fb49d04..bf58866e9 100644 --- a/include/datetime.php +++ b/include/datetime.php @@ -119,7 +119,6 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d * @return string */ function dob($dob) { - $a = get_app(); list($year, $month, $day) = sscanf($dob, '%4d-%2d-%2d'); $f = get_config('system', 'birthday_input_format'); diff --git a/include/follow.php b/include/follow.php index dd43c7c4c..0c3973175 100644 --- a/include/follow.php +++ b/include/follow.php @@ -17,7 +17,6 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false) $result = array('success' => false,'message' => ''); - $a = get_app(); $is_red = false; $is_http = ((strpos($url,'://') !== false) ? true : false); diff --git a/include/help.php b/include/help.php index 13473164d..5518eeb70 100644 --- a/include/help.php +++ b/include/help.php @@ -24,8 +24,6 @@ function find_doc_file($s) { function search_doc_files($s) { - $a = get_app(); - $itemspage = get_pconfig(local_channel(),'system','itemspage'); \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start'])); diff --git a/include/language.php b/include/language.php index 14139e90c..238c23028 100644 --- a/include/language.php +++ b/include/language.php @@ -82,13 +82,11 @@ function get_best_language() { if($arr['preferred'] !== 'unset') return $arr['preferred']; - $a = get_app(); return ((isset(App::$config['system']['language'])) ? App::$config['system']['language'] : 'en'); } function push_lang($language) { - global $a; App::$langsave = App::$language; @@ -104,7 +102,6 @@ function push_lang($language) { } function pop_lang() { - global $a; if(App::$language === App::$langsave) return; @@ -124,7 +121,6 @@ function pop_lang() { * @param boolean $install (optional) default false */ function load_translation_table($lang, $install = false) { - global $a; App::$strings = array(); @@ -170,7 +166,6 @@ function load_translation_table($lang, $install = false) { * */ function t($s, $ctx = '') { - global $a; $cs = $ctx ? '__ctx:' . $ctx . '__ ' . $s : $s; if (x(App::$strings, $cs)) { @@ -205,7 +200,6 @@ function translate_projectname($s) { * @return string */ function tt($singular, $plural, $count, $ctx = ''){ - $a = get_app(); $cs = $ctx ? "__ctx:" . $ctx . "__ " . $singular : $singular; if (x(App::$strings,$cs)) { diff --git a/include/network.php b/include/network.php index 35f4d113f..dd266f5d1 100644 --- a/include/network.php +++ b/include/network.php @@ -595,8 +595,6 @@ function parse_xml_string($s,$strict = true) { function scale_external_images($s, $include_link = true, $scale_replace = false) { - $a = get_app(); - // Picture addresses can contain special characters $s = htmlspecialchars_decode($s, ENT_COMPAT); @@ -1618,8 +1616,6 @@ function fetch_xrd_links($url) { function scrape_vcard($url) { - $a = get_app(); - $ret = array(); logger('scrape_vcard: url=' . $url); @@ -1699,8 +1695,6 @@ function scrape_vcard($url) { function scrape_feed($url) { - $a = get_app(); - $ret = array(); $level = 0; $x = z_fetch_url($url,false,$level,array('novalidate' => true)); @@ -1938,9 +1932,6 @@ function do_delivery($deliveries) { function get_site_info() { - global $db; - global $a; - $register_policy = Array('REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN'); $directory_mode = Array('DIRECTORY_MODE_NORMAL', 'DIRECTORY_MODE_PRIMARY', 'DIRECTORY_MODE_SECONDARY', 256 => 'DIRECTORY_MODE_STANDALONE'); diff --git a/include/oembed.php b/include/oembed.php index 1e5c51172..08363e488 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -227,7 +227,7 @@ function oembed_fetch_url($embedurl){ } function oembed_format_object($j){ - $a = get_app(); + $embedurl = $j->embedurl; // logger('format: ' . print_r($j,true)); diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 3bea54fd4..e57a9165a 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -521,7 +521,7 @@ function guess_image_type($filename, $headers = '') { logger('Photo: guess_image_type: '.$filename . ($headers?' from curl headers':''), LOGGER_DEBUG); $type = null; if ($headers) { - $a = get_app(); + $hdrs=array(); $h = explode("\n",$headers); foreach ($h as $l) { @@ -580,8 +580,6 @@ function guess_image_type($filename, $headers = '') { function import_xchan_photo($photo,$xchan,$thing = false) { - $a = get_app(); - $flags = (($thing) ? PHOTO_THING : PHOTO_XCHAN); $album = (($thing) ? 'Things' : 'Contact Photos'); @@ -703,8 +701,6 @@ function import_xchan_photo($photo,$xchan,$thing = false) { function import_channel_photo($photo,$type,$aid,$uid) { - $a = get_app(); - logger('import_channel_photo: importing channel photo for ' . $uid, LOGGER_DEBUG); $hash = photo_new_resource(); diff --git a/include/photos.php b/include/photos.php index d8d3d102c..c333a4d04 100644 --- a/include/photos.php +++ b/include/photos.php @@ -19,8 +19,6 @@ require_once('include/text.php'); */ function photo_upload($channel, $observer, $args) { - $a = get_app(); - $ret = array('success' => false); $channel_id = $channel['channel_id']; $account_id = $channel['channel_account_id']; diff --git a/include/plugin.php b/include/plugin.php index 0466360bb..6c108fcc5 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -500,7 +500,7 @@ function get_theme_info($theme){ * @return string */ function get_theme_screenshot($theme) { - $a = get_app(); + $exts = array('.png', '.jpg'); foreach($exts as $ext) { if(file_exists('view/theme/' . $theme . '/img/screenshot' . $ext)) @@ -521,7 +521,7 @@ function head_add_css($src, $media = 'screen') { } function head_remove_css($src, $media = 'screen') { - $a = get_app(); + $index = array_search(array($src, $media), App::$css_sources); if ($index !== false) unset(App::$css_sources[$index]); @@ -592,7 +592,7 @@ function head_add_js($src) { } function head_remove_js($src) { - $a = get_app(); + $index = array_search($src, App::$js_sources); if($index !== false) unset(App::$js_sources[$index]); @@ -633,7 +633,6 @@ function format_js_if_exists($source) { function theme_include($file, $root = '') { - $a = get_app(); // Make sure $root ends with a slash / if it's not blank if($root !== '' && $root[strlen($root)-1] !== '/') @@ -671,7 +670,7 @@ function theme_include($file, $root = '') { function get_intltext_template($s, $root = '') { - $a = get_app(); + $t = App::template_engine(); $template = $t->get_intltext_template($s, $root); @@ -680,7 +679,7 @@ function get_intltext_template($s, $root = '') { function get_markup_template($s, $root = '') { - $a = get_app(); + $t = App::template_engine(); $template = $t->get_markup_template($s, $root); return $template; diff --git a/include/text.php b/include/text.php index caaef664f..a7cc4c9bd 100644 --- a/include/text.php +++ b/include/text.php @@ -20,7 +20,6 @@ define('RANDOM_STRING_TEXT', 0x01 ); * @return string substituted string */ function replace_macros($s, $r) { - $a = get_app(); $arr = array('template' => $s, 'params' => $r); call_hooks('replace_macros', $arr); @@ -96,7 +95,6 @@ function z_input_filter($channel_id,$s,$type = 'text/bbcode') { if($type == 'application/x-pdl') return escape_tags($s); - $a = get_app(); if(App::$is_sys) { return $s; } @@ -653,11 +651,10 @@ function log_priority_str($priority) { * @param int $level A log level. */ function dlogger($msg, $level = 0) { + // turn off logger in install mode - global $a; - global $db; - if((App::$module == 'install') || (! (DBA::$dba && DBA::$dba->connected))) + if(App::$module == 'setup') return; $debugging = get_config('system','debugging'); @@ -815,7 +812,6 @@ function get_mentions($item,$tags) { function contact_block() { $o = ''; - $a = get_app(); if(! App::$profile['uid']) return; @@ -928,7 +924,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { function search($s,$id='search-box',$url='/search',$save = false) { - $a = get_app(); + return replace_macros(get_markup_template('searchbox.tpl'),array( '$s' => $s, '$id' => $id, @@ -1073,7 +1069,7 @@ function get_mood_verbs() { // Function to list all smilies, both internal and from addons // Returns array with keys 'texts' and 'icons' function list_smilies() { - $a = get_app(); + $texts = array( '<3', '</3', @@ -1106,10 +1102,8 @@ function list_smilies() { ':coffee', ':facepalm', ':like', - ':dislike', - 'red#matrix', - 'red#', - 'r#' + ':dislike' + ); $icons = array( @@ -1145,9 +1139,6 @@ function list_smilies() { '<img class="smiley" src="' . z_root() . '/images/smiley-facepalm.gif" alt=":facepalm" />', '<img class="smiley" src="' . z_root() . '/images/like.gif" alt=":like" />', '<img class="smiley" src="' . z_root() . '/images/dislike.gif" alt=":dislike" />', - '<a href="http://getzot.com"><strong>red<img class="smiley bb_rm-logo" src="' . z_root() . '/images/rm-32.png" alt="' . urlencode('red#matrix') . '" />matrix</strong></a>', - '<a href="http://getzot.com"><strong>red<img class="smiley bb_rm-logo" src="' . z_root() . '/images/rm-32.png" alt="' . urlencode('red#') . '" />matrix</strong></a>', - '<a href="http://getzot.com"><strong>red<img class="smiley bb_rm-logo" src="' . z_root() . '/images/rm-32.png" alt="r#" />matrix</strong></a>' ); @@ -1218,7 +1209,7 @@ function smile_unshield($m) { * @param array $x */ function preg_heart($x) { - $a = get_app(); + if (strlen($x[1]) == 1) return $x[0]; @@ -1491,7 +1482,6 @@ function format_event($jobject) { } function prepare_body(&$item,$attach = false) { - require_once('include/channel.php'); call_hooks('prepare_body_init', $item); @@ -1721,7 +1711,6 @@ function feed_hublinks() { /* return atom link elements for salmon endpoints */ function feed_salmonlinks($nick) { - $a = get_app(); $salmon = '<link rel="salmon" href="' . xmlify(z_root() . '/salmon/' . $nick) . '" />' . "\n" ; @@ -1789,7 +1778,7 @@ function mimetype_select($channel_id, $current = 'text/bbcode') { 'application/x-pdl' ); - $a = get_app(); + if(App::$is_sys) { $x[] = 'application/x-php'; } @@ -1822,7 +1811,6 @@ function mimetype_select($channel_id, $current = 'text/bbcode') { function lang_selector() { - global $a; $langs = glob('view/*/hstrings.php'); diff --git a/include/widgets.php b/include/widgets.php index e6d162ccd..c4b80afd0 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -771,7 +771,6 @@ function widget_eventstools($arr) { } function widget_design_tools($arr) { - $a = get_app(); // mod menu doesn't load a profile. For any modules which load a profile, check it. // otherwise local_channel() is sufficient for permissions. diff --git a/include/zot.php b/include/zot.php index cfe524135..9ed3d7d03 100644 --- a/include/zot.php +++ b/include/zot.php @@ -2944,8 +2944,6 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) { if(UNO) return; - $a = get_app(); - logger('build_sync_packet'); if($packet) @@ -3932,8 +3930,6 @@ function zotinfo($arr) { $ret['site']['admin'] = get_config('system','admin_email'); - $a = get_app(); - $visible_plugins = array(); if(is_array(App::$plugins) && count(App::$plugins)) { $r = q("select * from addon where hidden = 0"); diff --git a/view/tpl/atom_feed.tpl b/view/tpl/atom_feed.tpl index 9e5b5a5be..37eaf954a 100755 --- a/view/tpl/atom_feed.tpl +++ b/view/tpl/atom_feed.tpl @@ -13,7 +13,7 @@ <id>{{$feed_id}}</id> <title>{{$feed_title}}</title> - <generator uri="http://getzot.com" version="{{$version}}">{{$red}}</generator> + <generator uri="http://hubzilla.org" version="{{$version}}">{{$red}}</generator> <link rel="license" href="http://creativecommons.org/licenses/by/3.0/" /> <link rel="alternate" type="text/html" href="{{$profile_page}}" /> {{if $hub}} |