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
18 changed files with 208 additions and 203 deletions
8
boot.php
8
boot.php
|
@ -1104,6 +1104,9 @@ class App {
|
||||||
}
|
}
|
||||||
|
|
||||||
function save_timestamp($stamp, $value) {
|
function save_timestamp($stamp, $value) {
|
||||||
|
if (!isset($a->config['system']['profiler']) || !$a->config['system']['profiler'])
|
||||||
|
return;
|
||||||
|
|
||||||
$duration = (float)(microtime(true)-$stamp);
|
$duration = (float)(microtime(true)-$stamp);
|
||||||
|
|
||||||
if (!isset($this->performance[$value])) {
|
if (!isset($this->performance[$value])) {
|
||||||
|
@ -1190,11 +1193,6 @@ class App {
|
||||||
return implode(", ", $callstack);
|
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() {
|
function get_useragent() {
|
||||||
return(FRIENDICA_PLATFORM." '".FRIENDICA_CODENAME."' ".FRIENDICA_VERSION."-".DB_UPDATE_VERSION."; ".$this->get_baseurl());
|
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
|
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
|
There are some config values that haven't found their way into the administration page.
|
||||||
current development that isn't considered stable and will be added later in the administration page when it is considered safe. Or it triggers
|
This has several reasons.
|
||||||
something that isn't expected to be of public interest. Or it is for testing purposes only.
|
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
|
**Attention:** Please be warned that you shouldn't use one of these values without the knowledge what it could trigger.
|
||||||
undocumented values.
|
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
|
The header of the section describes the category, the value is the parameter.
|
||||||
line to your .htconfig.php:
|
Example: To set the directory value please add this line to your .htconfig.php:
|
||||||
|
|
||||||
$a->config['system']['directory'] = 'http://dir.friendi.ca';
|
$a->config['system']['directory'] = 'http://dir.friendi.ca';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Jabber ##
|
## Jabber ##
|
||||||
* debug (Boolean) - Enable debug level for the jabber account synchronisation.
|
* debug (Boolean) - Enable debug level for the jabber account synchronisation.
|
||||||
* logfile - Logfile 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.
|
* 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.
|
* 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.
|
* 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)
|
* 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)
|
* 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.
|
* png_quality - Default value is 8.
|
||||||
|
@ -87,19 +87,15 @@ line to your .htconfig.php:
|
||||||
|
|
||||||
# Administrator Options #
|
# Administrator Options #
|
||||||
|
|
||||||
Enabling the admin panel for an account, and thus making the account holder
|
Enabling the admin panel for an account, and thus making the account holder admin of the node, is done by setting the variable
|
||||||
admin of the node, is done by setting the variable
|
|
||||||
|
|
||||||
$a->config['admin_email'] = "someone@example.com";
|
$a->config['admin_email'] = "someone@example.com";
|
||||||
|
|
||||||
where you have to match the email address used for the account with the one you
|
Where you have to match the email address used for the account with the one you enter to the .htconfig file.
|
||||||
enter to the .htconfig file. If more then one account should be able to access
|
If more then one account should be able to access the admin panel, seperate the email addresses with a comma.
|
||||||
the admin panel, seperate the email addresses with a comma.
|
|
||||||
|
|
||||||
$a->config['admin_email'] = "someone@example.com,someonelese@example.com";
|
$a->config['admin_email'] = "someone@example.com,someonelese@example.com";
|
||||||
|
|
||||||
If you want to have a more personalized closing line for the notification
|
If you want to have a more personalized closing line for the notification emails you can set a variable for the admin_name.
|
||||||
emails you can set a variable for the admin_name.
|
|
||||||
|
|
||||||
$a->config['admin_name'] = "Marvin";
|
$a->config['admin_name'] = "Marvin";
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,11 @@ function nav(&$a) {
|
||||||
* @brief Prepares a list of navigation links
|
* @brief Prepares a list of navigation links
|
||||||
*
|
*
|
||||||
* @param App $a
|
* @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)
|
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'));
|
$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()) {
|
if (is_site_admin()) {
|
||||||
$nav['admin'] = array('admin/', t('Admin'), '', t('Site setup and configuration'));
|
$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
|
* Set a menu item in navbar as selected
|
||||||
*
|
*
|
||||||
|
|
|
@ -683,6 +683,8 @@ if(! function_exists('logger')) {
|
||||||
$LOGGER_LEVELS = array();
|
$LOGGER_LEVELS = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @brief Logs the given message at the given log level
|
||||||
|
*
|
||||||
* log levels:
|
* log levels:
|
||||||
* LOGGER_NORMAL (default)
|
* LOGGER_NORMAL (default)
|
||||||
* LOGGER_TRACE
|
* LOGGER_TRACE
|
||||||
|
@ -692,35 +694,43 @@ $LOGGER_LEVELS = array();
|
||||||
*
|
*
|
||||||
* @global App $a
|
* @global App $a
|
||||||
* @global dba $db
|
* @global dba $db
|
||||||
|
* @global array $LOGGER_LEVELS
|
||||||
* @param string $msg
|
* @param string $msg
|
||||||
* @param int $level
|
* @param int $level
|
||||||
*/
|
*/
|
||||||
function logger($msg, $level = 0) {
|
function logger($msg, $level = 0) {
|
||||||
// turn off logger in install mode
|
|
||||||
global $a;
|
global $a;
|
||||||
global $db;
|
global $db;
|
||||||
global $LOGGER_LEVELS;
|
global $LOGGER_LEVELS;
|
||||||
|
|
||||||
if(($a->module == 'install') || (! ($db && $db->connected))) return;
|
$debugging = get_config('system','debugging');
|
||||||
|
$logfile = get_config('system','logfile');
|
||||||
|
$loglevel = intval(get_config('system','loglevel'));
|
||||||
|
|
||||||
|
// turn off logger in install mode
|
||||||
|
if (
|
||||||
|
$a->module == 'install'
|
||||||
|
|| ! ($db && $db->connected)
|
||||||
|
|| ! $debugging
|
||||||
|
|| ! $logfile
|
||||||
|
|| $level > $loglevel
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (count($LOGGER_LEVELS) == 0) {
|
if (count($LOGGER_LEVELS) == 0) {
|
||||||
foreach (get_defined_constants() as $k => $v) {
|
foreach (get_defined_constants() as $k => $v) {
|
||||||
if (substr($k,0,7)=="LOGGER_")
|
if (substr($k, 0, 7) == "LOGGER_") {
|
||||||
$LOGGER_LEVELS[$v] = substr($k, 7, 7);
|
$LOGGER_LEVELS[$v] = substr($k, 7, 7);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$debugging = get_config('system','debugging');
|
|
||||||
$loglevel = intval(get_config('system','loglevel'));
|
|
||||||
$logfile = get_config('system','logfile');
|
|
||||||
|
|
||||||
if((! $debugging) || (! $logfile) || ($level > $loglevel))
|
|
||||||
return;
|
|
||||||
|
|
||||||
$process_id = session_id();
|
$process_id = session_id();
|
||||||
|
|
||||||
if ($process_id == "")
|
if ($process_id == '') {
|
||||||
$process_id = get_app()->process_id;
|
$process_id = get_app()->process_id;
|
||||||
|
}
|
||||||
|
|
||||||
$callers = debug_backtrace();
|
$callers = debug_backtrace();
|
||||||
$logline = sprintf("%s@%s\t[%s]:%s:%s:%s\t%s\n",
|
$logline = sprintf("%s@%s\t[%s]:%s:%s:%s\t%s\n",
|
||||||
|
@ -736,7 +746,6 @@ function logger($msg,$level = 0) {
|
||||||
$stamp1 = microtime(true);
|
$stamp1 = microtime(true);
|
||||||
@file_put_contents($logfile, $logline, FILE_APPEND);
|
@file_put_contents($logfile, $logline, FILE_APPEND);
|
||||||
$a->save_timestamp($stamp1, "file");
|
$a->save_timestamp($stamp1, "file");
|
||||||
return;
|
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -291,30 +291,31 @@ function settings_post(&$a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
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');
|
check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
|
||||||
|
|
||||||
$theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : $a->user['theme']);
|
$theme = x($_POST, 'theme') ? notags(trim($_POST['theme'])) : $a->user['theme'];
|
||||||
$mobile_theme = ((x($_POST,'mobile_theme')) ? notags(trim($_POST['mobile_theme'])) : '');
|
$mobile_theme = x($_POST, 'mobile_theme') ? notags(trim($_POST['mobile_theme'])) : '';
|
||||||
$nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
|
$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);
|
$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);
|
$noinfo = x($_POST, 'noinfo') ? intval($_POST['noinfo']) : 0;
|
||||||
$infinite_scroll = ((x($_POST,'infinite_scroll')) ? intval($_POST['infinite_scroll']) : 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);
|
$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);
|
$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) {
|
if ($browser_update != -1) {
|
||||||
$browser_update = $browser_update * 1000;
|
$browser_update = $browser_update * 1000;
|
||||||
if ($browser_update < 10000)
|
if ($browser_update < 10000)
|
||||||
$browser_update = 10000;
|
$browser_update = 10000;
|
||||||
}
|
}
|
||||||
|
|
||||||
$itemspage_network = ((x($_POST,'itemspage_network')) ? intval($_POST['itemspage_network']) : 40);
|
$itemspage_network = x($_POST,'itemspage_network') ? intval($_POST['itemspage_network']) : 40;
|
||||||
if($itemspage_network > 100)
|
if ($itemspage_network > 100) {
|
||||||
$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;
|
$itemspage_mobile_network = 100;
|
||||||
|
}
|
||||||
|
|
||||||
if($mobile_theme !== '') {
|
if($mobile_theme !== '') {
|
||||||
set_pconfig(local_user(),'system','mobile_theme',$mobile_theme);
|
set_pconfig(local_user(),'system','mobile_theme',$mobile_theme);
|
||||||
|
@ -328,7 +329,7 @@ function settings_post(&$a) {
|
||||||
set_pconfig(local_user(), 'system', 'ignore_info' , $noinfo);
|
set_pconfig(local_user(), 'system', 'ignore_info' , $noinfo);
|
||||||
set_pconfig(local_user(), 'system', 'infinite_scroll' , $infinite_scroll);
|
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', '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
|
// call theme_post only if theme has not been changed
|
||||||
|
@ -975,6 +976,9 @@ function settings_content(&$a) {
|
||||||
$no_auto_update = get_pconfig(local_user(),'system','no_auto_update');
|
$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
|
$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 = "";
|
$theme_config = "";
|
||||||
if (($themeconfigfile = get_theme_config_file($theme_selected)) != null) {
|
if (($themeconfigfile = get_theme_config_file($theme_selected)) != null) {
|
||||||
require_once($themeconfigfile);
|
require_once($themeconfigfile);
|
||||||
|
@ -1000,6 +1004,7 @@ function settings_content(&$a) {
|
||||||
'$noinfo' => array('noinfo', t("Don't show notices"), $noinfo, ''),
|
'$noinfo' => array('noinfo', t("Don't show notices"), $noinfo, ''),
|
||||||
'$infinite_scroll' => array('infinite_scroll', t("Infinite scroll"), $infinite_scroll, ''),
|
'$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.'),
|
'$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_tset' => t('General Theme Settings'),
|
||||||
'$d_ctset' => t('Custom Theme Settings'),
|
'$d_ctset' => t('Custom Theme Settings'),
|
||||||
|
@ -1347,4 +1352,3 @@ function settings_content(&$a) {
|
||||||
return $o;
|
return $o;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
// See update_profile.php for documentation
|
// See update_profile.php for documentation
|
||||||
|
|
||||||
require_once('mod/community.php');
|
require_once("mod/community.php");
|
||||||
|
|
||||||
function update_community_content(&$a) {
|
function update_community_content(&$a) {
|
||||||
|
|
||||||
|
@ -15,7 +15,8 @@ function update_community_content(&$a) {
|
||||||
$replace = "<img\${1} dst=\"\${2}\"";
|
$replace = "<img\${1} dst=\"\${2}\"";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$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";
|
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||||
|
@ -24,10 +25,10 @@ function update_community_content(&$a) {
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
|
}
|
||||||
|
|
||||||
echo str_replace("\t",' ',$text);
|
echo str_replace("\t", " ", $text);
|
||||||
echo "</section>";
|
echo "</section>";
|
||||||
echo "</body></html>\r\n";
|
echo "</body></html>\r\n";
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
}
|
}
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
// See update_profile.php for documentation
|
// See update_profile.php for documentation
|
||||||
|
|
||||||
require_once('mod/display.php');
|
require_once("mod/display.php");
|
||||||
require_once('include/group.php');
|
require_once("include/group.php");
|
||||||
|
|
||||||
function update_display_content(&$a) {
|
function update_display_content(&$a) {
|
||||||
|
|
||||||
$profile_uid = intval($_GET['p']);
|
$profile_uid = intval($_GET["p"]);
|
||||||
|
|
||||||
header("Content-type: text/html");
|
header("Content-type: text/html");
|
||||||
echo "<!DOCTYPE html><html><body>\r\n";
|
echo "<!DOCTYPE html><html><body>\r\n";
|
||||||
|
@ -19,7 +19,8 @@ function update_display_content(&$a) {
|
||||||
$replace = "<img\${1} dst=\"\${2}\"";
|
$replace = "<img\${1} dst=\"\${2}\"";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$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";
|
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||||
|
@ -28,11 +29,10 @@ function update_display_content(&$a) {
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo str_replace("\t", " ", $text);
|
||||||
echo str_replace("\t",' ',$text);
|
|
||||||
echo "</section>";
|
echo "</section>";
|
||||||
echo "</body></html>\r\n";
|
echo "</body></html>\r\n";
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,27 +2,29 @@
|
||||||
|
|
||||||
// See update_profile.php for documentation
|
// See update_profile.php for documentation
|
||||||
|
|
||||||
require_once('mod/network.php');
|
require_once("mod/network.php");
|
||||||
require_once('include/group.php');
|
require_once("include/group.php");
|
||||||
|
|
||||||
function update_network_content(&$a) {
|
function update_network_content(&$a) {
|
||||||
|
|
||||||
$profile_uid = intval($_GET['p']);
|
$profile_uid = intval($_GET["p"]);
|
||||||
|
|
||||||
header("Content-type: text/html");
|
header("Content-type: text/html");
|
||||||
echo "<!DOCTYPE html><html><body>\r\n";
|
echo "<!DOCTYPE html><html><body>\r\n";
|
||||||
echo "<section>";
|
echo "<section>";
|
||||||
|
|
||||||
if (!get_pconfig($profile_uid, "system", "no_auto_update") OR ($_GET['force'] == 1))
|
if (!get_pconfig($profile_uid, "system", "no_auto_update") OR ($_GET["force"] == 1)) {
|
||||||
$text = network_content($a, $profile_uid);
|
$text = network_content($a, $profile_uid);
|
||||||
else
|
} else {
|
||||||
$text = "";
|
$text = "";
|
||||||
|
}
|
||||||
|
|
||||||
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
|
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
|
||||||
$replace = "<img\${1} dst=\"\${2}\"";
|
$replace = "<img\${1} dst=\"\${2}\"";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$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";
|
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||||
|
@ -31,11 +33,10 @@ function update_network_content(&$a) {
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo str_replace("\t", " ", $text);
|
||||||
echo str_replace("\t",' ',$text);
|
|
||||||
echo "</section>";
|
echo "</section>";
|
||||||
echo "</body></html>\r\n";
|
echo "</body></html>\r\n";
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Module: update_profile
|
* Module: update_notes
|
||||||
* Purpose: AJAX synchronisation of profile page
|
* Purpose: AJAX synchronisation of notes page
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once("mod/notes.php");
|
||||||
require_once('mod/notes.php');
|
|
||||||
|
|
||||||
function update_notes_content(&$a) {
|
function update_notes_content(&$a) {
|
||||||
|
|
||||||
$profile_uid = intval($_GET['p']);
|
$profile_uid = intval($_GET["p"]);
|
||||||
|
|
||||||
header("Content-type: text/html");
|
header("Content-type: text/html");
|
||||||
echo "<!DOCTYPE html><html><body>\r\n";
|
echo "<!DOCTYPE html><html><body>\r\n";
|
||||||
|
@ -34,7 +32,8 @@ function update_notes_content(&$a) {
|
||||||
$replace = "<img\${1} dst=\"\${2}\"";
|
$replace = "<img\${1} dst=\"\${2}\"";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$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";
|
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||||
|
@ -43,14 +42,11 @@ function update_notes_content(&$a) {
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
// reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
||||||
* reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
echo str_replace("\t", " ", $text);
|
||||||
*/
|
|
||||||
|
|
||||||
echo str_replace("\t",' ',$text);
|
|
||||||
echo "</section>";
|
echo "</section>";
|
||||||
echo "</body></html>\r\n";
|
echo "</body></html>\r\n";
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
}
|
}
|
|
@ -3,33 +3,26 @@
|
||||||
/**
|
/**
|
||||||
* Module: update_profile
|
* Module: update_profile
|
||||||
* Purpose: AJAX synchronisation of profile page
|
* Purpose: AJAX synchronisation of profile page
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once("mod/profile.php");
|
||||||
require_once('mod/profile.php');
|
|
||||||
|
|
||||||
function update_profile_content(&$a) {
|
function update_profile_content(&$a) {
|
||||||
|
|
||||||
$profile_uid = intval($_GET['p']);
|
$profile_uid = intval($_GET["p"]);
|
||||||
|
|
||||||
header("Content-type: text/html");
|
header("Content-type: text/html");
|
||||||
echo "<!DOCTYPE html><html><body>\r\n";
|
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>";
|
echo "<section>";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Grab the page inner contents by calling the content function from the profile module directly,
|
* 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
|
* 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.
|
* 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
|
* 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.
|
* on the client side and then swap the image back.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$text = profile_content($a, $profile_uid);
|
$text = profile_content($a, $profile_uid);
|
||||||
|
@ -38,7 +31,8 @@ function update_profile_content(&$a) {
|
||||||
$replace = "<img\${1} dst=\"\${2}\"";
|
$replace = "<img\${1} dst=\"\${2}\"";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$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";
|
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
$pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
|
||||||
|
@ -47,14 +41,11 @@ function update_profile_content(&$a) {
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
$pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
|
||||||
$text = preg_replace($pattern, $replace, $text);
|
$text = preg_replace($pattern, $replace, $text);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
// reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
||||||
* reportedly some versions of MSIE don't handle tabs in XMLHttpRequest documents very well
|
echo str_replace("\t", " ", $text);
|
||||||
*/
|
|
||||||
|
|
||||||
echo str_replace("\t",' ',$text);
|
|
||||||
echo "</section>";
|
echo "</section>";
|
||||||
echo "</body></html>\r\n";
|
echo "</body></html>\r\n";
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
}
|
}
|
|
@ -145,7 +145,6 @@ class Conversation extends BaseObject {
|
||||||
$result[] = $item_data;
|
$result[] = $item_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
//$a->mark_timestamp();
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<div class='field checkbox' id='div_id_{{$field.0}}'>
|
<div class="field checkbox" id="div_id_{{$field.0}}">
|
||||||
<label for='id_{{$field.0}}'>{{$field.1}}</label>
|
<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}}>
|
<input type="hidden" name="{{$field.0}}" value="0">
|
||||||
<span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
|
<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>
|
</div>
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
{{include file="field_checkbox.tpl" field=$nosmile}}
|
{{include file="field_checkbox.tpl" field=$nosmile}}
|
||||||
{{include file="field_checkbox.tpl" field=$noinfo}}
|
{{include file="field_checkbox.tpl" field=$noinfo}}
|
||||||
{{include file="field_checkbox.tpl" field=$infinite_scroll}}
|
{{include file="field_checkbox.tpl" field=$infinite_scroll}}
|
||||||
|
{{include file="field_checkbox.tpl" field=$bandwidth_saver}}
|
||||||
<h2>{{$calendar_title}}</h2>
|
<h2>{{$calendar_title}}</h2>
|
||||||
{{include file="field_select.tpl" field=$first_day_of_week}}
|
{{include file="field_select.tpl" field=$first_day_of_week}}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
|
|
||||||
|
|
||||||
<div class='field checkbox' id='div_id_{{$field.0}}'>
|
<div class="field checkbox" id="div_id_{{$field.0}}">
|
||||||
<label id='label_id_{{$field.0}}' for='id_{{$field.0}}'>{{$field.1}}</label>
|
<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 />
|
<input type="hidden" name="{{$field.0}}" value="0">
|
||||||
<span class='field_help' id='help_id_{{$field.0}}'>{{$field.3}}</span>
|
<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>
|
</div>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
|
|
||||||
<div class="field checkbox" id='div_id_{{$field.0}}'>
|
<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}}>
|
<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}}">
|
<label for="id_{{$field.0}}">
|
||||||
{{$field.1}}
|
{{$field.1}}
|
||||||
<p class="help-block">{{$field.3}}</p>
|
<p class="help-block">{{$field.3}}</p>
|
||||||
|
|
|
@ -70,6 +70,7 @@
|
||||||
{{include file="field_checkbox.tpl" field=$nosmile}}
|
{{include file="field_checkbox.tpl" field=$nosmile}}
|
||||||
{{include file="field_checkbox.tpl" field=$noinfo}}
|
{{include file="field_checkbox.tpl" field=$noinfo}}
|
||||||
{{include file="field_checkbox.tpl" field=$infinite_scroll}}
|
{{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" >
|
<div class="form-group pull-right settings-submit-wrapper" >
|
||||||
<button type="submit" name="submit" class="btn btn-primary" value="{{$submit|escape:'html'}}">{{$submit}}</button>
|
<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}}'>
|
<div class="field checkbox" id="div_id_{{$field.0}}">
|
||||||
<label id='label_id_{{$field.0}}' for='id_{{$field.0}}'>{{$field.1}}</label>
|
<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 />
|
<input type="hidden" name="{{$field.0}}" value="0">
|
||||||
<span class='field_help' id='help_id_{{$field.0}}'>{{$field.3}}</span>
|
<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>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue