diff --git a/include/datetime.php b/include/datetime.php
index da454a32a5..a840aa0a58 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -178,7 +178,7 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
 function dob($dob) {
 	list($year,$month,$day) = sscanf($dob,'%4d-%2d-%2d');
 
-	$f = get_config('system','birthday_input_format');
+	$f = get_config('system', 'birthday_input_format');
 	if (! $f) {
 		$f = 'ymd';
 	}
@@ -203,7 +203,7 @@ function dob($dob) {
 
 	/// @TODO Old-lost code?
 //	if ($dob && $dob > '0001-01-01')
-//		$o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),mktime(0,0,0,$month,$day,$year),'dob');
+//		$o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),mktime(0,0,0,$month,$day,$year), 'dob');
 //	else
 //		$o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),false,'dob');
 
@@ -279,7 +279,7 @@ function timesel($format, $h, $m, $id = 'timepicker') {
 function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) {
 
 	// First day of the week (0 = Sunday)
-	$firstDay = get_pconfig(local_user(),'system','first_day_of_week');
+	$firstDay = get_pconfig(local_user(), 'system', 'first_day_of_week');
 	if ($firstDay === false) {
 		$firstDay=0;
 	}
@@ -312,14 +312,14 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
 
 	$pickers = '';
 	if (!$pickdate) {
-		$pickers .= ',datepicker: false';
+		$pickers .= ', datepicker: false';
 	}
 	if (!$picktime) {
 		$pickers .= ',timepicker: false';
 	}
 
 	$extra_js = '';
-	$pickers .= ",dayOfWeekStart: ".$firstDay.",lang:'".$lang."'";
+	$pickers .= ",dayOfWeekStart: " . $firstDay . ",lang:'" . $lang . "'";
 	if ($minfrom != '') {
 		$extra_js .= "\$('#id_$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
 	}
@@ -335,7 +335,7 @@ function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicke
 	$readable_format = str_replace('i','MM',$readable_format);
 
 	$tpl = get_markup_template('field_input.tpl');
-	$o .= replace_macros($tpl,array(
+	$o .= replace_macros($tpl, array(
 			'$field' => array($id, $label, $input_text, '', (($required) ? '*' : ''), 'placeholder="' . $readable_format . '"'),
 		));
 
@@ -431,11 +431,11 @@ function age($dob, $owner_tz = '', $viewer_tz = '') {
 		$viewer_tz = date_default_timezone_get();
 	}
 
-	$birthdate = datetime_convert('UTC',$owner_tz,$dob . ' 00:00:00+00:00','Y-m-d');
-	list($year,$month,$day) = explode("-",$birthdate);
-	$year_diff  = datetime_convert('UTC',$viewer_tz,'now','Y') - $year;
-	$curr_month = datetime_convert('UTC',$viewer_tz,'now','m');
-	$curr_day   = datetime_convert('UTC',$viewer_tz,'now','d');
+	$birthdate = datetime_convert('UTC', $owner_tz,$dob . ' 00:00:00+00:00','Y-m-d');
+	list($year, $month, $day) = explode("-", $birthdate);
+	$year_diff  = datetime_convert('UTC',$viewer_tz, 'now', 'Y') - $year;
+	$curr_month = datetime_convert('UTC',$viewer_tz, 'now', 'm');
+	$curr_day   = datetime_convert('UTC',$viewer_tz, 'now', 'd');
 
 	if (($curr_month < $month) || (($curr_month == $month) && ($curr_day < $day))) {
 		$year_diff--;
@@ -455,7 +455,7 @@ function age($dob, $owner_tz = '', $viewer_tz = '') {
  * 
  * @return int Number of days in the given month
  */
-function get_dim($y,$m) {
+function get_dim($y, $m) {
 
 	$dim = array( 0,
 		31, 28, 31, 30, 31, 30,
@@ -507,14 +507,14 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
 	// month table - start at 1 to match human usage.
 
 	$mtab = array(' ',
-		'January','February','March',
-		'April','May','June',
-		'July','August','September',
-		'October','November','December'
+		'January', 'February', 'March',
+		'April'  , 'May'     , 'June',
+		'July'   , 'August'  , 'September',
+		'October', 'November', 'December'
 	);
 
-	$thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
-	$thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
+	$thisyear = datetime_convert('UTC', date_default_timezone_get(), 'now','Y');
+	$thismonth = datetime_convert('UTC', date_default_timezone_get(), 'now','m');
 	if (! $y) {
 		$y = $thisyear;
 	}
@@ -530,14 +530,14 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
 	$started = false;
 
 	if (($y == $thisyear) && ($m == $thismonth)) {
-		$tddate = intval(datetime_convert('UTC',date_default_timezone_get(),'now','j'));
+		$tddate = intval(datetime_convert('UTC', date_default_timezone_get(), 'now', 'j'));
 	}
 
 	$str_month = day_translate($mtab[$m]);
 	$o = '<table class="calendar' . $class . '">';
 	$o .= "<caption>$str_month $y</caption><tr>";
 	for ($a = 0; $a < 7; $a ++) {
-		$o .= '<th>' . mb_substr(day_translate($dn[$a]),0,3,'UTF-8') . '</th>';
+		$o .= '<th>' . mb_substr(day_translate($dn[$a]), 0, 3, 'UTF-8') . '</th>';
 	}
 
 	$o .= '</tr><tr>';
@@ -549,7 +549,7 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
 
 		$today = (((isset($tddate)) && ($tddate == $d)) ? "class=\"today\" " : '');
 		$o .= "<td $today>";
-		$day = str_replace(' ','&nbsp;',sprintf('%2.2d', $d));
+		$day = str_replace(' ', '&nbsp;', sprintf('%2.2d', $d));
 		if ($started) {
 			if (is_array($links) && isset($links[$d])) {
 				$o .=  "<a href=\"{$links[$d]}\">$day</a>";
@@ -590,22 +590,20 @@ function update_contact_birthdays() {
 	// This only handles foreign or alien networks where a birthday has been provided.
 	// In-network birthdays are handled within local_delivery
 
-	$r = q("SELECT * FROM contact WHERE `bd` != '' AND `bd` > '0001-01-01' AND SUBSTRING(`bd`,1,4) != `bdyear` ");
+	$r = q("SELECT * FROM `contact` WHERE `bd` != '' AND `bd` > '0001-01-01' AND SUBSTRING(`bd`, 1, 4) != `bdyear` ");
 	if (dbm::is_result($r)) {
 		foreach ($r as $rr) {
 
 			logger('update_contact_birthday: ' . $rr['bd']);
 
-			$nextbd = datetime_convert('UTC','UTC','now','Y') . substr($rr['bd'],4);
+			$nextbd = datetime_convert('UTC','UTC','now','Y') . substr($rr['bd'], 4);
 
-			/**
-			 *
+			/*
 			 * Add new birthday event for this person
 			 *
 			 * $bdtext is just a readable placeholder in case the event is shared
 			 * with others. We will replace it during presentation to our $importer
 			 * to contain a sparkle link and perhaps a photo.
-			 *
 			 */
 
 			// Check for duplicates
@@ -638,7 +636,6 @@ function update_contact_birthdays() {
 
 
 			// update bdyear
-
 			q("UPDATE `contact` SET `bdyear` = '%s', `bd` = '%s' WHERE `uid` = %d AND `id` = %d",
 				dbesc(substr($nextbd,0,4)),
 				dbesc($nextbd),
diff --git a/include/dbstructure.php b/include/dbstructure.php
index 9842b9754d..a9d364a155 100644
--- a/include/dbstructure.php
+++ b/include/dbstructure.php
@@ -7,13 +7,38 @@ require_once("include/text.php");
 
 define('NEW_UPDATE_ROUTINE_VERSION', 1170);
 
+/*
+ * Converts all tables from MyISAM to InnoDB
+ */
+function convert_to_innodb() {
+	global $db;
+
+	$r = q("SELECT `TABLE_NAME` FROM `information_schema`.`tables` WHERE `engine` = 'MyISAM' AND `table_schema` = '%s'",
+		dbesc($db->database_name()));
+
+	if (!dbm::is_result($r)) {
+		echo t('There are no tables on MyISAM.')."\n";
+		return;
+	}
+
+	foreach ($r AS $table) {
+		$sql = sprintf("ALTER TABLE `%s` engine=InnoDB;", dbesc($table['TABLE_NAME']));
+		echo $sql."\n";
+
+		$result = @$db->q($sql);
+		if (!dbm::is_result($result)) {
+			print_update_error($db, $sql);
+		}
+	}
+}
+
 /*
  * send the email and do what is needed to do on update fails
  *
  * @param update_id		(int) number of failed update
  * @param error_message	(str) error message
  */
-function update_fail($update_id, $error_message){
+function update_fail($update_id, $error_message) {
 	//send the administrators an e-mail
 	$admin_mail_list = "'".implode("','", array_map(dbesc, explode(",", str_replace(" ", "", $a->config['admin_email']))))."'";
 	$adminlist = q("SELECT uid, language, email FROM user WHERE email IN (%s)",
@@ -95,10 +120,6 @@ function table_structure($table) {
 
 	if (dbm::is_result($indexes))
 		foreach ($indexes AS $index) {
-			if ($index["Index_type"] == "FULLTEXT") {
-				continue;
-			}
-
 			if ($index['Key_name'] != 'PRIMARY' && $index['Non_unique'] == '0' && !isset($indexdata[$index["Key_name"]])) {
 				$indexdata[$index["Key_name"]] = array('UNIQUE');
 			}
@@ -460,7 +481,7 @@ function db_field_command($parameters, $create = true) {
 	if ($parameters["not null"])
 		$fieldstruct .= " NOT NULL";
 
-	if (isset($parameters["default"])){
+	if (isset($parameters["default"])) {
 		if (strpos(strtolower($parameters["type"]),"int")!==false) {
 			$fieldstruct .= " DEFAULT ".$parameters["default"];
 		} else {
@@ -487,7 +508,7 @@ function db_create_table($name, $fields, $verbose, $action, $indexes=null) {
 	$primary_keys = array();
 	foreach ($fields AS $fieldname => $field) {
 		$sql_rows[] = "`".dbesc($fieldname)."` ".db_field_command($field);
-		if (x($field,'primary') and $field['primary']!=''){
+		if (x($field,'primary') and $field['primary']!='') {
 			$primary_keys[] = $fieldname;
 		}
 	}
@@ -1704,7 +1725,7 @@ function db_definition() {
 function dbstructure_run(&$argv, &$argc) {
 	global $a, $db;
 
-	if (is_null($a)){
+	if (is_null($a)) {
 		$a = new App;
 	}
 
@@ -1743,6 +1764,9 @@ function dbstructure_run(&$argv, &$argc) {
 			case "dumpsql":
 				print_structure(db_definition());
 				return;
+			case "toinnodb":
+				convert_to_innodb();
+				return;
 		}
 	}
 
@@ -1754,11 +1778,12 @@ function dbstructure_run(&$argv, &$argc) {
 	echo "dryrun		show database update schema queries without running them\n";
 	echo "update		update database schema\n";
 	echo "dumpsql		dump database schema\n";
+	echo "toinnodb		convert all tables from MyISAM to InnoDB\n";
 	return;
 
 }
 
-if (array_search(__file__,get_included_files())===0){
+if (array_search(__file__,get_included_files())===0) {
 	dbstructure_run($_SERVER["argv"],$_SERVER["argc"]);
 	killme();
 }
diff --git a/include/event.php b/include/event.php
index 280b1380a2..64b1ebddc3 100644
--- a/include/event.php
+++ b/include/event.php
@@ -82,6 +82,7 @@ function format_event_html($ev, $simple = false) {
 }
 
 /*
+@TODO old-lost code found?
 function parse_event($h) {
 
 	require_once('include/Scrape.php');
diff --git a/include/features.php b/include/features.php
index 74c110427c..07dcced0e6 100644
--- a/include/features.php
+++ b/include/features.php
@@ -36,9 +36,9 @@ function feature_enabled($uid, $feature) {
  */
 function get_feature_default($feature) {
 	$f = get_features();
-	foreach($f as $cat) {
-		foreach($cat as $feat) {
-			if(is_array($feat) && $feat[0] === $feature)
+	foreach ($f as $cat) {
+		foreach ($cat as $feat) {
+			if (is_array($feat) && $feat[0] === $feature)
 				return $feat[3];
 		}
 	}
@@ -116,13 +116,13 @@ function get_features($filtered = true) {
 
 	// removed any locked features and remove the entire category if this makes it empty
 
-	if($filtered) {
-		foreach($arr as $k => $x) {
+	if ($filtered) {
+		foreach ($arr as $k => $x) {
 			$has_items = false;
 			$kquantity = count($arr[$k]);
-			for($y = 0; $y < $kquantity; $y ++) {
-				if(is_array($arr[$k][$y])) {
-					if($arr[$k][$y][4] === false) {
+			for ($y = 0; $y < $kquantity; $y ++) {
+				if (is_array($arr[$k][$y])) {
+					if ($arr[$k][$y][4] === false) {
 						$has_items = true;
 					}
 					else {
@@ -130,7 +130,7 @@ function get_features($filtered = true) {
 					}
 				}
 			}
-			if(! $has_items) {
+			if (! $has_items) {
 				unset($arr[$k]);
 			}
 		}
diff --git a/include/feed.php b/include/feed.php
index 2117676dba..32044e663e 100644
--- a/include/feed.php
+++ b/include/feed.php
@@ -55,7 +55,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 	if ($xpath->query('/atom:feed')->length > 0) {
 		$alternate = $xpath->query("atom:link[@rel='alternate']")->item(0)->attributes;
 		if (is_object($alternate)) {
-			foreach($alternate AS $attributes) {
+			foreach ($alternate AS $attributes) {
 				if ($attributes->name == "href") {
 					$author["author-link"] = $attributes->textContent;
 				}
@@ -68,7 +68,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 		if ($author["author-link"] == "") {
 			$self = $xpath->query("atom:link[@rel='self']")->item(0)->attributes;
 			if (is_object($self)) {
-				foreach($self AS $attributes) {
+				foreach ($self AS $attributes) {
 					if ($attributes->name == "href") {
 						$author["author-link"] = $attributes->textContent;
 					}
@@ -163,7 +163,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 
 	$header["contact-id"] = $contact["id"];
 
-	if(!strlen($contact["notify"])) {
+	if (!strlen($contact["notify"])) {
 		// one way feed - no remote comment ability
 		$header["last-child"] = 0;
 	}
@@ -188,7 +188,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 			$alternate = $xpath->query("atom:link", $entry)->item(0)->attributes;
 		}
 		if (is_object($alternate)) {
-			foreach($alternate AS $attributes) {
+			foreach ($alternate AS $attributes) {
 				if ($attributes->name == "href") {
 					$item["plink"] = $attributes->textContent;
 				}
@@ -271,6 +271,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 		if ($creator != "") {
 			$item["author-name"] = $creator;
 		}
+
 		/// @TODO ?
 		// <category>Ausland</category>
 		// <media:thumbnail width="152" height="76" url="http://www.taz.de/picture/667875/192/14388767.jpg"/>
@@ -284,7 +285,7 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 			$type = "";
 			$title = "";
 
-			foreach($enclosure->attributes AS $attributes) {
+			foreach ($enclosure->attributes AS $attributes) {
 				if ($attributes->name == "url") {
 					$href = $attributes->textContent;
 				} elseif ($attributes->name == "length") {
@@ -293,8 +294,9 @@ function feed_import($xml,$importer,&$contact, &$hub, $simulate = false) {
 					$type = $attributes->textContent;
 				}
 			}
-			if(strlen($item["attach"]))
+			if (strlen($item["attach"])) {
 				$item["attach"] .= ',';
+			}
 
 			$attachments[] = array("link" => $href, "type" => $type, "length" => $length);
 
diff --git a/include/files.php b/include/files.php
index 7bff0e3468..c20a6d832d 100644
--- a/include/files.php
+++ b/include/files.php
@@ -33,7 +33,7 @@ function create_files_from_item($itemid) {
 function create_files_from_itemuri($itemuri, $uid) {
 	$messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
 
-	if(count($messages)) {
+	if (count($messages)) {
 		foreach ($messages as $message)
 			create_files_from_item($message["id"]);
 	}
diff --git a/include/friendica_smarty.php b/include/friendica_smarty.php
index 9ba2d2a744..f497fbee01 100644
--- a/include/friendica_smarty.php
+++ b/include/friendica_smarty.php
@@ -18,7 +18,7 @@ class FriendicaSmarty extends Smarty {
 		// setTemplateDir can be set to an array, which Smarty will parse in order.
 		// The order is thus very important here
 		$template_dirs = array('theme' => "view/theme/$theme/".SMARTY3_TEMPLATE_FOLDER."/");
-		if( x($a->theme_info,"extends") )
+		if ( x($a->theme_info,"extends") )
 			$template_dirs = $template_dirs + array('extends' => "view/theme/".$a->theme_info["extends"]."/".SMARTY3_TEMPLATE_FOLDER."/");
 		$template_dirs = $template_dirs + array('base' => "view/".SMARTY3_TEMPLATE_FOLDER."/");
 		$this->setTemplateDir($template_dirs);
@@ -35,7 +35,7 @@ class FriendicaSmarty extends Smarty {
 	}
 
 	function parsed($template = '') {
-		if($template) {
+		if ($template) {
 			return $this->fetch('string:' . $template);
 		}
 		return $this->fetch('file:' . $this->filename);
@@ -48,7 +48,7 @@ class FriendicaSmartyEngine implements ITemplateEngine {
 	static $name ="smarty3";
 
     public function __construct(){
-		if(!is_writable('view/smarty3/')){
+		if (!is_writable('view/smarty3/')){
 			echo "<b>ERROR:</b> folder <tt>view/smarty3/</tt> must be writable by webserver."; killme();
 		}
 	}
@@ -56,7 +56,7 @@ class FriendicaSmartyEngine implements ITemplateEngine {
 	// ITemplateEngine interface
 	public function replace_macros($s, $r) {
 		$template = '';
-		if(gettype($s) === 'string') {
+		if (gettype($s) === 'string') {
 			$template = $s;
 			$s = new FriendicaSmarty();
 		}
@@ -71,8 +71,8 @@ class FriendicaSmartyEngine implements ITemplateEngine {
 		call_hooks("template_vars", $arr);
 		$r = $arr['vars'];
 
-		foreach($r as $key=>$value) {
-			if($key[0] === '$') {
+		foreach ($r as $key=>$value) {
+			if ($key[0] === '$') {
 				$key = substr($key, 1);
 			}
 			$s->assign($key, $value);
diff --git a/include/gprobe.php b/include/gprobe.php
index 719cfce486..e79cc64764 100644
--- a/include/gprobe.php
+++ b/include/gprobe.php
@@ -33,11 +33,13 @@ function gprobe_run(&$argv, &$argc){
 
 		$arr = probe_url($url);
 
-		if (is_null($result))
+		if (is_null($result)) {
 			Cache::set("gprobe:".$urlparts["host"], $arr);
+		}
 
-		if (!in_array($arr["network"], array(NETWORK_FEED, NETWORK_PHANTOM)))
+		if (!in_array($arr["network"], array(NETWORK_FEED, NETWORK_PHANTOM))) {
 			update_gcontact($arr);
+		}
 
 		$r = q("SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1",
 			dbesc(normalise_link($url))
diff --git a/include/group.php b/include/group.php
index 6332c45da2..fa0e8f59a6 100644
--- a/include/group.php
+++ b/include/group.php
@@ -4,9 +4,9 @@
 function group_add($uid,$name) {
 
 	$ret = false;
-	if(x($uid) && x($name)) {
+	if (x($uid) && x($name)) {
 		$r = group_byname($uid,$name); // check for dups
-		if($r !== false) {
+		if ($r !== false) {
 
 			// This could be a problem.
 			// Let's assume we've just created a group which we once deleted
@@ -17,7 +17,7 @@ function group_add($uid,$name) {
 			$z = q("SELECT * FROM `group` WHERE `id` = %d LIMIT 1",
 				intval($r)
 			);
-			if(count($z) && $z[0]['deleted']) {
+			if (count($z) && $z[0]['deleted']) {
 				$r = q("UPDATE `group` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s'",
 					intval($uid),
 					dbesc($name)
@@ -39,14 +39,14 @@ function group_add($uid,$name) {
 
 function group_rmv($uid,$name) {
 	$ret = false;
-	if(x($uid) && x($name)) {
+	if (x($uid) && x($name)) {
 		$r = q("SELECT id FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
 			intval($uid),
 			dbesc($name)
 		);
 		if (dbm::is_result($r))
 			$group_id = $r[0]['id'];
-		if(! $group_id)
+		if (! $group_id)
 			return false;
 
 		// remove group from default posting lists
@@ -57,20 +57,20 @@ function group_rmv($uid,$name) {
 			$user_info = $r[0];
 			$change = false;
 
-			if($user_info['def_gid'] == $group_id) {
+			if ($user_info['def_gid'] == $group_id) {
 				$user_info['def_gid'] = 0;
 				$change = true;
 			}
-			if(strpos($user_info['allow_gid'], '<' . $group_id . '>') !== false) {
+			if (strpos($user_info['allow_gid'], '<' . $group_id . '>') !== false) {
 				$user_info['allow_gid'] = str_replace('<' . $group_id . '>', '', $user_info['allow_gid']);
 				$change = true;
 			}
-			if(strpos($user_info['deny_gid'], '<' . $group_id . '>') !== false) {
+			if (strpos($user_info['deny_gid'], '<' . $group_id . '>') !== false) {
 				$user_info['deny_gid'] = str_replace('<' . $group_id . '>', '', $user_info['deny_gid']);
 				$change = true;
 			}
 
-			if($change) {
+			if ($change) {
 				q("UPDATE user SET def_gid = %d, allow_gid = '%s', deny_gid = '%s' WHERE uid = %d",
 				  intval($user_info['def_gid']),
 				  dbesc($user_info['allow_gid']),
@@ -100,7 +100,7 @@ function group_rmv($uid,$name) {
 }
 
 function group_byname($uid,$name) {
-	if((! $uid) || (! strlen($name)))
+	if ((! $uid) || (! strlen($name)))
 		return false;
 	$r = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
 		intval($uid),
@@ -113,9 +113,9 @@ function group_byname($uid,$name) {
 
 function group_rmv_member($uid,$name,$member) {
 	$gid = group_byname($uid,$name);
-	if(! $gid)
+	if (! $gid)
 		return false;
-	if(! ( $uid && $gid && $member))
+	if (! ( $uid && $gid && $member))
 		return false;
 	$r = q("DELETE FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d",
 		intval($uid),
@@ -129,9 +129,9 @@ function group_rmv_member($uid,$name,$member) {
 
 
 function group_add_member($uid,$name,$member,$gid = 0) {
-	if(! $gid)
+	if (! $gid)
 		$gid = group_byname($uid,$name);
-	if((! $gid) || (! $uid) || (! $member))
+	if ((! $gid) || (! $uid) || (! $member))
 		return false;
 
 	$r = q("SELECT * FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d LIMIT 1",
@@ -156,7 +156,7 @@ function group_add_member($uid,$name,$member,$gid = 0) {
 
 function group_get_members($gid) {
 	$ret = array();
-	if(intval($gid)) {
+	if (intval($gid)) {
 		$r = q("SELECT `group_member`.`contact-id`, `contact`.* FROM `group_member`
 			INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
 			WHERE `gid` = %d AND `group_member`.`uid` = %d AND
@@ -173,7 +173,7 @@ function group_get_members($gid) {
 
 function group_public_members($gid) {
 	$ret = 0;
-	if(intval($gid)) {
+	if (intval($gid)) {
 		$r = q("SELECT `contact`.`id` AS `contact-id` FROM `group_member`
 			INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
 			WHERE `gid` = %d AND `group_member`.`uid` = %d
@@ -252,7 +252,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
 		intval($_SESSION['uid'])
 	);
 	$member_of = array();
-	if($cid) {
+	if ($cid) {
 		$member_of = groups_containing(local_user(),$cid);
 	}
 
@@ -302,7 +302,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
 }
 
 function expand_groups($a,$check_dead = false, $use_gcontact = false) {
-	if(! (is_array($a) && count($a)))
+	if (! (is_array($a) && count($a)))
 		return array();
 	$groups = implode(',', $a);
 	$groups = dbesc($groups);
@@ -318,9 +318,9 @@ function expand_groups($a,$check_dead = false, $use_gcontact = false) {
 
 	$ret = array();
 	if (dbm::is_result($r))
-		foreach($r as $rr)
+		foreach ($r as $rr)
 			$ret[] = $rr['contact-id'];
-	if($check_dead AND !$use_gcontact) {
+	if ($check_dead AND !$use_gcontact) {
 		require_once('include/acl_selectors.php');
 		$ret = prune_deadguys($ret);
 	}
@@ -347,8 +347,9 @@ function groups_containing($uid,$c) {
 
 	$ret = array();
 	if (dbm::is_result($r)) {
-		foreach($r as $rr)
+		foreach ($r as $rr) {
 			$ret[] = $rr['gid'];
+		}
 	}
 
 	return $ret;
@@ -399,7 +400,7 @@ function get_default_group($uid, $network = "") {
 		return $default_group;
 
 	$g = q("SELECT `def_gid` FROM `user` WHERE `uid` = %d LIMIT 1", intval($uid));
-	if($g && intval($g[0]["def_gid"]))
+	if ($g && intval($g[0]["def_gid"]))
 		$default_group = $g[0]["def_gid"];
 
 	return $default_group;
diff --git a/include/html2plain.php b/include/html2plain.php
index 1d5910d83b..dc2cb137c4 100644
--- a/include/html2plain.php
+++ b/include/html2plain.php
@@ -49,7 +49,7 @@ function quotelevel($message, $wraplength = 75)
 
 	$newlines = array();
 	$level = 0;
-	foreach($lines as $line) {;
+	foreach ($lines as $line) {;
 		$line = trim($line);
 		$startquote = false;
 		while (strpos("*".$line, '[quote]') > 0) {
diff --git a/include/identity.php b/include/identity.php
index a21624a212..1fea5b25d6 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -38,7 +38,7 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
 		dbesc($nickname)
 	);
 
-	if(!$user && count($user) && !count($profiledata)) {
+	if (!$user && count($user) && !count($profiledata)) {
 		logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
 		notice( t('Requested account is not available.') . EOL );
 		$a->error = 404;
@@ -47,7 +47,7 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
 
 	$pdata = get_profiledata_by_nick($nickname, $user[0]['uid'], $profile);
 
-	if(($pdata === false) || (!count($pdata)) && !count($profiledata)) {
+	if (($pdata === false) || (!count($pdata)) && !count($profiledata)) {
 		logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
 		notice( t('Requested profile is not available.') . EOL );
 		$a->error = 404;
@@ -56,11 +56,11 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
 
 	// fetch user tags if this isn't the default profile
 
-	if(!$pdata['is-default']) {
+	if (!$pdata['is-default']) {
 		$x = q("SELECT `pub_keywords` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1",
 				intval($pdata['profile_uid'])
 		);
-		if($x && count($x))
+		if ($x && count($x))
 			$pdata['pub_keywords'] = $x[0]['pub_keywords'];
 	}
 
@@ -88,10 +88,10 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
 		require_once($theme_info_file);
 	}
 
-	if(! (x($a->page,'aside')))
+	if (! (x($a->page,'aside')))
 		$a->page['aside'] = '';
 
-	if(local_user() && local_user() == $a->profile['uid'] && $profiledata) {
+	if (local_user() && local_user() == $a->profile['uid'] && $profiledata) {
 		$a->page['aside'] .= replace_macros(get_markup_template('profile_edlink.tpl'),array(
 			'$editprofile' => t('Edit profile'),
 			'$profid' => $a->profile['id']
@@ -110,7 +110,7 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
 	else
 		$a->page['aside'] .= profile_sidebar($a->profile, $block);
 
-	/*if(! $block)
+	/*if (! $block)
 	 $a->page['aside'] .= contact_block();*/
 
 	return;
@@ -133,9 +133,9 @@ function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
  *	Includes all available profile data
  */
 function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) {
-	if(remote_user() && count($_SESSION['remote'])) {
-			foreach($_SESSION['remote'] as $visitor) {
-				if($visitor['uid'] == $uid) {
+	if (remote_user() && count($_SESSION['remote'])) {
+			foreach ($_SESSION['remote'] as $visitor) {
+				if ($visitor['uid'] == $uid) {
 					$r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
 						intval($visitor['cid'])
 					);
@@ -148,7 +148,7 @@ function get_profiledata_by_nick($nickname, $uid = 0, $profile = 0) {
 
 	$r = null;
 
-	if($profile) {
+	if ($profile) {
 		$profile_int = intval($profile);
 		$r = q("SELECT `contact`.`id` AS `contact_id`, `profile`.`uid` AS `profile_uid`, `profile`.*,
 				`contact`.`avatar-date` AS picdate, `contact`.`addr`, `user`.*
@@ -200,20 +200,22 @@ function profile_sidebar($profile, $block = 0) {
 	$o = '';
 	$location = false;
 	$address = false;
-//		$pdesc = true;
+	// $pdesc = true;
 
 	// This function can also use contact information in $profile
 	$is_contact = x($profile, 'cid');
 
-	if((! is_array($profile)) && (! count($profile)))
+	if ((! is_array($profile)) && (! count($profile))) {
 		return $o;
+	}
 
 	$profile['picdate'] = urlencode($profile['picdate']);
 
 	if (($profile['network'] != "") AND ($profile['network'] != NETWORK_DFRN)) {
-		$profile['network_name'] = format_network_name($profile['network'],$profile['url']);
-	} else
+		$profile['network_name'] = format_network_name($profile['network'], $profile['url']);
+	} else {
 		$profile['network_name'] = "";
+	}
 
 	call_hooks('profile_sidebar_enter', $profile);
 
@@ -222,9 +224,9 @@ function profile_sidebar($profile, $block = 0) {
 	$connect = (($profile['uid'] != local_user()) ? t('Connect')  : False);
 
 	// don't show connect link to authenticated visitors either
-	if(remote_user() && count($_SESSION['remote'])) {
-		foreach($_SESSION['remote'] as $visitor) {
-			if($visitor['uid'] == $profile['uid']) {
+	if (remote_user() && count($_SESSION['remote'])) {
+		foreach ($_SESSION['remote'] as $visitor) {
+			if ($visitor['uid'] == $profile['uid']) {
 				$connect = false;
 				break;
 			}
@@ -325,7 +327,7 @@ function profile_sidebar($profile, $block = 0) {
 	// Fetch the account type
 	$account_type = account_type($profile);
 
-	if((x($profile,'address') == 1)
+	if ((x($profile,'address') == 1)
 			|| (x($profile,'location') == 1)
 			|| (x($profile,'locality') == 1)
 			|| (x($profile,'region') == 1)
@@ -344,7 +346,7 @@ function profile_sidebar($profile, $block = 0) {
 
 	$xmpp = ((x($profile,'xmpp') == 1) ?  t('XMPP:') : False);
 
-	if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
+	if (($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
 		$location = $pdesc = $gender = $marital = $homepage = $about = False;
 	}
 
@@ -371,7 +373,7 @@ function profile_sidebar($profile, $block = 0) {
 	if (!$block){
 		$contact_block = contact_block();
 
-		if(is_array($a->profile) AND !$a->profile['hide-friends']) {
+		if (is_array($a->profile) AND !$a->profile['hide-friends']) {
 			$r = q("SELECT `gcontact`.`updated` FROM `contact` INNER JOIN `gcontact` WHERE `gcontact`.`nurl` = `contact`.`nurl` AND `self` AND `uid` = %d LIMIT 1",
 				intval($a->profile['uid']));
 			if (dbm::is_result($r))
@@ -393,7 +395,7 @@ function profile_sidebar($profile, $block = 0) {
 	}
 
 	$p = array();
-	foreach($profile as $k => $v) {
+	foreach ($profile as $k => $v) {
 		$k = str_replace('-','_',$k);
 		$p[$k] = $v;
 	}
@@ -409,7 +411,7 @@ function profile_sidebar($profile, $block = 0) {
 	if (isset($p["photo"]))
 		$p["photo"] = proxy_url($p["photo"], false, PROXY_SIZE_SMALL);
 
-	if($a->theme['template_engine'] === 'internal')
+	if ($a->theme['template_engine'] === 'internal')
 		$location = template_escape($location);
 
 	$tpl = get_markup_template('profile_vcard.tpl');
@@ -448,13 +450,13 @@ function get_birthdays() {
 	$a = get_app();
 	$o = '';
 
-	if(! local_user() || $a->is_mobile || $a->is_tablet)
+	if (! local_user() || $a->is_mobile || $a->is_tablet)
 		return $o;
 
 //		$mobile_detect = new Mobile_Detect();
 //		$is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
 
-//		if($is_mobile)
+//		if ($is_mobile)
 //			return $o;
 
 	$bd_format = t('g A l F d') ; // 8 AM Friday January 18
@@ -482,27 +484,27 @@ function get_birthdays() {
 
 		$istoday = false;
 		foreach ($r as $rr) {
-			if(strlen($rr['name']))
+			if (strlen($rr['name']))
 				$total ++;
-			if((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now))
+			if ((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now))
 				$istoday = true;
 		}
 		$classtoday = $istoday ? ' birthday-today ' : '';
-		if($total) {
-			foreach($r as &$rr) {
-				if(! strlen($rr['name']))
+		if ($total) {
+			foreach ($r as &$rr) {
+				if (! strlen($rr['name']))
 					continue;
 
 				// avoid duplicates
 
-				if(in_array($rr['cid'],$cids))
+				if (in_array($rr['cid'],$cids))
 					continue;
 				$cids[] = $rr['cid'];
 
 				$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
 				$sparkle = '';
 				$url = $rr['url'];
-				if($rr['network'] === NETWORK_DFRN) {
+				if ($rr['network'] === NETWORK_DFRN) {
 					$sparkle = " sparkle";
 					$url = App::get_baseurl() . '/redir/'  . $rr['cid'];
 				}
@@ -537,14 +539,14 @@ function get_events() {
 
 	$a = get_app();
 
-	if(! local_user() || $a->is_mobile || $a->is_tablet)
+	if (! local_user() || $a->is_mobile || $a->is_tablet)
 		return $o;
 
 
 //		$mobile_detect = new Mobile_Detect();
 //		$is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
 
-//		if($is_mobile)
+//		if ($is_mobile)
 //			return $o;
 
 	$bd_format = t('g A l F d') ; // 8 AM Friday January 18
@@ -562,30 +564,30 @@ function get_events() {
 		$now = strtotime('now');
 		$istoday = false;
 		foreach ($r as $rr) {
-			if(strlen($rr['name']))
+			if (strlen($rr['name']))
 				$total ++;
 
 			$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start'],'Y-m-d');
-			if($strt === datetime_convert('UTC',$a->timezone,'now','Y-m-d'))
+			if ($strt === datetime_convert('UTC',$a->timezone,'now','Y-m-d'))
 				$istoday = true;
 		}
 		$classtoday = (($istoday) ? 'event-today' : '');
 
 		$skip = 0;
 
-		foreach($r as &$rr) {
+		foreach ($r as &$rr) {
 			$title = strip_tags(html_entity_decode(bbcode($rr['summary']),ENT_QUOTES,'UTF-8'));
 
-			if(strlen($title) > 35)
+			if (strlen($title) > 35)
 				$title = substr($title,0,32) . '... ';
 
 			$description = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... ';
-			if(! $description)
+			if (! $description)
 				$description = t('[No description]');
 
 			$strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
 
-			if(substr($strt,0,10) < datetime_convert('UTC',$a->timezone,'now','Y-m-d')) {
+			if (substr($strt,0,10) < datetime_convert('UTC',$a->timezone,'now','Y-m-d')) {
 				$skip++;
 				continue;
 			}
@@ -620,7 +622,7 @@ function advanced_profile(App $a) {
 		'$title' => t('Profile')
 	));
 
-	if($a->profile['name']) {
+	if ($a->profile['name']) {
 
 		$tpl = get_markup_template('profile_advanced.tpl');
 
@@ -628,11 +630,9 @@ function advanced_profile(App $a) {
 
 		$profile['fullname'] = array( t('Full Name:'), $a->profile['name'] ) ;
 
-		if($a->profile['gender']) $profile['gender'] = array( t('Gender:'),  $a->profile['gender'] );
-
-
-		if(($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) {
+		if ($a->profile['gender']) $profile['gender'] = array( t('Gender:'),  $a->profile['gender'] );
 
+		if (($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) {
 			$year_bd_format = t('j F, Y');
 			$short_bd_format = t('j F');
 
@@ -645,10 +645,10 @@ function advanced_profile(App $a) {
 
 		}
 
-		if($age = age($a->profile['dob'],$a->profile['timezone'],''))  $profile['age'] = array( t('Age:'), $age );
+		if ($age = age($a->profile['dob'],$a->profile['timezone'],''))  $profile['age'] = array( t('Age:'), $age );
 
 
-		if($a->profile['marital']) $profile['marital'] = array( t('Status:'), $a->profile['marital']);
+		if ($a->profile['marital']) $profile['marital'] = array( t('Status:'), $a->profile['marital']);
 
 		/// @TODO Maybe use x() here, plus below?
 		if ($a->profile['with']) {
@@ -853,14 +853,14 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
 }
 
 function get_my_url() {
-	if(x($_SESSION,'my_url'))
+	if (x($_SESSION,'my_url'))
 		return $_SESSION['my_url'];
 	return false;
 }
 
 function zrl_init(App $a) {
 	$tmp_str = get_my_url();
-	if(validate_url($tmp_str)) {
+	if (validate_url($tmp_str)) {
 
 		// Is it a DDoS attempt?
 		// The check fetches the cached value from gprobe to reduce the load for this system
@@ -881,16 +881,20 @@ function zrl_init(App $a) {
 }
 
 function zrl($s,$force = false) {
-	if(! strlen($s))
+	if (! strlen($s)) {
 		return $s;
-	if((! strpos($s,'/profile/')) && (! $force))
+	}
+	if ((! strpos($s,'/profile/')) && (! $force)) {
 		return $s;
-	if($force && substr($s,-1,1) !== '/')
+	}
+	if ($force && substr($s,-1,1) !== '/') {
 		$s = $s . '/';
+	}
 	$achar = strpos($s,'?') ? '&' : '?';
 	$mine = get_my_url();
-	if($mine and ! link_compare($mine,$s))
+	if ($mine and ! link_compare($mine,$s)) {
 		return $s . $achar . 'zrl=' . urlencode($mine);
+	}
 	return $s;
 }
 
@@ -910,9 +914,10 @@ function zrl($s,$force = false) {
  */
 function get_theme_uid() {
 	$uid = (($_REQUEST['puid']) ? intval($_REQUEST['puid']) : 0);
-	if(local_user()) {
-		if((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid))
+	if (local_user()) {
+		if ((get_pconfig(local_user(),'system','always_my_theme')) || (! $uid)) {
 			return local_user();
+		}
 	}
 
 	return $uid;
diff --git a/mod/admin.php b/mod/admin.php
index c57e7f3545..6be08f45a7 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -447,7 +447,7 @@ function admin_page_summary(App $a) {
 	$warningtext = array();
 	if (dbm::is_result($r)) {
 		$showwarning = true;
-		$warningtext[] = sprintf(t('Your DB still runs with MyISAM tables. You should change the engine type to InnoDB. As Friendica will use InnoDB only features in the future, you should change this! See <a href="%s">here</a> for a guide that may be helpful converting the table engines. You may also use the <tt>convert_innodb.sql</tt> in the <tt>/util</tt> directory of your Friendica installation.<br />'), 'https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html');
+		$warningtext[] = sprintf(t('Your DB still runs with MyISAM tables. You should change the engine type to InnoDB. As Friendica will use InnoDB only features in the future, you should change this! See <a href="%s">here</a> for a guide that may be helpful converting the table engines. You may also use the command <tt>php include/dbstructure.php toinnodb</tt> of your Friendica installation for an automatic conversion.<br />'), 'https://dev.mysql.com/doc/refman/5.7/en/converting-tables-to-innodb.html');
 	}
 	// MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements
 	if ((version_compare($db->server_info(), '5.7.4') >= 0) AND
diff --git a/mod/openid.php b/mod/openid.php
index b45cd97975..60de55a509 100644
--- a/mod/openid.php
+++ b/mod/openid.php
@@ -73,10 +73,10 @@ function openid_content(App $a) {
 						$first = notags(trim($v));
 					}
 					if($k === 'namePerson') {
-						$args .= '&username=' . notags(trim($v));
+						$args .= '&username=' . urlencode(notags(trim($v)));
 					}
 					if ($k === 'contact/email') {
-						$args .= '&email=' . notags(trim($v));
+						$args .= '&email=' . urlencode(notags(trim($v)));
 					}
 					if ($k === 'media/image/aspect11') {
 						$photosq = bin2hex(trim($v));
@@ -87,22 +87,22 @@ function openid_content(App $a) {
 				}
 			}
 			if ($nick) {
-				$args .= '&nickname=' . $nick;
+				$args .= '&nickname=' . urlencode($nick);
 			}
 			elseif ($first) {
-				$args .= '&nickname=' . $first;
+				$args .= '&nickname=' . urlencode($first);
 			}
 
 			if ($photosq) {
-				$args .= '&photo=' . $photosq;
+				$args .= '&photo=' . urlencode($photosq);
 			}
 			elseif ($photo) {
-				$args .= '&photo=' . $photo;
+				$args .= '&photo=' . urlencode($photo);
 			}
 
-			$args .= '&openid_url=' . notags(trim($authid));
+			$args .= '&openid_url=' . urlencode(notags(trim($authid)));
 
-			goaway(App::get_baseurl() . '/register' . $args);
+			goaway(App::get_baseurl() . '/register?' . $args);
 
 			// NOTREACHED
 		}