Merge remote-tracking branch 'upstream/develop' into 1610-performance
Conflicts: include/Core/Config.php include/Core/PConfig.php
This commit is contained in:
commit
967ecb4205
8
boot.php
8
boot.php
|
@ -1104,6 +1104,9 @@ class App {
|
|||
}
|
||||
|
||||
function save_timestamp($stamp, $value) {
|
||||
if (!isset($a->config['system']['profiler']) || !$a->config['system']['profiler'])
|
||||
return;
|
||||
|
||||
$duration = (float)(microtime(true)-$stamp);
|
||||
|
||||
if (!isset($this->performance[$value])) {
|
||||
|
@ -1190,11 +1193,6 @@ class App {
|
|||
return implode(", ", $callstack);
|
||||
}
|
||||
|
||||
function mark_timestamp($mark) {
|
||||
//$this->performance["markstart"] -= microtime(true) - $this->performance["marktime"];
|
||||
$this->performance["markstart"] = microtime(true) - $this->performance["markstart"] - $this->performance["marktime"];
|
||||
}
|
||||
|
||||
function get_useragent() {
|
||||
return(FRIENDICA_PLATFORM." '".FRIENDICA_CODENAME."' ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION."; ".$this->get_baseurl());
|
||||
}
|
||||
|
|
|
@ -1,20 +1,19 @@
|
|||
Config values that can only be set in .htconfig.php
|
||||
===================================================
|
||||
|
||||
There are some config values that haven't found their way into the administration page. This has several reasons. Maybe they are part of a
|
||||
current development that isn't considered stable and will be added later in the administration page when it is considered safe. Or it triggers
|
||||
something that isn't expected to be of public interest. Or it is for testing purposes only.
|
||||
There are some config values that haven't found their way into the administration page.
|
||||
This has several reasons.
|
||||
Maybe they are part of a current development that isn't considered stable and will be added later in the administration page when it is considered safe.
|
||||
Or it triggers something that isn't expected to be of public interest. Or it is for testing purposes only.
|
||||
|
||||
**Attention:** Please be warned that you shouldn't use one of these values without the knowledge what it could trigger. Especially don't do that with
|
||||
undocumented values.
|
||||
**Attention:** Please be warned that you shouldn't use one of these values without the knowledge what it could trigger.
|
||||
Especially don't do that with undocumented values.
|
||||
|
||||
The header of the section describes the category, the value is the parameter. Example: To set the directory value please add this
|
||||
line to your .htconfig.php:
|
||||
The header of the section describes the category, the value is the parameter.
|
||||
Example: To set the directory value please add this line to your .htconfig.php:
|
||||
|
||||
$a->config['system']['directory'] = 'http://dir.friendi.ca';
|
||||
|
||||
|
||||
|
||||
## Jabber ##
|
||||
* debug (Boolean) - Enable debug level for the jabber account synchronisation.
|
||||
* logfile - Logfile for the jabber account synchronisation.
|
||||
|
@ -51,6 +50,7 @@ line to your .htconfig.php:
|
|||
* ostatus_poll_timeframe - Defines how old an item can be to try to complete the conversation with it.
|
||||
* paranoia (Boolean) - Log out users if their IP address changed.
|
||||
* permit_crawling (Boolean) - Restricts the search for not logged in users to one search per minute.
|
||||
* profiler (Boolean) - Enable internal timings to help optimize code. Needed for "rendertime" addon. Default is false.
|
||||
* free_crawls - Number of "free" searches when "permit_crawling" is activated (Default value is 10)
|
||||
* crawl_permit_period - Period in seconds between allowed searches when the number of free searches is reached and "permit_crawling" is activated (Default value is 60)
|
||||
* png_quality - Default value is 8.
|
||||
|
@ -87,19 +87,15 @@ line to your .htconfig.php:
|
|||
|
||||
# Administrator Options #
|
||||
|
||||
Enabling the admin panel for an account, and thus making the account holder
|
||||
admin of the node, is done by setting the variable
|
||||
Enabling the admin panel for an account, and thus making the account holder admin of the node, is done by setting the variable
|
||||
|
||||
$a->config['admin_email'] = "someone@example.com";
|
||||
|
||||
where you have to match the email address used for the account with the one you
|
||||
enter to the .htconfig file. If more then one account should be able to access
|
||||
the admin panel, seperate the email addresses with a comma.
|
||||
Where you have to match the email address used for the account with the one you enter to the .htconfig file.
|
||||
If more then one account should be able to access the admin panel, seperate the email addresses with a comma.
|
||||
|
||||
$a->config['admin_email'] = "someone@example.com,someonelese@example.com";
|
||||
|
||||
If you want to have a more personalized closing line for the notification
|
||||
emails you can set a variable for the admin_name.
|
||||
If you want to have a more personalized closing line for the notification emails you can set a variable for the admin_name.
|
||||
|
||||
$a->config['admin_name'] = "Marvin";
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ class PConfig {
|
|||
* The value to store
|
||||
* @return mixed Stored $value or false
|
||||
*/
|
||||
public static function set($uid,$family,$key,$value) {
|
||||
public static function set($uid, $family, $key, $value) {
|
||||
|
||||
global $a;
|
||||
|
||||
|
|
|
@ -47,7 +47,11 @@ function nav(&$a) {
|
|||
* @brief Prepares a list of navigation links
|
||||
*
|
||||
* @param App $a
|
||||
* @return array
|
||||
* @return array Navigation links
|
||||
* string 'sitelocation' => The webbie (username@site.com)
|
||||
* array 'nav' => Array of links used in the nav menu
|
||||
* string 'banner' => Formatted html link with banner image
|
||||
* array 'userinfo' => Array of user information (name, icon)
|
||||
*/
|
||||
function nav_info(App $a)
|
||||
{
|
||||
|
@ -188,6 +192,7 @@ function nav_info(App $a)
|
|||
$nav['contacts'] = array('contacts', t('Contacts'), '', t('Manage/edit friends and contacts'));
|
||||
}
|
||||
|
||||
// Show the link to the admin configuration page if user is admin
|
||||
if (is_site_admin()) {
|
||||
$nav['admin'] = array('admin/', t('Admin'), '', t('Site setup and configuration'));
|
||||
}
|
||||
|
@ -210,7 +215,6 @@ function nav_info(App $a)
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set a menu item in navbar as selected
|
||||
*
|
||||
|
|
|
@ -678,11 +678,13 @@ function attribute_contains($attr,$s) {
|
|||
return false;
|
||||
}}
|
||||
|
||||
if(! function_exists('logger')) {
|
||||
if (! function_exists('logger')) {
|
||||
/* setup int->string log level map */
|
||||
$LOGGER_LEVELS = array();
|
||||
|
||||
/**
|
||||
* @brief Logs the given message at the given log level
|
||||
*
|
||||
* log levels:
|
||||
* LOGGER_NORMAL (default)
|
||||
* LOGGER_TRACE
|
||||
|
@ -692,35 +694,43 @@ $LOGGER_LEVELS = array();
|
|||
*
|
||||
* @global App $a
|
||||
* @global dba $db
|
||||
* @global array $LOGGER_LEVELS
|
||||
* @param string $msg
|
||||
* @param int $level
|
||||
*/
|
||||
function logger($msg,$level = 0) {
|
||||
// turn off logger in install mode
|
||||
function logger($msg, $level = 0) {
|
||||
global $a;
|
||||
global $db;
|
||||
global $LOGGER_LEVELS;
|
||||
|
||||
if(($a->module == 'install') || (! ($db && $db->connected))) return;
|
||||
|
||||
if (count($LOGGER_LEVELS)==0){
|
||||
foreach (get_defined_constants() as $k=>$v){
|
||||
if (substr($k,0,7)=="LOGGER_")
|
||||
$LOGGER_LEVELS[$v] = substr($k,7,7);
|
||||
}
|
||||
}
|
||||
|
||||
$debugging = get_config('system','debugging');
|
||||
$loglevel = intval(get_config('system','loglevel'));
|
||||
$logfile = get_config('system','logfile');
|
||||
$loglevel = intval(get_config('system','loglevel'));
|
||||
|
||||
if((! $debugging) || (! $logfile) || ($level > $loglevel))
|
||||
// turn off logger in install mode
|
||||
if (
|
||||
$a->module == 'install'
|
||||
|| ! ($db && $db->connected)
|
||||
|| ! $debugging
|
||||
|| ! $logfile
|
||||
|| $level > $loglevel
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (count($LOGGER_LEVELS) == 0) {
|
||||
foreach (get_defined_constants() as $k => $v) {
|
||||
if (substr($k, 0, 7) == "LOGGER_") {
|
||||
$LOGGER_LEVELS[$v] = substr($k, 7, 7);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$process_id = session_id();
|
||||
|
||||
if ($process_id == "")
|
||||
if ($process_id == '') {
|
||||
$process_id = get_app()->process_id;
|
||||
}
|
||||
|
||||
$callers = debug_backtrace();
|
||||
$logline = sprintf("%s@%s\t[%s]:%s:%s:%s\t%s\n",
|
||||
|
@ -736,7 +746,6 @@ function logger($msg,$level = 0) {
|
|||
$stamp1 = microtime(true);
|
||||
@file_put_contents($logfile, $logline, FILE_APPEND);
|
||||
$a->save_timestamp($stamp1, "file");
|
||||
return;
|
||||
}}
|
||||
|
||||
|
||||
|
|
|
@ -279,7 +279,7 @@ function settings_post(&$a) {
|
|||
return;
|
||||
}
|
||||
|
||||
if(($a->argc > 1) && ($a->argv[1] === 'features')) {
|
||||
if (($a->argc > 1) && ($a->argv[1] === 'features')) {
|
||||
check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
|
||||
foreach($_POST as $k => $v) {
|
||||
if(strpos($k,'feature_') === 0) {
|
||||
|
@ -290,49 +290,50 @@ function settings_post(&$a) {
|
|||
return;
|
||||
}
|
||||
|
||||
if(($a->argc > 1) && ($a->argv[1] === 'display')) {
|
||||
|
||||
if (($a->argc > 1) && ($a->argv[1] === 'display')) {
|
||||
check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
|
||||
|
||||
$theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : $a->user['theme']);
|
||||
$mobile_theme = ((x($_POST,'mobile_theme')) ? notags(trim($_POST['mobile_theme'])) : '');
|
||||
$nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
|
||||
$first_day_of_week = ((x($_POST,'first_day_of_week')) ? intval($_POST['first_day_of_week']) : 0);
|
||||
$noinfo = ((x($_POST,'noinfo')) ? intval($_POST['noinfo']) : 0);
|
||||
$infinite_scroll = ((x($_POST,'infinite_scroll')) ? intval($_POST['infinite_scroll']) : 0);
|
||||
$no_auto_update = ((x($_POST,'no_auto_update')) ? intval($_POST['no_auto_update']) : 0);
|
||||
$browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
|
||||
$theme = x($_POST, 'theme') ? notags(trim($_POST['theme'])) : $a->user['theme'];
|
||||
$mobile_theme = x($_POST, 'mobile_theme') ? notags(trim($_POST['mobile_theme'])) : '';
|
||||
$nosmile = x($_POST, 'nosmile') ? intval($_POST['nosmile']) : 0;
|
||||
$first_day_of_week = x($_POST, 'first_day_of_week') ? intval($_POST['first_day_of_week']) : 0;
|
||||
$noinfo = x($_POST, 'noinfo') ? intval($_POST['noinfo']) : 0;
|
||||
$infinite_scroll = x($_POST, 'infinite_scroll') ? intval($_POST['infinite_scroll']) : 0;
|
||||
$no_auto_update = x($_POST, 'no_auto_update') ? intval($_POST['no_auto_update']) : 0;
|
||||
$bandwidth_saver = x($_POST, 'bandwidth_saver') ? intval($_POST['bandwidth_saver']) : 0;
|
||||
$browser_update = x($_POST, 'browser_update') ? intval($_POST['browser_update']) : 0;
|
||||
if ($browser_update != -1) {
|
||||
$browser_update = $browser_update * 1000;
|
||||
if ($browser_update < 10000)
|
||||
$browser_update = 10000;
|
||||
}
|
||||
|
||||
$itemspage_network = ((x($_POST,'itemspage_network')) ? intval($_POST['itemspage_network']) : 40);
|
||||
if($itemspage_network > 100)
|
||||
$itemspage_network = x($_POST,'itemspage_network') ? intval($_POST['itemspage_network']) : 40;
|
||||
if ($itemspage_network > 100) {
|
||||
$itemspage_network = 100;
|
||||
$itemspage_mobile_network = ((x($_POST,'itemspage_mobile_network')) ? intval($_POST['itemspage_mobile_network']) : 20);
|
||||
if($itemspage_mobile_network > 100)
|
||||
}
|
||||
$itemspage_mobile_network = x($_POST,'itemspage_mobile_network') ? intval($_POST['itemspage_mobile_network']) : 20;
|
||||
if ($itemspage_mobile_network > 100) {
|
||||
$itemspage_mobile_network = 100;
|
||||
|
||||
}
|
||||
|
||||
if($mobile_theme !== '') {
|
||||
set_pconfig(local_user(),'system','mobile_theme',$mobile_theme);
|
||||
}
|
||||
|
||||
set_pconfig(local_user(),'system','update_interval', $browser_update);
|
||||
set_pconfig(local_user(),'system','itemspage_network', $itemspage_network);
|
||||
set_pconfig(local_user(),'system','itemspage_mobile_network', $itemspage_mobile_network);
|
||||
set_pconfig(local_user(),'system','no_smilies',$nosmile);
|
||||
set_pconfig(local_user(),'system','first_day_of_week',$first_day_of_week);
|
||||
set_pconfig(local_user(),'system','ignore_info',$noinfo);
|
||||
set_pconfig(local_user(),'system','infinite_scroll',$infinite_scroll);
|
||||
set_pconfig(local_user(),'system','no_auto_update',$no_auto_update);
|
||||
set_pconfig(local_user(), 'system', 'update_interval' , $browser_update);
|
||||
set_pconfig(local_user(), 'system', 'itemspage_network' , $itemspage_network);
|
||||
set_pconfig(local_user(), 'system', 'itemspage_mobile_network', $itemspage_mobile_network);
|
||||
set_pconfig(local_user(), 'system', 'no_smilies' , $nosmile);
|
||||
set_pconfig(local_user(), 'system', 'first_day_of_week' , $first_day_of_week);
|
||||
set_pconfig(local_user(), 'system', 'ignore_info' , $noinfo);
|
||||
set_pconfig(local_user(), 'system', 'infinite_scroll' , $infinite_scroll);
|
||||
set_pconfig(local_user(), 'system', 'no_auto_update' , $no_auto_update);
|
||||
set_pconfig(local_user(), 'system', 'bandwidth_saver' , $bandwidth_saver);
|
||||
|
||||
|
||||
if ($theme == $a->user['theme']){
|
||||
if ($theme == $a->user['theme']) {
|
||||
// call theme_post only if theme has not been changed
|
||||
if( ($themeconfigfile = get_theme_config_file($theme)) != null){
|
||||
if (($themeconfigfile = get_theme_config_file($theme)) != null) {
|
||||
require_once($themeconfigfile);
|
||||
theme_post($a);
|
||||
}
|
||||
|
@ -975,8 +976,11 @@ function settings_content(&$a) {
|
|||
$no_auto_update = get_pconfig(local_user(),'system','no_auto_update');
|
||||
$no_auto_update = (($no_auto_update===false)? '0': $no_auto_update); // default if not set: 0
|
||||
|
||||
$bandwidth_saver = get_pconfig(local_user(), 'system', 'bandwidth_saver');
|
||||
$bandwidth_saver = (($bandwidth_saver === false) ? '0' : $bandwidth_saver); // default if not set: 0
|
||||
|
||||
$theme_config = "";
|
||||
if( ($themeconfigfile = get_theme_config_file($theme_selected)) != null){
|
||||
if (($themeconfigfile = get_theme_config_file($theme_selected)) != null) {
|
||||
require_once($themeconfigfile);
|
||||
$theme_config = theme_content($a);
|
||||
}
|
||||
|
@ -1000,6 +1004,7 @@ function settings_content(&$a) {
|
|||
'$noinfo' => array('noinfo', t("Don't show notices"), $noinfo, ''),
|
||||
'$infinite_scroll' => array('infinite_scroll', t("Infinite scroll"), $infinite_scroll, ''),
|
||||
'$no_auto_update' => array('no_auto_update', t("Automatic updates only at the top of the network page"), $no_auto_update, 'When disabled, the network page is updated all the time, which could be confusing while reading.'),
|
||||
'$bandwidth_saver' => array('bandwidth_saver', t('Bandwith Saver Mode'), $bandwidth_saver, 'When enabled, embedded content is not displayed on automatic updates, they only show on page reload.'),
|
||||
|
||||
'$d_tset' => t('General Theme Settings'),
|
||||
'$d_ctset' => t('Custom Theme Settings'),
|
||||
|
@ -1347,4 +1352,3 @@ function settings_content(&$a) {
|
|||
return $o;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
// See update_profile.php for documentation
|
||||
|
||||
require_once('mod/community.php');
|
||||
require_once("mod/community.php");
|
||||
|
||||
function update_community_content(&$a) {
|
||||
|
||||
|
@ -10,12 +10,13 @@ function update_community_content(&$a) {
|
|||
echo "<!DOCTYPE html><html><body>\r\n";
|
||||
echo "<section>";
|
||||
|
||||
$text = community_content($a,true);
|
||||
$text = community_content($a, true);
|
||||
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
|
||||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
|
||||
if (get_pconfig(local_user(), "system", "bandwith_saver")) {
|
||||
$replace = "<br />".t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||
|
@ -24,10 +25,10 @@ function update_community_content(&$a) {
|
|||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
}
|
||||
|
||||
echo str_replace("\t",' ',$text);
|
||||
echo str_replace("\t", " ", $text);
|
||||
echo "</section>";
|
||||
echo "</body></html>\r\n";
|
||||
killme();
|
||||
|
||||
}
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
// See update_profile.php for documentation
|
||||
|
||||
require_once('mod/display.php');
|
||||
require_once('include/group.php');
|
||||
require_once("mod/display.php");
|
||||
require_once("include/group.php");
|
||||
|
||||
function update_display_content(&$a) {
|
||||
|
||||
$profile_uid = intval($_GET['p']);
|
||||
$profile_uid = intval($_GET["p"]);
|
||||
|
||||
header("Content-type: text/html");
|
||||
echo "<!DOCTYPE html><html><body>\r\n";
|
||||
|
@ -19,7 +19,8 @@ function update_display_content(&$a) {
|
|||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
|
||||
if (get_pconfig(local_user(), "system", "bandwith_saver")) {
|
||||
$replace = "<br />".t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||
|
@ -28,11 +29,10 @@ function update_display_content(&$a) {
|
|||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
}
|
||||
|
||||
|
||||
echo str_replace("\t",' ',$text);
|
||||
echo str_replace("\t", " ", $text);
|
||||
echo "</section>";
|
||||
echo "</body></html>\r\n";
|
||||
killme();
|
||||
|
||||
}
|
||||
|
|
|
@ -2,27 +2,29 @@
|
|||
|
||||
// See update_profile.php for documentation
|
||||
|
||||
require_once('mod/network.php');
|
||||
require_once('include/group.php');
|
||||
require_once("mod/network.php");
|
||||
require_once("include/group.php");
|
||||
|
||||
function update_network_content(&$a) {
|
||||
|
||||
$profile_uid = intval($_GET['p']);
|
||||
$profile_uid = intval($_GET["p"]);
|
||||
|
||||
header("Content-type: text/html");
|
||||
echo "<!DOCTYPE html><html><body>\r\n";
|
||||
echo "<section>";
|
||||
|
||||
if (!get_pconfig($profile_uid, "system", "no_auto_update") OR ($_GET['force'] == 1))
|
||||
$text = network_content($a,$profile_uid);
|
||||
else
|
||||
if (!get_pconfig($profile_uid, "system", "no_auto_update") OR ($_GET["force"] == 1)) {
|
||||
$text = network_content($a, $profile_uid);
|
||||
} else {
|
||||
$text = "";
|
||||
}
|
||||
|
||||
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
|
||||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
|
||||
if (get_pconfig(local_user(), "system", "bandwith_saver")) {
|
||||
$replace = "<br />".t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||
|
@ -31,11 +33,10 @@ function update_network_content(&$a) {
|
|||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
}
|
||||
|
||||
|
||||
echo str_replace("\t",' ',$text);
|
||||
echo str_replace("\t", " ", $text);
|
||||
echo "</section>";
|
||||
echo "</body></html>\r\n";
|
||||
killme();
|
||||
|
||||
}
|
||||
|
|
|
@ -1,17 +1,15 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Module: update_profile
|
||||
* Purpose: AJAX synchronisation of profile page
|
||||
*
|
||||
* Module: update_notes
|
||||
* Purpose: AJAX synchronisation of notes page
|
||||
*/
|
||||
|
||||
|
||||
require_once('mod/notes.php');
|
||||
require_once("mod/notes.php");
|
||||
|
||||
function update_notes_content(&$a) {
|
||||
|
||||
$profile_uid = intval($_GET['p']);
|
||||
$profile_uid = intval($_GET["p"]);
|
||||
|
||||
header("Content-type: text/html");
|
||||
echo "<!DOCTYPE html><html><body>\r\n";
|
||||
|
@ -28,13 +26,14 @@ function update_notes_content(&$a) {
|
|||
*
|
||||
*/
|
||||
|
||||
$text = notes_content($a,$profile_uid);
|
||||
$text = notes_content($a, $profile_uid);
|
||||
|
||||
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
|
||||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
|
||||
if (get_pconfig(local_user(), "system", "bandwith_saver")) {
|
||||
$replace = "<br />".t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||
|
@ -43,14 +42,11 @@ function update_notes_content(&$a) {
|
|||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
}
|
||||
|
||||
/**
|
||||
* reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
||||
*/
|
||||
|
||||
echo str_replace("\t",' ',$text);
|
||||
// reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
||||
echo str_replace("\t", " ", $text);
|
||||
echo "</section>";
|
||||
echo "</body></html>\r\n";
|
||||
killme();
|
||||
|
||||
}
|
|
@ -3,42 +3,36 @@
|
|||
/**
|
||||
* Module: update_profile
|
||||
* Purpose: AJAX synchronisation of profile page
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
require_once('mod/profile.php');
|
||||
require_once("mod/profile.php");
|
||||
|
||||
function update_profile_content(&$a) {
|
||||
|
||||
$profile_uid = intval($_GET['p']);
|
||||
$profile_uid = intval($_GET["p"]);
|
||||
|
||||
header("Content-type: text/html");
|
||||
echo "<!DOCTYPE html><html><body>\r\n";
|
||||
|
||||
/**
|
||||
* We can remove this hack once Internet Explorer recognises HTML5 natively
|
||||
*/
|
||||
|
||||
// We can remove this hack once Internet Explorer recognises HTML5 natively
|
||||
echo "<section>";
|
||||
|
||||
/**
|
||||
*
|
||||
* Grab the page inner contents by calling the content function from the profile module directly,
|
||||
* but move any image src attributes to another attribute name. This is because
|
||||
* some browsers will prefetch all the images for the page even if we don't need them.
|
||||
* The only ones we need to fetch are those for new page additions, which we'll discover
|
||||
* on the client side and then swap the image back.
|
||||
*
|
||||
*/
|
||||
|
||||
$text = profile_content($a,$profile_uid);
|
||||
$text = profile_content($a, $profile_uid);
|
||||
|
||||
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
|
||||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
|
||||
if (get_pconfig(local_user(), "system", "bandwith_saver")) {
|
||||
$replace = "<br />".t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||
|
@ -47,14 +41,11 @@ function update_profile_content(&$a) {
|
|||
$text = preg_replace($pattern, $replace, $text);
|
||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
}
|
||||
|
||||
/**
|
||||
* reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
||||
*/
|
||||
|
||||
echo str_replace("\t",' ',$text);
|
||||
// reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
||||
echo str_replace("\t", " ", $text);
|
||||
echo "</section>";
|
||||
echo "</body></html>\r\n";
|
||||
killme();
|
||||
|
||||
}
|
|
@ -145,7 +145,6 @@ class Conversation extends BaseObject {
|
|||
$result[] = $item_data;
|
||||
}
|
||||
|
||||
//$a->mark_timestamp();
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<div class='field checkbox' id='div_id_{{$field.0}}'>
|
||||
<label for='id_{{$field.0}}'>{{$field.1}}</label>
|
||||
<input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' aria-describedby='{{$field.0}}_tip' value="1" {{if $field.2}}checked="checked"{{/if}}>
|
||||
<span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
|
||||
<div class="field checkbox" id="div_id_{{$field.0}}">
|
||||
<label for="id_{{$field.0}}">{{$field.1}}</label>
|
||||
<input type="hidden" name="{{$field.0}}" value="0">
|
||||
<input type="checkbox" name="{{$field.0}}" id="id_{{$field.0}}" aria-describedby="{{$field.0}}_tip" value="1" {{if $field.2}}checked="checked"{{/if}}>
|
||||
<span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
|
||||
</div>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
{{include file="field_checkbox.tpl" field=$nosmile}}
|
||||
{{include file="field_checkbox.tpl" field=$noinfo}}
|
||||
{{include file="field_checkbox.tpl" field=$infinite_scroll}}
|
||||
{{include file="field_checkbox.tpl" field=$bandwidth_saver}}
|
||||
<h2>{{$calendar_title}}</h2>
|
||||
{{include file="field_select.tpl" field=$first_day_of_week}}
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
|
||||
|
||||
<div class='field checkbox' id='div_id_{{$field.0}}'>
|
||||
<label id='label_id_{{$field.0}}' for='id_{{$field.0}}'>{{$field.1}}</label>
|
||||
<input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}><br />
|
||||
<span class='field_help' id='help_id_{{$field.0}}'>{{$field.3}}</span>
|
||||
<div class="field checkbox" id="div_id_{{$field.0}}">
|
||||
<label id="label_id_{{$field.0}}" for="id_{{$field.0}}">{{$field.1}}</label>
|
||||
<input type="hidden" name="{{$field.0}}" value="0">
|
||||
<input type="checkbox" name="{{$field.0}}" id="id_{{$field.0}}" value="1" {{if $field.2}}checked="checked"{{/if}}><br />
|
||||
<span class="field_help" id="help_id_{{$field.0}}">{{$field.3}}</span>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
<div class="field checkbox" id='div_id_{{$field.0}}'>
|
||||
<input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}>
|
||||
<div class="field checkbox" id="div_id_{{$field.0}}">
|
||||
<input type="hidden" name="{{$field.0}}" value="0">
|
||||
<input type="checkbox" name="{{$field.0}}" id="id_{{$field.0}}" value="1" {{if $field.2}}checked="checked"{{/if}}>
|
||||
<label for="id_{{$field.0}}">
|
||||
{{$field.1}}
|
||||
<p class="help-block">{{$field.3}}</p>
|
||||
|
|
|
@ -70,6 +70,7 @@
|
|||
{{include file="field_checkbox.tpl" field=$nosmile}}
|
||||
{{include file="field_checkbox.tpl" field=$noinfo}}
|
||||
{{include file="field_checkbox.tpl" field=$infinite_scroll}}
|
||||
{{include file="field_checkbox.tpl" field=$bandwidth_saver}}
|
||||
|
||||
<div class="form-group pull-right settings-submit-wrapper" >
|
||||
<button type="submit" name="submit" class="btn btn-primary" value="{{$submit|escape:'html'}}">{{$submit}}</button>
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
|
||||
|
||||
<div class='field checkbox' id='div_id_{{$field.0}}'>
|
||||
<label id='label_id_{{$field.0}}' for='id_{{$field.0}}'>{{$field.1}}</label>
|
||||
<input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}><br />
|
||||
<span class='field_help' id='help_id_{{$field.0}}'>{{$field.3}}</span>
|
||||
<div class="field checkbox" id="div_id_{{$field.0}}">
|
||||
<label id="label_id_{{$field.0}}" for="id_{{$field.0}}">{{$field.1}}</label>
|
||||
<input type="hidden" name="{{$field.0}}" value="0">
|
||||
<input type="checkbox" name="{{$field.0}}" id="id_{{$field.0}}" value="1" {{if $field.2}}checked="checked"{{/if}}><br />
|
||||
<span class="field_help" id="help_id_{{$field.0}}">{{$field.3}}</span>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue