From 2cb576d30523088900813d491f3accf9cbbf1857 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 27 Jan 2013 13:57:44 +0100 Subject: [PATCH] Bugfixing after adding timestamps --- boot.php | 13 ++++-- include/conversation.php | 1 - include/plugin.php | 16 +++++--- include/text.php | 4 +- index.php | 2 +- mod/admin.php | 85 +++++++++++++++++++--------------------- mod/network.php | 14 +++---- object/Conversation.php | 2 + 8 files changed, 72 insertions(+), 65 deletions(-) diff --git a/boot.php b/boot.php index b0e77a71f..da8ee8efa 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 cc66d380b..306799c52 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 a6928793d..7a4a96670 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 83639ce85..9ff5c7907 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 0ea09c0c7..49e6fccb0 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 89363541c..dd9ff8451 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 = 'logoFriendica'; $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 872c34da9..9909cd445 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'] .= '
'; - + list($no_active, $all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active) = network_query_get_sel_tab($a); // if no tabs are selected, defaults to comments if ($no_active=='active') $all_active='active'; //echo "
"; 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 8b838f7d0..bd7a95cf2 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;
 	}