diff --git a/boot.php b/boot.php
index b0e77a71fb..da8ee8efa8 100644
--- a/boot.php
+++ b/boot.php
@@ -418,6 +418,8 @@ if(! class_exists('App')) {
$this->performance["network"] = 0;
$this->performance["rendering"] = 0;
$this->performance["parser"] = 0;
+ $this->performance["marktime"] = 0;
+ $this->performance["markstart"] = microtime(true);
$this->config = array();
$this->page = array();
@@ -726,12 +728,17 @@ if(! class_exists('App')) {
return $this->rdelim[$engine];
}
- function save_timestamp($stamp1, $value) {
- $stamp2 = microtime(true);
- $duration = (float)($stamp2-$stamp1);
+ function save_timestamp($stamp, $value) {
+ $duration = (float)(microtime(true)-$stamp);
+
$this->performance[$value] += (float)$duration;
+ $this->performance["marktime"] += (float)$duration;
}
+ function mark_timestamp($mark) {
+ //$this->performance["markstart"] -= microtime(true) - $this->performance["marktime"];
+ $this->performance["markstart"] = microtime(true) - $this->performance["markstart"] - $this->performance["marktime"];
+ }
}
}
diff --git a/include/conversation.php b/include/conversation.php
index cc66d380b7..306799c52c 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -368,7 +368,6 @@ function visible_activity($item) {
if(!function_exists('conversation')) {
function conversation(&$a, $items, $mode, $update, $preview = false) {
-
require_once('include/bbcode.php');
$ssl_state = ((local_user()) ? true : false);
diff --git a/include/plugin.php b/include/plugin.php
index a6928793d4..7a4a96670d 100644
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -8,7 +8,7 @@ function uninstall_plugin($plugin){
q("DELETE FROM `addon` WHERE `name` = '%s' ",
dbesc($plugin)
);
-
+
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
if(function_exists($plugin . '_uninstall')) {
$func = $plugin . '_uninstall';
@@ -28,9 +28,9 @@ function install_plugin($plugin) {
if(function_exists($plugin . '_install')) {
$func = $plugin . '_install';
$func();
-
+
$plugin_admin = (function_exists($plugin."_plugin_admin")?1:0);
-
+
$r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`, `plugin_admin`) VALUES ( '%s', 1, %d , %d ) ",
dbesc($plugin),
intval($t),
@@ -195,6 +195,9 @@ function call_hooks($name, &$data = null) {
if (! function_exists('get_plugin_info')){
function get_plugin_info($plugin){
+
+ $a = get_app();
+
$info=Array(
'name' => $plugin,
'description' => "",
@@ -229,10 +232,10 @@ function get_plugin_info($plugin){
$info[$k]=$v;
}
}
-
+
}
}
-
+
}
return $info;
}}
@@ -241,7 +244,7 @@ function get_plugin_info($plugin){
/*
* parse theme comment in search of theme infos.
* like
- *
+ *
* * Name: My Theme
* * Description: My Cool Theme
* * Version: 1.2.3
@@ -270,6 +273,7 @@ function get_theme_info($theme){
if (!is_file("view/theme/$theme/theme.php")) return $info;
+ $a = get_app();
$stamp1 = microtime(true);
$f = file_get_contents("view/theme/$theme/theme.php");
$a->save_timestamp($stamp1, "file");
diff --git a/include/text.php b/include/text.php
index 83639ce85c..9ff5c79077 100644
--- a/include/text.php
+++ b/include/text.php
@@ -39,9 +39,7 @@ function replace_macros($s,$r) {
$output = template_unescape($r);
}
$a = get_app();
- $stamp2 = microtime(true);
- $duration = (float)($stamp2-$stamp1);
- $a->performance["rendering"] += (float)$duration;
+ $a->save_timestamp($stamp1, "rendering");
return $output;
}}
diff --git a/index.php b/index.php
index 0ea09c0c7a..49e6fccb05 100644
--- a/index.php
+++ b/index.php
@@ -33,7 +33,7 @@ $install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? false
$lang = get_browser_language();
-
+
load_translation_table($lang);
/**
diff --git a/mod/admin.php b/mod/admin.php
index 89363541ca..dd9ff84512 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -20,7 +20,7 @@ function admin_post(&$a){
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
return;
-
+
// urls
@@ -54,7 +54,7 @@ function admin_post(&$a){
}
info(t('Theme settings updated.'));
if(is_ajax()) return;
-
+
goaway($a->get_baseurl(true) . '/admin/themes/' . $theme );
return;
break;
@@ -100,9 +100,9 @@ function admin_content(&$a) {
'dbsync' => Array($a->get_baseurl(true)."/admin/dbsync/", t('DB updates'), "dbsync"),
//'update' => Array($a->get_baseurl(true)."/admin/update/", t("Software Update") , "update")
);
-
+
/* get plugins admin page */
-
+
$r = q("SELECT * FROM `addon` WHERE `plugin_admin`=1");
$aside['plugins_admin']=Array();
foreach ($r as $h){
@@ -111,7 +111,7 @@ function admin_content(&$a) {
// temp plugins with admin
$a->plugins_admin[] = $plugin;
}
-
+
$aside['logs'] = Array($a->get_baseurl(true)."/admin/logs/", t("Logs"), "logs");
$t = get_markup_template("admin_aside.tpl");
@@ -130,7 +130,6 @@ function admin_content(&$a) {
* Page content
*/
$o = '';
-
// urls
if ($a->argc > 1){
switch ($a->argv[1]){
@@ -161,7 +160,7 @@ function admin_content(&$a) {
} else {
$o = admin_page_summary($a);
}
-
+
if(is_ajax()) {
echo $o;
killme();
@@ -431,14 +430,14 @@ function admin_page_site(&$a) {
}
}
}
-
-
+
+
/* Banner */
$banner = get_config('system','banner');
if($banner == false)
$banner = '
Friendica';
$banner = htmlspecialchars($banner);
-
+
//echo "
"; var_dump($lang_choices); die("");
/* Register policy */
@@ -763,7 +762,7 @@ function admin_page_users(&$a){
* @return string
*/
function admin_page_plugins(&$a){
-
+
/**
* Single plugin
*/
@@ -773,9 +772,9 @@ function admin_page_plugins(&$a){
notice( t("Item not found.") );
return '';
}
-
+
if (x($_GET,"a") && $_GET['a']=="t"){
- check_form_security_token_redirectOnErr('/admin/plugins', 'admin_themes', 't');
+ check_form_security_token_redirectOnErr('/admin/plugins', 'admin_themes', 't');
// Toggle plugin status
$idx = array_search($plugin, $a->plugins);
@@ -800,52 +799,53 @@ function admin_page_plugins(&$a){
} else {
$status="off"; $action= t("Enable");
}
-
+
$readme=Null;
if (is_file("addon/$plugin/README.md")){
$readme = file_get_contents("addon/$plugin/README.md");
$readme = Markdown($readme);
} else if (is_file("addon/$plugin/README")){
$readme = "". file_get_contents("addon/$plugin/README") ."";
- }
-
+ }
+
$admin_form="";
if (is_array($a->plugins_admin) && in_array($plugin, $a->plugins_admin)){
@require_once("addon/$plugin/$plugin.php");
$func = $plugin.'_plugin_admin';
$func($a, $admin_form);
}
-
+
$t = get_markup_template("admin_plugins_details.tpl");
+
return replace_macros($t, array(
'$title' => t('Administration'),
'$page' => t('Plugins'),
'$toggle' => t('Toggle'),
'$settings' => t('Settings'),
'$baseurl' => $a->get_baseurl(true),
-
+
'$plugin' => $plugin,
'$status' => $status,
'$action' => $action,
'$info' => get_plugin_info($plugin),
'$str_author' => t('Author: '),
- '$str_maintainer' => t('Maintainer: '),
-
+ '$str_maintainer' => t('Maintainer: '),
+
'$admin_form' => $admin_form,
'$function' => 'plugins',
'$screenshot' => '',
'$readme' => $readme,
- '$form_security_token' => get_form_security_token("admin_themes"),
+ '$form_security_token' => get_form_security_token("admin_themes"),
));
- }
-
-
-
+ }
+
+
+
/**
* List plugins
*/
-
+
$plugins = array();
$files = glob("addon/*/");
if($files) {
@@ -857,7 +857,7 @@ function admin_page_plugins(&$a){
}
}
}
-
+
$t = get_markup_template("admin_plugins.tpl");
return replace_macros($t, array(
'$title' => t('Administration'),
@@ -928,7 +928,7 @@ function rebuild_theme_table($themes) {
return $o;
}
-
+
/**
* Themes admin page
*
@@ -936,7 +936,7 @@ function rebuild_theme_table($themes) {
* @return string
*/
function admin_page_themes(&$a){
-
+
$allowed_themes_str = get_config('system','allowed_themes');
$allowed_themes_raw = explode(',',$allowed_themes_str);
$allowed_themes = array();
@@ -972,9 +972,9 @@ function admin_page_themes(&$a){
notice( t("Item not found.") );
return '';
}
-
+
if (x($_GET,"a") && $_GET['a']=="t"){
- check_form_security_token_redirectOnErr('/admin/themes', 'admin_themes', 't');
+ check_form_security_token_redirectOnErr('/admin/themes', 'admin_themes', 't');
// Toggle theme status
@@ -998,28 +998,27 @@ function admin_page_themes(&$a){
} else {
$status="off"; $action= t("Enable");
}
-
+
$readme=Null;
if (is_file("view/theme/$theme/README.md")){
$readme = file_get_contents("view/theme/$theme/README.md");
$readme = Markdown($readme);
} else if (is_file("view/theme/$theme/README")){
$readme = "". file_get_contents("view/theme/$theme/README") ."";
- }
-
+ }
+
$admin_form="";
if (is_file("view/theme/$theme/config.php")){
require_once("view/theme/$theme/config.php");
if(function_exists("theme_admin")){
$admin_form = theme_admin($a);
}
-
+
}
-
$screenshot = array( get_theme_screenshot($theme), t('Screenshot'));
if(! stristr($screenshot[0],$theme))
- $screenshot = null;
+ $screenshot = null;
$t = get_markup_template("admin_plugins_details.tpl");
return replace_macros($t, array(
@@ -1028,7 +1027,7 @@ function admin_page_themes(&$a){
'$toggle' => t('Toggle'),
'$settings' => t('Settings'),
'$baseurl' => $a->get_baseurl(true),
-
+
'$plugin' => $theme,
'$status' => $status,
'$action' => $action,
@@ -1042,21 +1041,19 @@ function admin_page_themes(&$a){
'$form_security_token' => get_form_security_token("admin_themes"),
));
- }
-
-
-
+ }
+
/**
* List themes
*/
-
+
$xthemes = array();
if($themes) {
foreach($themes as $th) {
$xthemes[] = array($th['name'],(($th['allowed']) ? "on" : "off"), get_theme_info($th['name']));
}
}
-
+
$t = get_markup_template("admin_plugins.tpl");
return replace_macros($t, array(
'$title' => t('Administration'),
diff --git a/mod/network.php b/mod/network.php
index 872c34da95..9909cd4451 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -321,7 +321,7 @@ function network_query_get_sel_net() {
if(x($_GET,'nets')) {
$network = $_GET['nets'];
}
-
+
return $network;
}
@@ -382,14 +382,14 @@ function network_content(&$a, $update = 0) {
// item filter tabs
// TODO: fix this logic, reduce duplication
//$a->page['content'] .= '"; var_dump($no_active, $all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active); killme();
$cmd = (($datequery) ? '' : $a->cmd);
- $len_naked_cmd = strlen(str_replace('/new','',$cmd));
+ $len_naked_cmd = strlen(str_replace('/new','',$cmd));
// tabs
$tabs = array(
@@ -435,10 +435,10 @@ function network_content(&$a, $update = 0) {
// 'url'=>$a->get_baseurl(true) . '/network?f=&spam=1'
// 'sel'=> $spam_active,
// 'title' => t('Posts flagged as SPAM'),
-// ),
+// ),
);
-
+
if(feature_enabled(local_user(),'personal_tab')) {
$tabs[] = array(
'label' => t('Personal'),
@@ -571,11 +571,11 @@ function network_content(&$a, $update = 0) {
}
- // We don't have to deal with ACL's on this page. You're looking at everything
+ // We don't have to deal with ACLs on this page. You're looking at everything
// that belongs to you, hence you can see all of it. We will filter by group if
// desired.
-
+
$sql_options = (($star) ? " and starred = 1 " : '');
$sql_options .= (($bmark) ? " and bookmark = 1 " : '');
diff --git a/object/Conversation.php b/object/Conversation.php
index 8b838f7d00..bd7a95cf2a 100644
--- a/object/Conversation.php
+++ b/object/Conversation.php
@@ -127,6 +127,7 @@ class Conversation extends BaseObject {
* _ false on failure
*/
public function get_template_data($alike, $dlike) {
+ global $a;
$result = array();
foreach($this->threads as $item) {
@@ -140,6 +141,7 @@ class Conversation extends BaseObject {
$result[] = $item_data;
}
+ //$a->mark_timestamp();
return $result;
}