Completed
Push — feature/code-analysis ( a26fec...c314d5 )
by Jonathan
07:11
created
src/Webtrees/Module/AdminTasksModule.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
     public function getConfigLink() {
68 68
         Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
69 69
         
70
-        return 'module.php?mod=' . $this->getName() . '&mod_action=AdminConfig';
70
+        return 'module.php?mod='.$this->getName().'&mod_action=AdminConfig';
71 71
     }
72 72
     
73 73
     /**
@@ -129,7 +129,7 @@  discard block
 block discarded – undo
129 129
 	 * @return \MyArtJaub\Webtrees\Module\AdminTasks\Model\TaskProviderInterface
130 130
 	 */
131 131
     public function getProvider() {        
132
-        if(!$this->provider) {
132
+        if (!$this->provider) {
133 133
             $this->provider = new TaskProvider(WT_ROOT.WT_MODULES_DIR.$this->getName().'/tasks/');
134 134
         }
135 135
         return $this->provider;
Please login to merge, or discard this patch.
src/Webtrees/Map/GoogleMapsProvider.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -25,14 +25,14 @@  discard block
 block discarded – undo
25 25
 	 * @see \MyArtJaub\Webtrees\Map\MapProviderInterface::getProviderPlaceId()
26 26
 	 */
27 27
 	public function getProviderPlaceId(\Fisharebest\Webtrees\Place $place) {
28
-		if(!$place->isEmpty()) {
29
-			$parent = array_reverse(explode (',', $place->getGedcomName()));
28
+		if (!$place->isEmpty()) {
29
+			$parent = array_reverse(explode(',', $place->getGedcomName()));
30 30
 			$place_id = 0;
31 31
 			$nb_levels = count($parent);
32
-			for ($i=0; $i < $nb_levels; $i++) {
32
+			for ($i = 0; $i < $nb_levels; $i++) {
33 33
 				$parent[$i] = trim($parent[$i]);
34
-				if (empty($parent[$i])) $parent[$i]='unknown';// GoogleMap module uses "unknown" while GEDCOM uses , ,
35
-				$pl_id=Database::prepare('SELECT pl_id FROM `##placelocation` WHERE pl_level=? AND pl_parent_id=? AND pl_place LIKE ? ORDER BY pl_place')
34
+				if (empty($parent[$i])) $parent[$i] = 'unknown'; // GoogleMap module uses "unknown" while GEDCOM uses , ,
35
+				$pl_id = Database::prepare('SELECT pl_id FROM `##placelocation` WHERE pl_level=? AND pl_parent_id=? AND pl_place LIKE ? ORDER BY pl_place')
36 36
 					->execute(array($i, $place_id, $parent[$i]))
37 37
 					->fetchOne();
38 38
 				if (empty($pl_id)) break;
@@ -48,12 +48,12 @@  discard block
 block discarded – undo
48 48
 	 * @see \MyArtJaub\Webtrees\Map\MapProviderInterface::getPlaceIcon()
49 49
 	 */
50 50
 	public function getPlaceIcon(\Fisharebest\Webtrees\Place $place) {
51
-		if(!$place->isEmpty()){
51
+		if (!$place->isEmpty()) {
52 52
 			$place_details =
53 53
 				Database::prepare('SELECT SQL_CACHE pl_icon FROM `##placelocation` WHERE pl_id=? ORDER BY pl_place')	
54 54
 				->execute(array($this->getProviderPlaceId($place)))
55 55
 				->fetchOneRow();
56
-			if($place_details){
56
+			if ($place_details) {
57 57
 				return WT_MODULES_DIR.'googlemap/'.$place_details->pl_icon;
58 58
 			}
59 59
 		}
Please login to merge, or discard this patch.
src/Webtrees/Module/Sosa/Views/SosaConfigView.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -47,13 +47,13 @@
 block discarded – undo
47 47
         			<div class="value">
48 48
         				<?php 
49 49
         				    $users = $this->data->get('users_settings');
50
-        				    if(count($users) == 1) {
51
-        				        $root_indi = $users[0]['rootid'];  ?>
50
+        				    if (count($users) == 1) {
51
+        				        $root_indi = $users[0]['rootid']; ?>
52 52
         					<label>
53 53
         						<input id="maj_sosa_input_userid" type="hidden" name="userid" value="<?php echo $users[0]['user']->getUserId(); ?>" />
54 54
         						<?php echo $users[0]['user']->getRealNameHtml() ?>
55 55
         					</label>
56
-        				<?php  } else if(count($users) > 1) { ?>
56
+        				<?php  } else if (count($users) > 1) { ?>
57 57
         					<select id='maj-sosa-config-select' name="userid">
58 58
         					<?php 
59 59
         					   $root_indi = $users[0]['rootid'];
Please login to merge, or discard this patch.
src/Webtrees/Hook/HookProvider.php 1 patch
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
 	 * @see \MyArtJaub\Webtrees\Hook\HookProviderInterface::getPossibleHooks()
72 72
 	 */
73 73
 	public function getPossibleHooks() {
74
-		static $hooks=null;
74
+		static $hooks = null;
75 75
 		if ($hooks === null) {
76 76
 		    $hooks = array();
77 77
 		    
@@ -83,31 +83,31 @@  discard block
 block discarded – undo
83 83
 		        'SELECT SQL_CACHE module_name FROM `##module`'
84 84
 		    )->fetchOneColumn();
85 85
 		    
86
-		    foreach($module_names as $module_name) {
86
+		    foreach ($module_names as $module_name) {
87 87
 		        $module = Module::getModuleByName($module_name);
88 88
 		        
89
-		        if($module instanceof HookSubscriberInterface){
89
+		        if ($module instanceof HookSubscriberInterface) {
90 90
 					$subscribedhooks = $module->getSubscribedHooks();
91
-					if(is_array($subscribedhooks)){
92
-						foreach($subscribedhooks as $key => $value){
93
-							if(is_int($key)) {
91
+					if (is_array($subscribedhooks)) {
92
+						foreach ($subscribedhooks as $key => $value) {
93
+							if (is_int($key)) {
94 94
 								$hook_item = $value;
95 95
 								$priority = self::DEFAULT_PRIORITY;
96 96
 							}
97
-							else{
97
+							else {
98 98
 								$hook_item = explode('#', $key, 2);
99 99
 								$priority = $value;
100 100
 							}
101
-							if($hook_item && count($hook_item) == 2){
101
+							if ($hook_item && count($hook_item) == 2) {
102 102
 								$hook_func = $hook_item[0];
103 103
 								$hook_cont = $hook_item[1];
104 104
 							}
105
-							else{
105
+							else {
106 106
 								$hook_func = $hook_item[0];
107 107
 								$hook_cont = 'all';
108 108
 							}
109
-							if(method_exists($module, $hook_func)){
110
-								$hooks[$module->getName().'#'.$hook_func.'#'.$hook_cont]=$priority;
109
+							if (method_exists($module, $hook_func)) {
110
+								$hooks[$module->getName().'#'.$hook_func.'#'.$hook_cont] = $priority;
111 111
 							}
112 112
 						}
113 113
 					}
@@ -121,8 +121,8 @@  discard block
 block discarded – undo
121 121
 	 * {@inheritDoc}
122 122
 	 * @see \MyArtJaub\Webtrees\Hook\HookProviderInterface::getRawInstalledHooks()
123 123
 	 */
124
-	public function getRawInstalledHooks(){
125
-		if(self::isModuleOperational()){
124
+	public function getRawInstalledHooks() {
125
+		if (self::isModuleOperational()) {
126 126
 			return Database::prepare(
127 127
 					"SELECT majh_id AS id, majh_module_name AS module, majh_hook_function AS hook, majh_hook_context as context, majh_module_priority AS priority,  majh_status AS status".
128 128
 					" FROM `##maj_hooks`".
@@ -136,11 +136,11 @@  discard block
 block discarded – undo
136 136
 	 * {@inheritDoc}
137 137
 	 * @see \MyArtJaub\Webtrees\Hook\HookProviderInterface::getInstalledHooks()
138 138
 	 */
139
-	public function getInstalledHooks(){
140
-		static $installedhooks =null;
141
-		if($installedhooks===null){
142
-			$dbhooks=self::getRawInstalledHooks();
143
-			foreach($dbhooks as $dbhook){
139
+	public function getInstalledHooks() {
140
+		static $installedhooks = null;
141
+		if ($installedhooks === null) {
142
+			$dbhooks = self::getRawInstalledHooks();
143
+			foreach ($dbhooks as $dbhook) {
144 144
 				$installedhooks[($dbhook->module).'#'.($dbhook->hook).'#'.($dbhook->context)] = array('id' => $dbhook->id, 'status' => $dbhook->status, 'priority' => $dbhook->priority);
145 145
 			}
146 146
 		}
@@ -153,15 +153,15 @@  discard block
 block discarded – undo
153 153
 	 */
154 154
 	public function updateHooks() {
155 155
 	    
156
-	    if(Auth::isAdmin()){
156
+	    if (Auth::isAdmin()) {
157 157
 	        $ihooks = self::getInstalledHooks();
158 158
 	        $phooks = self::getPossibleHooks();
159 159
 	        	
160 160
 	        // Insert hooks not existing yet in the DB
161
-	        if($phooks !== null){
162
-	            foreach($phooks as $phook => $priority){
161
+	        if ($phooks !== null) {
162
+	            foreach ($phooks as $phook => $priority) {
163 163
 	                $array_hook = explode('#', $phook);
164
-	                if($ihooks === null || !array_key_exists($phook, $ihooks)){
164
+	                if ($ihooks === null || !array_key_exists($phook, $ihooks)) {
165 165
 	                    $chook = new Hook($array_hook[1], $array_hook[2]);
166 166
 	                    $chook->subscribe($array_hook[0]);
167 167
 	                    $chook->setPriority($array_hook[0], $priority);
@@ -170,10 +170,10 @@  discard block
 block discarded – undo
170 170
 	        }
171 171
 	        	
172 172
 	        //Remove hooks not existing any more in the file system
173
-	        if($ihooks !== null){
174
-	            foreach(array_keys($ihooks) as $ihook){
173
+	        if ($ihooks !== null) {
174
+	            foreach (array_keys($ihooks) as $ihook) {
175 175
 	                $array_hook = explode('#', $ihook);
176
-	                if($phooks === null || !array_key_exists($ihook, $phooks)){
176
+	                if ($phooks === null || !array_key_exists($ihook, $phooks)) {
177 177
 	                    $chook = new Hook($array_hook[1], $array_hook[2]);
178 178
 	                    $chook->remove($array_hook[0]);
179 179
 	                }
Please login to merge, or discard this patch.
src/Webtrees/Cache.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -20,13 +20,13 @@  discard block
 block discarded – undo
20 20
 /**
21 21
  * Cache component to speed up some potential data retrievals
22 22
  */
23
-class Cache{
23
+class Cache {
24 24
 	
25 25
     /**
26 26
      * Underlying Cache object
27 27
      * @var CacheItemPoolInterface $cache
28 28
      */
29
-	protected $cache=null;
29
+	protected $cache = null;
30 30
 	
31 31
 	/**
32 32
 	 * Defines whether the cache has been initialised
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	 *
60 60
 	 */
61 61
 	protected function init() {		
62
-	    if(Apc::isAvailable()) {
62
+	    if (Apc::isAvailable()) {
63 63
 		    $driver = new Apc();
64 64
 		} else {
65 65
 			if (!is_dir(WT_DATA_DIR.DIRECTORY_SEPARATOR.'cache')) {
@@ -83,8 +83,8 @@  discard block
 block discarded – undo
83 83
 	 * Initiliase the Cache if not done.
84 84
 	 *
85 85
 	 */
86
-	protected function checkInit(){
87
-		if(!$this->is_init) $this->init();
86
+	protected function checkInit() {
87
+		if (!$this->is_init) $this->init();
88 88
 	}
89 89
 	
90 90
 	/**
@@ -94,10 +94,10 @@  discard block
 block discarded – undo
94 94
 	 * @param AbstractModule $mod Calling module
95 95
 	 * @return string Cached key name
96 96
 	 */
97
-	protected function getKeyName($value, AbstractModule $mod = null){
97
+	protected function getKeyName($value, AbstractModule $mod = null) {
98 98
 	    $this->checkInit();
99 99
 		$mod_name = 'myartjaub';
100
-		if($mod !== null) $mod_name = $mod->getName();
100
+		if ($mod !== null) $mod_name = $mod->getName();
101 101
 		return $mod_name.'_'.$value;
102 102
 	}
103 103
 	
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
 	 * @param AbstractModule $mod Calling module
109 109
 	 * @return \Psr\Cache\CacheItemInterface
110 110
 	 */
111
-	public function getI($value, AbstractModule $mod = null){
111
+	public function getI($value, AbstractModule $mod = null) {
112 112
 	    $this->checkInit();
113 113
 		return $this->cache->getItem($this->getKeyName($value, $mod));
114 114
 	}
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 	 * @param AbstractModule $mod Calling module
121 121
 	 * @return \Psr\Cache\CacheItemInterface
122 122
 	 */
123
-	public static function get($value, AbstractModule $mod = null){
123
+	public static function get($value, AbstractModule $mod = null) {
124 124
 	    return self::getInstance()->getI($value, $mod);
125 125
 	}
126 126
 	
@@ -131,11 +131,11 @@  discard block
 block discarded – undo
131 131
 	 * @param mixed $data Value
132 132
 	 * @param AbstractModule $mod Calling module
133 133
 	 */
134
-	public function saveI($value, $data, AbstractModule $mod = null){
134
+	public function saveI($value, $data, AbstractModule $mod = null) {
135 135
 		$this->checkInit();
136 136
 		
137 137
 		$item = $value;
138
-		if(!($value instanceof CacheItemInterface)) {
138
+		if (!($value instanceof CacheItemInterface)) {
139 139
 		    $item = new \Stash\Item();
140 140
     		$item->setKey($this->getKeyName($value, $mod));
141 141
 		}		
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
 	 * @param mixed $data Value
151 151
 	 * @param AbstractModule $mod Calling module
152 152
 	 */
153
-	public static function save($value, $data, AbstractModule $mod = null){
153
+	public static function save($value, $data, AbstractModule $mod = null) {
154 154
 	    self::getInstance()->saveI($value, $data, $mod);
155 155
 	}
156 156
 	
@@ -161,7 +161,7 @@  discard block
 block discarded – undo
161 161
 	 * @param AbstractModule $mod Calling module
162 162
 	 * @return bool Deletion successful?
163 163
 	 */
164
-	public function deleteI($value, AbstractModule $mod = null){
164
+	public function deleteI($value, AbstractModule $mod = null) {
165 165
 	    $this->checkInit();	
166 166
 	    return $this->cache->deleteItem($this->getKeyName($value, $mod));
167 167
 	}
@@ -173,7 +173,7 @@  discard block
 block discarded – undo
173 173
 	 * @param AbstractModule $mod Calling module
174 174
 	 * @return bool Deletion successful?
175 175
 	 */
176
-	public static function delete($value, AbstractModule $mod = null){
176
+	public static function delete($value, AbstractModule $mod = null) {
177 177
 	    return self::getInstance()->deleteI($value, $mod);
178 178
 	}
179 179
 	
@@ -181,7 +181,7 @@  discard block
 block discarded – undo
181 181
 	 * Clean the cache
182 182
 	 *
183 183
 	 */
184
-	public function cleanI(){
184
+	public function cleanI() {
185 185
 	    $this->checkInit();
186 186
 		$this->cache->clear();
187 187
 	}
Please login to merge, or discard this patch.
src/Webtrees/Functions/FunctionsPrintLists.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -35,8 +35,8 @@
 block discarded – undo
35 35
         $surn = str_replace('@N.N.', 'AAAA', $surn);
36 36
 
37 37
         return array(
38
-            $surn . 'AAAA' . $givn,
39
-            $givn . 'AAAA' . $surn,
38
+            $surn.'AAAA'.$givn,
39
+            $givn.'AAAA'.$surn,
40 40
         );
41 41
     }
42 42
 
Please login to merge, or discard this patch.
src/Webtrees/Module/Certificates/Views/CertificatesListView.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -39,13 +39,13 @@  discard block
 block discarded – undo
39 39
     			<input type="hidden" name="ged" value="<?= $this->data->get('url_ged') ?>">
40 40
     			<select name="city">
41 41
     			<?php foreach ($cities as $city) { ?>
42
-    				<option value="<?= Functions::encryptToSafeBase64($city) ?>" <?php if(trim($city) == trim($selected_city)) echo 'selected="selected"'?> ><?= $city ?></option>
42
+    				<option value="<?= Functions::encryptToSafeBase64($city) ?>" <?php if (trim($city) == trim($selected_city)) echo 'selected="selected"'?> ><?= $city ?></option>
43 43
     			<?php } ?>
44 44
     			</select>
45 45
     			<input type="submit" value="<?= I18N::translate('Show') ?>" />
46 46
     		</form>
47 47
     		
48
-    		<?php if($this->data->get('has_list', false)) { ?>
48
+    		<?php if ($this->data->get('has_list', false)) { ?>
49 49
     		<div class="loading-image">&nbsp;</div>
50 50
     		<div class="certificate-list">
51 51
     			<table id="<?= $this->data->get('table_id') ?>">
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
     				    ?>
63 63
     					<tr>
64 64
     						<!-- Certificate date -->
65
-    						<?php if($date = $certificate->getCertificateDate()) { ?>
65
+    						<?php if ($date = $certificate->getCertificateDate()) { ?>
66 66
     						<td data-sort="<?= $date->julianDay() ?>"><?= $date->display() ?></td>
67 67
     						<?php } else { ?>
68 68
     						<td data-sort="0">&nbsp;</td>
@@ -73,8 +73,8 @@  discard block
 block discarded – undo
73 73
     						<?php 
74 74
     						$name = $certificate->getCertificateDetails() ?: '';
75 75
     						$sortname = "";
76
-    						$ct_names=preg_match("/([A-Z]{2,})/", $name, $match);
77
-    						if($ct_names > 0) $sortname = $match[1].'_';
76
+    						$ct_names = preg_match("/([A-Z]{2,})/", $name, $match);
77
+    						if ($ct_names > 0) $sortname = $match[1].'_';
78 78
     						$sortname .= $name;
79 79
     						?>
80 80
     						<td data-sort="<?= Filter::escapeHtml($sortname) ?>">
Please login to merge, or discard this patch.
src/Webtrees/Module/WelcomeBlockModule.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -91,7 +91,7 @@
 block discarded – undo
91 91
             return $wb_controller->config($block_id);
92 92
         }
93 93
         catch (MvcException $ex) {
94
-            if($ex->getHttpCode() != 200) throw $ex;
94
+            if ($ex->getHttpCode() != 200) throw $ex;
95 95
             return;
96 96
         }     
97 97
     }
Please login to merge, or discard this patch.
src/Webtrees/Module/Sosa/Model/SosaProvider.php 1 patch
Spacing   +77 added lines, -77 removed lines patch added patch discarded remove patch
@@ -84,18 +84,18 @@  discard block
 block discarded – undo
84 84
      * @param User $user
85 85
      */
86 86
     public function __construct(Tree $tree, User $user = null) {
87
-        if(self::$default_user === null) 
87
+        if (self::$default_user === null) 
88 88
             self::$default_user = User::find(-1);
89 89
         
90 90
         $this->tree = $tree;
91 91
         $this->user = $user;
92 92
         $this->is_setup = true;
93
-        if($this->user === null) $this->user = Auth::user();
94
-        if(strlen($this->user->getUserId()) == 0) $this->user = self::$default_user;
93
+        if ($this->user === null) $this->user = Auth::user();
94
+        if (strlen($this->user->getUserId()) == 0) $this->user = self::$default_user;
95 95
         
96 96
         // Check if the user, or the default user, has a root already setup;
97
-        if(empty($this->getRootIndiId())) {
98
-            if($this->user == self::$default_user) {  // If the default user is not setup
97
+        if (empty($this->getRootIndiId())) {
98
+            if ($this->user == self::$default_user) {  // If the default user is not setup
99 99
                 $this->is_setup = false;
100 100
             }
101 101
             else {
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
      */
128 128
     public function getRootIndi() {
129 129
         $root_indi_id = $this->getRootIndiId();
130
-        if(!empty($root_indi_id)) {
130
+        if (!empty($root_indi_id)) {
131 131
             return Individual::getInstance($root_indi_id, $this->tree);
132 132
         }
133 133
         return null;
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
      * Remove all Sosa entries related to the gedcom file and user
142 142
      */
143 143
     public function deleteAll() {
144
-        if(!$this->is_setup) return;
144
+        if (!$this->is_setup) return;
145 145
         Database::prepare(
146 146
             'DELETE FROM `##maj_sosa`'.
147 147
             ' WHERE majs_gedcom_id= :tree_id and majs_user_id = :user_id ')
@@ -157,12 +157,12 @@  discard block
 block discarded – undo
157 157
      * @param int $sosa
158 158
      */
159 159
     public function deleteAncestors($sosa) {
160
-        if(!$this->is_setup) return;
160
+        if (!$this->is_setup) return;
161 161
         $gen = Functions::getGeneration($sosa);
162 162
         Database::prepare(
163 163
             'DELETE FROM `##maj_sosa`'.
164
-            ' WHERE majs_gedcom_id=:tree_id and majs_user_id = :user_id' .
165
-            ' AND majs_gen >= :gen' .
164
+            ' WHERE majs_gedcom_id=:tree_id and majs_user_id = :user_id'.
165
+            ' AND majs_gen >= :gen'.
166 166
             ' AND FLOOR(majs_sosa / (POW(2, (majs_gen - :gen)))) = :sosa'
167 167
         )->execute(array(
168 168
             'tree_id' => $this->tree->getTreeId(), 
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
      * @param array $sosa_records
178 178
      */
179 179
     public function insertOrUpdate($sosa_records) {
180
-        if(!$this->is_setup) return;
180
+        if (!$this->is_setup) return;
181 181
         
182 182
         $treeid = $this->tree->getTreeId();
183 183
         $userid = $this->user->getUserId();
@@ -185,9 +185,9 @@  discard block
 block discarded – undo
185 185
         $values_table = array();
186 186
         
187 187
         $i = 0;
188
-        foreach  ($sosa_records as $row) {
188
+        foreach ($sosa_records as $row) {
189 189
             $gen = Functions::getGeneration($row['sosa']);
190
-            if($gen <= self::MAX_DB_GENERATIONS) {
190
+            if ($gen <= self::MAX_DB_GENERATIONS) {
191 191
                 $questionmarks_table[] = 
192 192
                     '(:tree_id'.$i.', :user_id'.$i.', :sosa'.$i.', :indi_id'.$i.', :gen'.$i.', :byear'.$i.', :dyear'.$i.')';
193 193
                 $values_table = array_merge(
@@ -206,9 +206,9 @@  discard block
 block discarded – undo
206 206
             $i++;
207 207
         }
208 208
         
209
-        $sql = 'REPLACE INTO `##maj_sosa`' .
210
-            ' (majs_gedcom_id, majs_user_id, majs_sosa, majs_i_id, majs_gen, majs_birth_year, majs_death_year)' .
211
-            ' VALUES '. implode(',', $questionmarks_table);
209
+        $sql = 'REPLACE INTO `##maj_sosa`'.
210
+            ' (majs_gedcom_id, majs_user_id, majs_sosa, majs_i_id, majs_gen, majs_birth_year, majs_death_year)'.
211
+            ' VALUES '.implode(',', $questionmarks_table);
212 212
         Database::prepare($sql)->execute($values_table);
213 213
     }
214 214
     
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
      * @return array Array of sosa numbers
225 225
      */
226 226
     public function getSosaNumbers(Individual $indi) {
227
-        if(!$this->is_setup) return array();
227
+        if (!$this->is_setup) return array();
228 228
         return Database::prepare(
229 229
                 'SELECT majs_sosa, majs_gen FROM `##maj_sosa`'.
230 230
                 ' WHERE majs_i_id=:indi_id AND majs_gedcom_id=:tree_id AND majs_user_id=:user_id'
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
      * @return number Last generation if found, 1 otherwise
242 242
      */
243 243
     public function getLastGeneration() {
244
-        if(!$this->is_setup) return;
244
+        if (!$this->is_setup) return;
245 245
         return Database::prepare(
246 246
                 'SELECT MAX(majs_gen) FROM `##maj_sosa`'.
247 247
                 ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id'
@@ -260,13 +260,13 @@  discard block
 block discarded – undo
260 260
      *
261 261
      * @return array Associative array of Sosa ancestors, with their generation, comma separated
262 262
      */
263
-    public function getAllSosaWithGenerations(){
264
-        if(!$this->is_setup) return array();
263
+    public function getAllSosaWithGenerations() {
264
+        if (!$this->is_setup) return array();
265 265
         return Database::prepare(
266
-            'SELECT majs_i_id AS indi,' .
267
-            ' GROUP_CONCAT(DISTINCT majs_gen ORDER BY majs_gen ASC SEPARATOR ",") AS generations' .
268
-            ' FROM `##maj_sosa`' .
269
-            ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id' .
266
+            'SELECT majs_i_id AS indi,'.
267
+            ' GROUP_CONCAT(DISTINCT majs_gen ORDER BY majs_gen ASC SEPARATOR ",") AS generations'.
268
+            ' FROM `##maj_sosa`'.
269
+            ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id'.
270 270
             ' GROUP BY majs_i_id'
271 271
         )->execute(array(
272 272
             'tree_id' => $this->tree->getTreeId(),
@@ -280,13 +280,13 @@  discard block
 block discarded – undo
280 280
      * @param number $gen Generation
281 281
      * @return array Array of Sosa individuals
282 282
      */
283
-    public function getSosaListAtGeneration($gen){
284
-        if(!$this->is_setup) return array();
285
-        if(!$this->sosa_list_by_gen)
283
+    public function getSosaListAtGeneration($gen) {
284
+        if (!$this->is_setup) return array();
285
+        if (!$this->sosa_list_by_gen)
286 286
             $this->sosa_list_by_gen = array();
287 287
         
288
-        if($gen){
289
-            if(!isset($this->sosa_list_by_gen[$gen])){
288
+        if ($gen) {
289
+            if (!isset($this->sosa_list_by_gen[$gen])) {
290 290
                 $this->sosa_list_by_gen[$gen] = Database::prepare(
291 291
                     'SELECT majs_sosa AS sosa, majs_i_id AS indi'.
292 292
                     ' FROM `##maj_sosa`'.
@@ -311,13 +311,13 @@  discard block
 block discarded – undo
311 311
      * @param number $gen Generation
312 312
      * @return array Array of Sosa families
313 313
      */
314
-    public function getFamilySosaListAtGeneration($gen){
315
-        if(!$this->is_setup) return array();
316
-        if(!$this->sosa_fam_list_by_gen)
314
+    public function getFamilySosaListAtGeneration($gen) {
315
+        if (!$this->is_setup) return array();
316
+        if (!$this->sosa_fam_list_by_gen)
317 317
             $this->sosa_fam_list_by_gen = array();
318 318
         
319
-        if($gen){
320
-            if(!isset($this->sosa_fam_list_by_gen[$gen])){
319
+        if ($gen) {
320
+            if (!isset($this->sosa_fam_list_by_gen[$gen])) {
321 321
                 $this->sosa_fam_list_by_gen[$gen] = Database::prepare(
322 322
                     'SELECT s1.majs_sosa AS sosa, f_id AS fam'.
323 323
                     ' FROM `##families`'.
@@ -347,9 +347,9 @@  discard block
 block discarded – undo
347 347
      * @param number $gen Generation
348 348
      * @return array Array of Sosa individuals
349 349
      */
350
-    public function getMissingSosaListAtGeneration($gen){
351
-        if(!$this->is_setup) return array();    
352
-        if($gen){
350
+    public function getMissingSosaListAtGeneration($gen) {
351
+        if (!$this->is_setup) return array();    
352
+        if ($gen) {
353 353
             return $this->sosa_list_by_gen[$gen] = Database::prepare(
354 354
                 'SELECT schild.majs_sosa sosa, schild.majs_i_id indi, sfat.majs_sosa IS NOT NULL has_father, smot.majs_sosa IS NOT NULL has_mother'.
355 355
                 ' FROM `##maj_sosa` schild'.
@@ -386,10 +386,10 @@  discard block
 block discarded – undo
386 386
      * @return array Statistics array
387 387
      */
388 388
     public function getStatisticsByGeneration() {
389
-        if(!$this->is_setup) return array();
390
-        if(!$this->statistics_tab) {
389
+        if (!$this->is_setup) return array();
390
+        if (!$this->statistics_tab) {
391 391
             $this->statistics_tab = array();
392
-            if($maxGeneration = $this->getLastGeneration()) {
392
+            if ($maxGeneration = $this->getLastGeneration()) {
393 393
                 for ($gen = 1; $gen <= $maxGeneration; $gen++) {
394 394
                     $birthStats = $this->getStatsBirthYearInGeneration($gen);
395 395
                     $this->statistics_tab[$gen] = array(
@@ -412,9 +412,9 @@  discard block
 block discarded – undo
412 412
 	 * @return int
413 413
 	 */
414 414
 	public function getTotalIndividuals() {
415
-	    if(!$this->is_setup) return 0;
415
+	    if (!$this->is_setup) return 0;
416 416
 	    return Database::prepare(
417
-	        'SELECT SQL_CACHE COUNT(*) FROM `##individuals`' .
417
+	        'SELECT SQL_CACHE COUNT(*) FROM `##individuals`'.
418 418
 	        ' WHERE i_file = :tree_id')
419 419
 	        ->execute(array('tree_id' => $this->tree->getTreeId()))
420 420
 	        ->fetchOne() ?: 0;
@@ -425,10 +425,10 @@  discard block
 block discarded – undo
425 425
      *
426 426
      * @return number Number of Sosas
427 427
      */
428
-    public function getSosaCount(){
429
-        if(!$this->is_setup) return 0;
428
+    public function getSosaCount() {
429
+        if (!$this->is_setup) return 0;
430 430
         return Database::prepare(
431
-            'SELECT SQL_CACHE COUNT(majs_sosa) FROM `##maj_sosa`' .
431
+            'SELECT SQL_CACHE COUNT(majs_sosa) FROM `##maj_sosa`'.
432 432
             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id')
433 433
             ->execute(array(
434 434
                 'tree_id' => $this->tree->getTreeId(), 
@@ -442,10 +442,10 @@  discard block
 block discarded – undo
442 442
      * @param number $gen Generation
443 443
      * @return number Number of Sosas in generation
444 444
      */
445
-    public function getSosaCountAtGeneration($gen){
446
-        if(!$this->is_setup) return 0;
445
+    public function getSosaCountAtGeneration($gen) {
446
+        if (!$this->is_setup) return 0;
447 447
         return Database::prepare(
448
-            'SELECT SQL_CACHE COUNT(majs_sosa) FROM `##maj_sosa`' .
448
+            'SELECT SQL_CACHE COUNT(majs_sosa) FROM `##maj_sosa`'.
449 449
             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id'.
450 450
             ' AND majs_gen= :gen')
451 451
         ->execute(array(
@@ -461,10 +461,10 @@  discard block
 block discarded – undo
461 461
      * @param number $gen Generation
462 462
      * @return number Total number of Sosas up to generation
463 463
      */
464
-    public function getSosaCountUpToGeneration($gen){
465
-        if(!$this->is_setup) return 0;
464
+    public function getSosaCountUpToGeneration($gen) {
465
+        if (!$this->is_setup) return 0;
466 466
         return Database::prepare(
467
-            'SELECT SQL_CACHE COUNT(majs_sosa) FROM `##maj_sosa`' .
467
+            'SELECT SQL_CACHE COUNT(majs_sosa) FROM `##maj_sosa`'.
468 468
             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id'.
469 469
             ' AND majs_gen <= :gen')
470 470
         ->execute(array(
@@ -479,10 +479,10 @@  discard block
 block discarded – undo
479 479
      *
480 480
      * @return number Total number of distinct individual
481 481
      */
482
-    public function getDifferentSosaCount(){
483
-        if(!$this->is_setup) return 0;
482
+    public function getDifferentSosaCount() {
483
+        if (!$this->is_setup) return 0;
484 484
         return Database::prepare(
485
-            'SELECT SQL_CACHE COUNT(DISTINCT majs_i_id) FROM `##maj_sosa`' .
485
+            'SELECT SQL_CACHE COUNT(DISTINCT majs_i_id) FROM `##maj_sosa`'.
486 486
             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id')
487 487
         ->execute(array(
488 488
                 'tree_id' => $this->tree->getTreeId(), 
@@ -496,10 +496,10 @@  discard block
 block discarded – undo
496 496
      * @param number $gen Generation
497 497
      * @return number Number of distinct Sosa individuals up to generation
498 498
      */
499
-    public function getDifferentSosaCountUpToGeneration($gen){
500
-        if(!$this->is_setup) return 0;
499
+    public function getDifferentSosaCountUpToGeneration($gen) {
500
+        if (!$this->is_setup) return 0;
501 501
         return Database::prepare(
502
-            'SELECT SQL_CACHE COUNT(DISTINCT majs_i_id) FROM `##maj_sosa`' .
502
+            'SELECT SQL_CACHE COUNT(DISTINCT majs_i_id) FROM `##maj_sosa`'.
503 503
             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id'.
504 504
             ' AND majs_gen <= :gen')
505 505
         ->execute(array(
@@ -519,11 +519,11 @@  discard block
 block discarded – undo
519 519
      * @param number $gen Generation
520 520
      * @return array Birth statistics array
521 521
      */
522
-    public function getStatsBirthYearInGeneration($gen){
523
-        if(!$this->is_setup) return array('first' => 0, 'avg' => 0, 'last' => 0);
522
+    public function getStatsBirthYearInGeneration($gen) {
523
+        if (!$this->is_setup) return array('first' => 0, 'avg' => 0, 'last' => 0);
524 524
         return Database::prepare(
525 525
             'SELECT MIN(majs_birth_year) AS first, AVG(majs_birth_year) AS avg, MAX(majs_birth_year) AS last'.
526
-            ' FROM `##maj_sosa`' .
526
+            ' FROM `##maj_sosa`'.
527 527
             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id'.
528 528
             ' AND majs_gen=:gen AND NOT majs_birth_year = :birth_year')
529 529
             ->execute(array(
@@ -539,26 +539,26 @@  discard block
 block discarded – undo
539 539
      *
540 540
      * @return number|NULL Mean generation time
541 541
      */
542
-    public function getMeanGenerationTime(){
543
-        if(!$this->is_setup) return;
544
-        if(!$this->statistics_tab){
542
+    public function getMeanGenerationTime() {
543
+        if (!$this->is_setup) return;
544
+        if (!$this->statistics_tab) {
545 545
             $this->getStatisticsByGeneration();
546 546
         }
547 547
         //Linear regression on x=generation and y=birthdate
548 548
         $sum_xy = 0;
549
-        $sum_x=0;
550
-        $sum_y=0;
551
-        $sum_x2=0;
552
-        $n=count($this->statistics_tab);
553
-        foreach($this->statistics_tab as $gen=>$stats){
554
-            $sum_xy+=$gen*$stats['avgBirth'];
555
-            $sum_x+=$gen;
556
-            $sum_y+=$stats['avgBirth'];
557
-            $sum_x2+=$gen*$gen;
549
+        $sum_x = 0;
550
+        $sum_y = 0;
551
+        $sum_x2 = 0;
552
+        $n = count($this->statistics_tab);
553
+        foreach ($this->statistics_tab as $gen=>$stats) {
554
+            $sum_xy += $gen * $stats['avgBirth'];
555
+            $sum_x += $gen;
556
+            $sum_y += $stats['avgBirth'];
557
+            $sum_x2 += $gen * $gen;
558 558
         }
559
-        $denom=($n*$sum_x2)-($sum_x*$sum_x);
560
-        if($denom!=0){
561
-            return -(($n*$sum_xy)-($sum_x*$sum_y))/($denom);
559
+        $denom = ($n * $sum_x2) - ($sum_x * $sum_x);
560
+        if ($denom != 0) {
561
+            return -(($n * $sum_xy) - ($sum_x * $sum_y)) / ($denom);
562 562
         }
563 563
         return null;
564 564
     }
@@ -586,14 +586,14 @@  discard block
 block discarded – undo
586 586
      * @return array
587 587
      */
588 588
     public function getAncestorDispersionForGen($gen) {
589
-        if(!$this->is_setup || $gen > 11) return array();  // Going further than 11 gen will be out of range in the query
589
+        if (!$this->is_setup || $gen > 11) return array(); // Going further than 11 gen will be out of range in the query
590 590
         return Database::prepare(
591 591
             'SELECT branches, count(i_id)'.
592 592
             ' FROM ('.
593 593
             '   SELECT i_id,'.
594 594
             '       CASE'.
595 595
             '           WHEN CEIL(LOG2(SUM(branch))) = LOG2(SUM(branch)) THEN SUM(branch)'.
596
-            '           ELSE -1'.   // We put all ancestors shared between some branches in the same bucket
596
+            '           ELSE -1'.// We put all ancestors shared between some branches in the same bucket
597 597
             '       END branches'.
598 598
             '   FROM ('.
599 599
             '       SELECT DISTINCT majs_i_id i_id,'.
Please login to merge, or discard this patch.