Completed
Push — master ( b40ea8...2ebfe4 )
by Jonathan
05:27
created
src/Webtrees/Hook/HookProvider.php 1 patch
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -43,11 +43,11 @@  discard block
 block discarded – undo
43 43
 	 */
44 44
 	public static function getInstance()
45 45
 	{
46
-	    if (null === static::$instance) {
47
-	        static::$instance = new static();
48
-	    }
46
+		if (null === static::$instance) {
47
+			static::$instance = new static();
48
+		}
49 49
 	
50
-	    return static::$instance;
50
+		return static::$instance;
51 51
 	}
52 52
 	
53 53
 	/**
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
 	 * @see \MyArtJaub\Webtrees\Hook\HookProviderInterface::get()
56 56
 	 */
57 57
 	public function get($hook_function, $hook_context = null) {
58
-	    return new Hook($hook_function, $hook_context);
58
+		return new Hook($hook_function, $hook_context);
59 59
 	}
60 60
 	
61 61
 	/**
@@ -73,20 +73,20 @@  discard block
 block discarded – undo
73 73
 	public function getPossibleHooks() {
74 74
 		static $hooks=null;
75 75
 		if ($hooks === null) {
76
-		    $hooks = array();
76
+			$hooks = array();
77 77
 		    
78
-		    // Cannot use the same logic as the core Module loading,
79
-		    // as this forces a new include of the module.php file.
80
-		    // This causes issue when classes are defined in this file.
81
-		    // Cannot use Module::getActiveModules as well, as this is private.
82
-		    $module_names = Database::prepare(
83
-		        'SELECT SQL_CACHE module_name FROM `##module`'
84
-		    )->fetchOneColumn();
78
+			// Cannot use the same logic as the core Module loading,
79
+			// as this forces a new include of the module.php file.
80
+			// This causes issue when classes are defined in this file.
81
+			// Cannot use Module::getActiveModules as well, as this is private.
82
+			$module_names = Database::prepare(
83
+				'SELECT SQL_CACHE module_name FROM `##module`'
84
+			)->fetchOneColumn();
85 85
 		    
86
-		    foreach($module_names as $module_name) {
87
-		        $module = Module::getModuleByName($module_name);
86
+			foreach($module_names as $module_name) {
87
+				$module = Module::getModuleByName($module_name);
88 88
 		        
89
-		        if($module instanceof HookSubscriberInterface){
89
+				if($module instanceof HookSubscriberInterface){
90 90
 					$subscribedhooks = $module->getSubscribedHooks();
91 91
 					if(is_array($subscribedhooks)){
92 92
 						foreach($subscribedhooks as $key => $value){
@@ -111,7 +111,7 @@  discard block
 block discarded – undo
111 111
 							}
112 112
 						}
113 113
 					}
114
-		        }
114
+				}
115 115
 			}
116 116
 		}
117 117
 		return $hooks;
@@ -153,33 +153,33 @@  discard block
 block discarded – undo
153 153
 	 */
154 154
 	public function updateHooks() {
155 155
 	    
156
-	    if(Auth::isAdmin()){
157
-	        $ihooks = self::getInstalledHooks();
158
-	        $phooks = self::getPossibleHooks();
156
+		if(Auth::isAdmin()){
157
+			$ihooks = self::getInstalledHooks();
158
+			$phooks = self::getPossibleHooks();
159 159
 	        	
160
-	        // Insert hooks not existing yet in the DB
161
-	        if($phooks !== null){
162
-	            foreach($phooks as $phook => $priority){
163
-	                $array_hook = explode('#', $phook);
164
-	                if($ihooks === null || !array_key_exists($phook, $ihooks)){
165
-	                    $chook = new Hook($array_hook[1], $array_hook[2]);
166
-	                    $chook->subscribe($array_hook[0]);
167
-	                    $chook->setPriority($array_hook[0], $priority);
168
-	                }
169
-	            }
170
-	        }
160
+			// Insert hooks not existing yet in the DB
161
+			if($phooks !== null){
162
+				foreach($phooks as $phook => $priority){
163
+					$array_hook = explode('#', $phook);
164
+					if($ihooks === null || !array_key_exists($phook, $ihooks)){
165
+						$chook = new Hook($array_hook[1], $array_hook[2]);
166
+						$chook->subscribe($array_hook[0]);
167
+						$chook->setPriority($array_hook[0], $priority);
168
+					}
169
+				}
170
+			}
171 171
 	        	
172
-	        //Remove hooks not existing any more in the file system
173
-	        if($ihooks !== null){
174
-	            foreach(array_keys($ihooks) as $ihook){
175
-	                $array_hook = explode('#', $ihook);
176
-	                if($phooks === null || !array_key_exists($ihook, $phooks)){
177
-	                    $chook = new Hook($array_hook[1], $array_hook[2]);
178
-	                    $chook->remove($array_hook[0]);
179
-	                }
180
-	            }
181
-	        }
182
-	    }
172
+			//Remove hooks not existing any more in the file system
173
+			if($ihooks !== null){
174
+				foreach(array_keys($ihooks) as $ihook){
175
+					$array_hook = explode('#', $ihook);
176
+					if($phooks === null || !array_key_exists($ihook, $phooks)){
177
+						$chook = new Hook($array_hook[1], $array_hook[2]);
178
+						$chook->remove($array_hook[0]);
179
+					}
180
+				}
181
+			}
182
+		}
183 183
 	}
184 184
 	
185 185
 }
186 186
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Controller/JsonController.php 1 patch
Indentation   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -18,50 +18,50 @@
 block discarded – undo
18 18
  */
19 19
 class JsonController extends BaseController {
20 20
     
21
-    /**
22
-     * {@inheritDoc}
23
-     * @see \Fisharebest\Webtrees\Controller\BaseController::pageHeader()
24
-     */
25
-    public function pageHeader() {        
26
-        header('Content-Type: application/json');
27
-        header('Cache-Control: no-cache, must-revalidate');
28
-        header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
29
-        // We've displayed the header - display the footer automatically
30
-        register_shutdown_function(array($this, 'pageFooter'));
21
+	/**
22
+	 * {@inheritDoc}
23
+	 * @see \Fisharebest\Webtrees\Controller\BaseController::pageHeader()
24
+	 */
25
+	public function pageHeader() {        
26
+		header('Content-Type: application/json');
27
+		header('Cache-Control: no-cache, must-revalidate');
28
+		header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
29
+		// We've displayed the header - display the footer automatically
30
+		register_shutdown_function(array($this, 'pageFooter'));
31 31
         
32
-        return $this;
33
-    }
32
+		return $this;
33
+	}
34 34
     
35
-    /**
36
-     * {@inheritDoc}
37
-     * @see \Fisharebest\Webtrees\Controller\BaseController::pageFooter()
38
-     */
39
-    public function pageFooter() {
40
-        return $this;
41
-    }
35
+	/**
36
+	 * {@inheritDoc}
37
+	 * @see \Fisharebest\Webtrees\Controller\BaseController::pageFooter()
38
+	 */
39
+	public function pageFooter() {
40
+		return $this;
41
+	}
42 42
     
43
-    /**
44
-     * Restrict access.
45
-     *
46
-     * @param bool $condition
47
-     *
48
-     * @return $this
49
-     */
50
-    public function restrictAccess($condition) {
51
-        if ($condition !== true) {
52
-            throw new MvcException(403);
53
-        }
43
+	/**
44
+	 * Restrict access.
45
+	 *
46
+	 * @param bool $condition
47
+	 *
48
+	 * @return $this
49
+	 */
50
+	public function restrictAccess($condition) {
51
+		if ($condition !== true) {
52
+			throw new MvcException(403);
53
+		}
54 54
     
55
-        return $this;
56
-    }
55
+		return $this;
56
+	}
57 57
     
58
-    /**
59
-     * Encode the data to JSON format.
60
-     * 
61
-     * @param array $data Data to encode
62
-     * @param number $options JSON options mask. See http://php.net/manual/fr/json.constants.php
63
-     */
64
-    public function encode(array $data, $options = 0) {
65
-        echo json_encode($data, $options);
66
-    }
58
+	/**
59
+	 * Encode the data to JSON format.
60
+	 * 
61
+	 * @param array $data Data to encode
62
+	 * @param number $options JSON options mask. See http://php.net/manual/fr/json.constants.php
63
+	 */
64
+	public function encode(array $data, $options = 0) {
65
+		echo json_encode($data, $options);
66
+	}
67 67
 }
Please login to merge, or discard this patch.
src/Webtrees/Module/GeoDispersion/GeoAnalysisController.php 1 patch
Indentation   +231 added lines, -231 removed lines patch added patch discarded remove patch
@@ -35,47 +35,47 @@  discard block
 block discarded – undo
35 35
  */
36 36
 class GeoAnalysisController extends MvcController
37 37
 {
38
-    /**
39
-     * GeoAnalysis Provider
40
-     * @var GeoAnalysisProvider $provider
41
-     */
42
-    protected $provider;
38
+	/**
39
+	 * GeoAnalysis Provider
40
+	 * @var GeoAnalysisProvider $provider
41
+	 */
42
+	protected $provider;
43 43
     
44
-    /**
45
-     * Constructor for GeoAnalysis controller
46
-     * @param AbstractModule $module
47
-     */
48
-    public function __construct(AbstractModule $module) {
49
-        parent::__construct($module);
44
+	/**
45
+	 * Constructor for GeoAnalysis controller
46
+	 * @param AbstractModule $module
47
+	 */
48
+	public function __construct(AbstractModule $module) {
49
+		parent::__construct($module);
50 50
         
51
-        $this->provider = $this->module->getProvider();
52
-    }    
51
+		$this->provider = $this->module->getProvider();
52
+	}    
53 53
     
54
-    /**
55
-     * Pages
56
-     */
54
+	/**
55
+	 * Pages
56
+	 */
57 57
         
58
-    /**
59
-     * GeoAnalysis@index
60
-     */
61
-    public function index() {
58
+	/**
59
+	 * GeoAnalysis@index
60
+	 */
61
+	public function index() {
62 62
         
63
-        $controller = new PageController();
64
-        $controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
63
+		$controller = new PageController();
64
+		$controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
65 65
         
66
-        $data = new ViewBag();
67
-        $data->set('title', $controller->getPageTitle());
68
-        $data->set('has_analysis', false);
66
+		$data = new ViewBag();
67
+		$data->set('title', $controller->getPageTitle());
68
+		$data->set('has_analysis', false);
69 69
         
70
-        $ga_id = Filter::getInteger('ga_id');        
70
+		$ga_id = Filter::getInteger('ga_id');        
71 71
         
72
-        if($ga_id && $ga = $this->provider->getGeoAnalysis($ga_id)) {
73
-            $data->set('has_analysis', true);
74
-            $data->set('geoanalysis', $ga);
72
+		if($ga_id && $ga = $this->provider->getGeoAnalysis($ga_id)) {
73
+			$data->set('has_analysis', true);
74
+			$data->set('geoanalysis', $ga);
75 75
             
76
-            $controller
77
-                ->addExternalJavascript(Constants::WT_RAPHAEL_JS_URL())
78
-                ->addInlineJavascript('
76
+			$controller
77
+				->addExternalJavascript(Constants::WT_RAPHAEL_JS_URL())
78
+				->addInlineJavascript('
79 79
                 jQuery("#geodispersion-tabs").tabs();
80 80
                 jQuery("#geodispersion-tabs").css("visibility", "visible");
81 81
                 
@@ -96,133 +96,133 @@  discard block
 block discarded – undo
96 96
 					"json"
97 97
 				);
98 98
             ');
99
-        }
99
+		}
100 100
         
101
-        ViewFactory::make('GeoAnalysis', $this, $controller, $data)->render();
102
-    }
101
+		ViewFactory::make('GeoAnalysis', $this, $controller, $data)->render();
102
+	}
103 103
     
104
-    /**
105
-     * GeoAnalysis@listAll
106
-     */
107
-    public function listAll() {
104
+	/**
105
+	 * GeoAnalysis@listAll
106
+	 */
107
+	public function listAll() {
108 108
         
109
-        $controller = new PageController();
110
-        $controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
109
+		$controller = new PageController();
110
+		$controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
111 111
         
112
-        $data = new ViewBag();
113
-        $data->set('title', $controller->getPageTitle());
114
-        $data->set('has_list', false);
112
+		$data = new ViewBag();
113
+		$data->set('title', $controller->getPageTitle());
114
+		$data->set('has_list', false);
115 115
         
116
-        $ga_list = $this->provider->getGeoAnalysisList();
117
-        if(count($ga_list) > 0 ) {
118
-             $data->set('has_list', true);
119
-             $data->set('geoanalysislist', $ga_list);
120
-        }
116
+		$ga_list = $this->provider->getGeoAnalysisList();
117
+		if(count($ga_list) > 0 ) {
118
+			 $data->set('has_list', true);
119
+			 $data->set('geoanalysislist', $ga_list);
120
+		}
121 121
         
122
-        ViewFactory::make('GeoAnalysisList', $this, $controller, $data)->render();        
123
-    }
122
+		ViewFactory::make('GeoAnalysisList', $this, $controller, $data)->render();        
123
+	}
124 124
     	
125 125
 	/**
126 126
 	 * GeoAnalysis@setStatus
127 127
 	 */
128
-    public function setStatus() {  
129
-        global $WT_TREE;
128
+	public function setStatus() {  
129
+		global $WT_TREE;
130 130
         
131
-        $controller = new JsonController();
131
+		$controller = new JsonController();
132 132
         
133
-        $ga_id = Filter::getInteger('ga_id');
134
-        $ga = $this->provider->getGeoAnalysis($ga_id, false);
133
+		$ga_id = Filter::getInteger('ga_id');
134
+		$ga = $this->provider->getGeoAnalysis($ga_id, false);
135 135
         
136
-        $controller->restrictAccess(
137
-            true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
138
-            &&  Auth::isManager($WT_TREE) 
139
-            && $ga !== null
140
-        );
136
+		$controller->restrictAccess(
137
+			true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
138
+			&&  Auth::isManager($WT_TREE) 
139
+			&& $ga !== null
140
+		);
141 141
         
142
-        $status = Filter::getBool('status');
143
-        $res = array('geoanalysis' => $ga->getId() , 'error' => null);
144
-        try{
145
-            $this->provider->setGeoAnalysisStatus($ga, $status);
146
-            $res['status'] = $status;
142
+		$status = Filter::getBool('status');
143
+		$res = array('geoanalysis' => $ga->getId() , 'error' => null);
144
+		try{
145
+			$this->provider->setGeoAnalysisStatus($ga, $status);
146
+			$res['status'] = $status;
147 147
 			Log::addConfigurationLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" has been '. ($status ? 'enabled' : 'disabled') .'.');
148
-        }
149
-        catch (\Exception $ex) {
150
-            $res['error'] = $ex->getMessage();
148
+		}
149
+		catch (\Exception $ex) {
150
+			$res['error'] = $ex->getMessage();
151 151
 			Log::addErrorLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" could not be ' . ($status ? 'enabled' : 'disabled') .'. Error: '. $ex->getMessage());
152
-        }
152
+		}
153 153
         
154
-        $controller->pageHeader();
155
-        if($res['error']) http_response_code(500);
154
+		$controller->pageHeader();
155
+		if($res['error']) http_response_code(500);
156 156
         
157
-        $controller->encode($res);
158
-    }
157
+		$controller->encode($res);
158
+	}
159 159
     
160 160
 	/**
161
-     * GeoAnalysis@delete
162
-     */
163
-    public function delete() {
164
-        global $WT_TREE;
161
+	 * GeoAnalysis@delete
162
+	 */
163
+	public function delete() {
164
+		global $WT_TREE;
165 165
     
166
-        $controller = new JsonController();
166
+		$controller = new JsonController();
167 167
     
168
-        $ga_id = Filter::getInteger('ga_id');
169
-        $ga = $this->provider->getGeoAnalysis($ga_id, false);
168
+		$ga_id = Filter::getInteger('ga_id');
169
+		$ga = $this->provider->getGeoAnalysis($ga_id, false);
170 170
     
171
-        $controller->restrictAccess(
172
-            true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
173
-            &&  Auth::isManager($WT_TREE)
174
-            && $ga
175
-            );
171
+		$controller->restrictAccess(
172
+			true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
173
+			&&  Auth::isManager($WT_TREE)
174
+			&& $ga
175
+			);
176 176
             
177
-        $res = array('geoanalysis' => $ga->getId() , 'error' => null);
178
-        try{
179
-            $this->provider->deleteGeoAnalysis($ga);
177
+		$res = array('geoanalysis' => $ga->getId() , 'error' => null);
178
+		try{
179
+			$this->provider->deleteGeoAnalysis($ga);
180 180
 			Log::addConfigurationLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" has been deleted.');
181
-        }
182
-        catch (\Exception $ex) {
183
-            $res['error'] = $ex->getMessage();
181
+		}
182
+		catch (\Exception $ex) {
183
+			$res['error'] = $ex->getMessage();
184 184
 			Log::addErrorLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" could not be deleted. Error: '. $ex->getMessage());
185
-        }
185
+		}
186 186
     
187
-        $controller->pageHeader();
188
-        if($res['error']) http_response_code(500);
187
+		$controller->pageHeader();
188
+		if($res['error']) http_response_code(500);
189 189
 
190
-        $controller->encode($res);
191
-    }
190
+		$controller->encode($res);
191
+	}
192 192
         	
193
-    /**
194
-     * GeoAnalysis@dataTabs
195
-     */
196
-    public function dataTabs() {
197
-        global $WT_TREE;
193
+	/**
194
+	 * GeoAnalysis@dataTabs
195
+	 */
196
+	public function dataTabs() {
197
+		global $WT_TREE;
198 198
         
199
-        $controller = new JsonController();
199
+		$controller = new JsonController();
200 200
         
201
-        $ga_id = Filter::getInteger('ga_id');
202
-        $ga = $this->provider->getGeoAnalysis($ga_id);
203
-        $sosa_provider = new SosaProvider($WT_TREE, Auth::user());
201
+		$ga_id = Filter::getInteger('ga_id');
202
+		$ga = $this->provider->getGeoAnalysis($ga_id);
203
+		$sosa_provider = new SosaProvider($WT_TREE, Auth::user());
204 204
         
205
-        $controller
206
-            ->restrictAccess($ga && $sosa_provider->isSetup())
207
-            ->pageHeader();
205
+		$controller
206
+			->restrictAccess($ga && $sosa_provider->isSetup())
207
+			->pageHeader();
208 208
         
209
-        $jsonArray = array();
209
+		$jsonArray = array();
210 210
         
211
-        list($placesDispGeneral, $placesDispGenerations) = $ga->getAnalysisResults($sosa_provider->getAllSosaWithGenerations());
211
+		list($placesDispGeneral, $placesDispGenerations) = $ga->getAnalysisResults($sosa_provider->getAllSosaWithGenerations());
212 212
         
213
-        $flags = array();
214
-        if($placesDispGeneral && $ga->getOptions() && $ga->getOptions()->isUsingFlags()) {
215
-            $mapProvider = new GoogleMapsProvider();            
216
-            foreach($placesDispGeneral['places'] as $place => $count) {
217
-                $flags[$place] = $mapProvider->getPlaceIcon(new Place($place, $WT_TREE));
218
-            }
219
-        }
213
+		$flags = array();
214
+		if($placesDispGeneral && $ga->getOptions() && $ga->getOptions()->isUsingFlags()) {
215
+			$mapProvider = new GoogleMapsProvider();            
216
+			foreach($placesDispGeneral['places'] as $place => $count) {
217
+				$flags[$place] = $mapProvider->getPlaceIcon(new Place($place, $WT_TREE));
218
+			}
219
+		}
220 220
         
221
-        $jsonArray['generaltab'] = $this->htmlPlacesAnalysisGeneralTab($ga, $placesDispGeneral, $flags);
222
-        $jsonArray['generationstab'] = $this->htmlPlacesAnalysisGenerationsTab($ga, $placesDispGenerations, $flags);
221
+		$jsonArray['generaltab'] = $this->htmlPlacesAnalysisGeneralTab($ga, $placesDispGeneral, $flags);
222
+		$jsonArray['generationstab'] = $this->htmlPlacesAnalysisGenerationsTab($ga, $placesDispGenerations, $flags);
223 223
 
224
-        $controller->encode($jsonArray);
225
-    }
224
+		$controller->encode($jsonArray);
225
+	}
226 226
     
227 227
 	/**
228 228
 	 * Returns HTML code for the GeoAnalysis general tab (can be either a map or a table).
@@ -232,70 +232,70 @@  discard block
 block discarded – undo
232 232
 	 * @param (null|array) $flags Array of flags
233 233
 	 * @return string HTML code for the general tab
234 234
 	 */
235
-    protected function htmlPlacesAnalysisGeneralTab(GeoAnalysis $ga, $placesGeneralResults, $flags= null) {
236
-        global $WT_TREE;
235
+	protected function htmlPlacesAnalysisGeneralTab(GeoAnalysis $ga, $placesGeneralResults, $flags= null) {
236
+		global $WT_TREE;
237 237
         
238
-        if(!empty($placesGeneralResults)){
239
-            $data = new ViewBag();
238
+		if(!empty($placesGeneralResults)){
239
+			$data = new ViewBag();
240 240
             
241
-            $nb_found = $placesGeneralResults['knownsum'];
242
-            $nb_other = 0;
243
-            if(isset($placesGeneralResults['other'])) $nb_other =$placesGeneralResults['other'];
244
-            $nb_unknown = $placesGeneralResults['unknown'];
241
+			$nb_found = $placesGeneralResults['knownsum'];
242
+			$nb_other = 0;
243
+			if(isset($placesGeneralResults['other'])) $nb_other =$placesGeneralResults['other'];
244
+			$nb_unknown = $placesGeneralResults['unknown'];
245 245
             
246
-            $data->set('stats_gen_nb_found', $nb_found);
247
-            $data->set('stats_gen_nb_other', $nb_other);
248
-            $data->set('stats_gen_nb_unknown', $nb_unknown);
246
+			$data->set('stats_gen_nb_found', $nb_found);
247
+			$data->set('stats_gen_nb_other', $nb_other);
248
+			$data->set('stats_gen_nb_unknown', $nb_unknown);
249 249
             
250
-            $data->set('use_flags', $ga->getOptions() && $ga->getOptions()->isUsingFlags());
250
+			$data->set('use_flags', $ga->getOptions() && $ga->getOptions()->isUsingFlags());
251 251
             
252
-            if($ga->hasMap()) {
253
-                $max = $placesGeneralResults['max'];
254
-                $map = $ga->getOptions()->getMap();
255
-                $results_by_subdivs = $map->getSubdivisions();
256
-                $places_mappings = $map->getPlacesMappings();
257
-                foreach ($placesGeneralResults['places'] as $location => $count) {
258
-                    $levelvalues = array_reverse(array_map('trim',explode(',', $location)));
259
-                    $level_map = $ga->getAnalysisLevel() - $ga->getOptions()->getMapLevel();
260
-                    if($level_map >= 0 && $level_map < count($levelvalues)) {
261
-                        $levelref = $levelvalues[0] . '@' . $levelvalues[$level_map];
262
-                        if(!isset($results_by_subdivs[$levelref])) { $levelref = $levelvalues[0]; }
263
-                    }
264
-                    else {
265
-                        $levelref = $levelvalues[0];
266
-                    }
267
-                    if(isset($places_mappings[$levelref])) $levelref = $places_mappings[$levelref];
268
-                    if(isset($results_by_subdivs[$levelref])) {
269
-                        $count_subd = isset($results_by_subdivs[$levelref]['count']) ? $results_by_subdivs[$levelref]['count'] : 0;
270
-                        $count_subd  += $count;
271
-                        $results_by_subdivs[$levelref]['count'] = $count_subd;   
272
-                        $results_by_subdivs[$levelref]['transparency'] = Functions::safeDivision($count_subd, $max);
273
-                        if($ga->getOptions()->isUsingFlags() && $flags) {
274
-                            $results_by_subdivs[$levelref]['place'] = new Place($location, $WT_TREE);
275
-                            $results_by_subdivs[$levelref]['flag'] = $flags[$location];
276
-                        }
277
-                    }
278
-                }             
252
+			if($ga->hasMap()) {
253
+				$max = $placesGeneralResults['max'];
254
+				$map = $ga->getOptions()->getMap();
255
+				$results_by_subdivs = $map->getSubdivisions();
256
+				$places_mappings = $map->getPlacesMappings();
257
+				foreach ($placesGeneralResults['places'] as $location => $count) {
258
+					$levelvalues = array_reverse(array_map('trim',explode(',', $location)));
259
+					$level_map = $ga->getAnalysisLevel() - $ga->getOptions()->getMapLevel();
260
+					if($level_map >= 0 && $level_map < count($levelvalues)) {
261
+						$levelref = $levelvalues[0] . '@' . $levelvalues[$level_map];
262
+						if(!isset($results_by_subdivs[$levelref])) { $levelref = $levelvalues[0]; }
263
+					}
264
+					else {
265
+						$levelref = $levelvalues[0];
266
+					}
267
+					if(isset($places_mappings[$levelref])) $levelref = $places_mappings[$levelref];
268
+					if(isset($results_by_subdivs[$levelref])) {
269
+						$count_subd = isset($results_by_subdivs[$levelref]['count']) ? $results_by_subdivs[$levelref]['count'] : 0;
270
+						$count_subd  += $count;
271
+						$results_by_subdivs[$levelref]['count'] = $count_subd;   
272
+						$results_by_subdivs[$levelref]['transparency'] = Functions::safeDivision($count_subd, $max);
273
+						if($ga->getOptions()->isUsingFlags() && $flags) {
274
+							$results_by_subdivs[$levelref]['place'] = new Place($location, $WT_TREE);
275
+							$results_by_subdivs[$levelref]['flag'] = $flags[$location];
276
+						}
277
+					}
278
+				}             
279 279
                 
280
-                $data->set('map', $ga->getOptions()->getMap());
281
-                $data->set('results_by_subdivisions', $results_by_subdivs);
280
+				$data->set('map', $ga->getOptions()->getMap());
281
+				$data->set('results_by_subdivisions', $results_by_subdivs);
282 282
                 
283
-                $html = ViewFactory::make('GeoAnalysisTabGeneralMap', $this, new BaseController(), $data)->getHtmlPartial();
284
-            }
285
-            else {
286
-                $results = $placesGeneralResults['places'];
287
-                arsort($results);
288
-                $data->set('results', $results);
289
-                $data->set('analysis_level', $ga->getAnalysisLevel());
283
+				$html = ViewFactory::make('GeoAnalysisTabGeneralMap', $this, new BaseController(), $data)->getHtmlPartial();
284
+			}
285
+			else {
286
+				$results = $placesGeneralResults['places'];
287
+				arsort($results);
288
+				$data->set('results', $results);
289
+				$data->set('analysis_level', $ga->getAnalysisLevel());
290 290
                 
291
-                $html = ViewFactory::make('GeoAnalysisTabGeneralTable', $this, new BaseController(), $data)->getHtmlPartial();
292
-            }
293
-        }
294
-        else {
295
-            $html = '<p class="warning">' . I18N::translate('No data is available for the general analysis.') . '</p>';
296
-        }
297
-        return $html;
298
-    }
291
+				$html = ViewFactory::make('GeoAnalysisTabGeneralTable', $this, new BaseController(), $data)->getHtmlPartial();
292
+			}
293
+		}
294
+		else {
295
+			$html = '<p class="warning">' . I18N::translate('No data is available for the general analysis.') . '</p>';
296
+		}
297
+		return $html;
298
+	}
299 299
     
300 300
 	/**
301 301
 	 * Returns HTML code for the GeoAnalysis generations tab.
@@ -305,68 +305,68 @@  discard block
 block discarded – undo
305 305
 	 * @param (null|array) $flags Array of flags
306 306
 	 * @return string HTML code for the generations tab
307 307
 	 */
308
-    protected function htmlPlacesAnalysisGenerationsTab(GeoAnalysis $ga, $placesGenerationsResults, $flags = null) {
309
-        global $WT_TREE;
308
+	protected function htmlPlacesAnalysisGenerationsTab(GeoAnalysis $ga, $placesGenerationsResults, $flags = null) {
309
+		global $WT_TREE;
310 310
         
311
-        if(!empty($placesGenerationsResults) && $ga->getOptions()){
312
-            $data = new ViewBag();
311
+		if(!empty($placesGenerationsResults) && $ga->getOptions()){
312
+			$data = new ViewBag();
313 313
             
314
-            ksort($placesGenerationsResults);
314
+			ksort($placesGenerationsResults);
315 315
             
316
-            $detailslevel = $ga->getOptions()->getMaxDetailsInGen();
317
-            $data->set('max_details_gen', $detailslevel);    
318
-            $data->set('use_flags', $ga->getOptions()->isUsingFlags());
319
-            $data->set('analysis_level', $ga->getAnalysisLevel());
320
-            $display_all_places = !is_null($detailslevel) && $detailslevel == 0;
321
-            $data->set('display_all_places', $display_all_places);
316
+			$detailslevel = $ga->getOptions()->getMaxDetailsInGen();
317
+			$data->set('max_details_gen', $detailslevel);    
318
+			$data->set('use_flags', $ga->getOptions()->isUsingFlags());
319
+			$data->set('analysis_level', $ga->getAnalysisLevel());
320
+			$display_all_places = !is_null($detailslevel) && $detailslevel == 0;
321
+			$data->set('display_all_places', $display_all_places);
322 322
             
323
-            $results_by_gen = array();
324
-            foreach($placesGenerationsResults as $gen => $genData){
325
-                $sum = 0;
326
-                $other = 0;
327
-                $unknown = 0;
328
-                if(isset($genData['sum'])) $sum = $genData['sum'];
329
-                if(isset($genData['other'])) $other = $genData['other'];
330
-                if(isset($genData['unknown'])) $unknown = $genData['unknown'];
323
+			$results_by_gen = array();
324
+			foreach($placesGenerationsResults as $gen => $genData){
325
+				$sum = 0;
326
+				$other = 0;
327
+				$unknown = 0;
328
+				if(isset($genData['sum'])) $sum = $genData['sum'];
329
+				if(isset($genData['other'])) $other = $genData['other'];
330
+				if(isset($genData['unknown'])) $unknown = $genData['unknown'];
331 331
                 
332
-                if($sum > 0) {                
333
-                    $results_by_gen[$gen]['sum'] = $sum;
334
-                    $results_by_gen[$gen]['other'] = $other;
335
-                    $results_by_gen[$gen]['unknown'] = $unknown;
336
-                    $results_by_gen[$gen]['places'] = array();                    
337
-                    arsort($genData['places']);
332
+				if($sum > 0) {                
333
+					$results_by_gen[$gen]['sum'] = $sum;
334
+					$results_by_gen[$gen]['other'] = $other;
335
+					$results_by_gen[$gen]['unknown'] = $unknown;
336
+					$results_by_gen[$gen]['places'] = array();                    
337
+					arsort($genData['places']);
338 338
                     
339
-                    if($display_all_places){
340
-                        foreach($genData['places'] as $placename=> $count){
341
-                            $results_by_gen[$gen]['places'][$placename]['count'] = $count;
339
+					if($display_all_places){
340
+						foreach($genData['places'] as $placename=> $count){
341
+							$results_by_gen[$gen]['places'][$placename]['count'] = $count;
342 342
                             
343
-                            if($ga->getOptions() && $ga->getOptions()->isUsingFlags() && ($flag = $flags[$placename]) != ''){
344
-                                $results_by_gen[$gen]['places'][$placename]['place'] = new Place($placename, $WT_TREE);
345
-                                $results_by_gen[$gen]['places'][$placename]['flag'] = $flag;
346
-                            }
347
-                        }
348
-                    }
349
-                    else {
350
-                        $tmp = $genData['places'];
351
-                        if($other > 0) {
352
-                            $tmp = array_slice($tmp, 0, 5, true);
353
-                            $tmp['other'] = $other;
354
-                            arsort($tmp);  
355
-                        }                      
356
-                        $results_by_gen[$gen]['places'] = array_slice($tmp, 0, 5, true);                        
357
-                    }
358
-                }
359
-            }
343
+							if($ga->getOptions() && $ga->getOptions()->isUsingFlags() && ($flag = $flags[$placename]) != ''){
344
+								$results_by_gen[$gen]['places'][$placename]['place'] = new Place($placename, $WT_TREE);
345
+								$results_by_gen[$gen]['places'][$placename]['flag'] = $flag;
346
+							}
347
+						}
348
+					}
349
+					else {
350
+						$tmp = $genData['places'];
351
+						if($other > 0) {
352
+							$tmp = array_slice($tmp, 0, 5, true);
353
+							$tmp['other'] = $other;
354
+							arsort($tmp);  
355
+						}                      
356
+						$results_by_gen[$gen]['places'] = array_slice($tmp, 0, 5, true);                        
357
+					}
358
+				}
359
+			}
360 360
             
361
-            $data->set('results_by_generations', $results_by_gen);
361
+			$data->set('results_by_generations', $results_by_gen);
362 362
             
363
-            $html = ViewFactory::make('GeoAnalysisTabGenerations', $this, new BaseController(), $data)->getHtmlPartial();
363
+			$html = ViewFactory::make('GeoAnalysisTabGenerations', $this, new BaseController(), $data)->getHtmlPartial();
364 364
             
365
-        }
366
-        else {
367
-            $html = '<p class="warning">' . I18N::translate('No data is available for the generations analysis.') . '</p>';
368
-        }
369
-        return $html;
370
-    }
365
+		}
366
+		else {
367
+			$html = '<p class="warning">' . I18N::translate('No data is available for the generations analysis.') . '</p>';
368
+		}
369
+		return $html;
370
+	}
371 371
         
372 372
 }
373 373
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/AdminTasks/AdminConfigController.php 1 patch
Indentation   +88 added lines, -88 removed lines patch added patch discarded remove patch
@@ -34,37 +34,37 @@  discard block
 block discarded – undo
34 34
  */
35 35
 class AdminConfigController extends MvcController
36 36
 {    
37
-    /**
38
-     * Tasks Provider
39
-     * @var TaskProviderInterface $provider
40
-     */
41
-    protected $provider;    
37
+	/**
38
+	 * Tasks Provider
39
+	 * @var TaskProviderInterface $provider
40
+	 */
41
+	protected $provider;    
42 42
     
43
-    /**
44
-     * Constructor for Admin Config controller
45
-     * @param \Fisharebest\Webtrees\Module\AbstractModule $module
46
-     */
47
-    public function __construct(AbstractModule $module) {
48
-        parent::__construct($module);
43
+	/**
44
+	 * Constructor for Admin Config controller
45
+	 * @param \Fisharebest\Webtrees\Module\AbstractModule $module
46
+	 */
47
+	public function __construct(AbstractModule $module) {
48
+		parent::__construct($module);
49 49
         
50
-        $this->provider = $this->module->getProvider();
51
-    }    
50
+		$this->provider = $this->module->getProvider();
51
+	}    
52 52
     
53
-    /**
54
-     * Pages
55
-     */
53
+	/**
54
+	 * Pages
55
+	 */
56 56
         
57
-    /**
58
-     * AdminConfig@index
59
-     */
60
-    public function index() {
61
-        global $WT_TREE;
57
+	/**
58
+	 * AdminConfig@index
59
+	 */
60
+	public function index() {
61
+		global $WT_TREE;
62 62
         
63
-        Theme::theme(new AdministrationTheme)->init($WT_TREE);
64
-        $controller = new PageController();
65
-        $controller
66
-            ->restrictAccess(Auth::isAdmin())
67
-            ->setPageTitle($this->module->getTitle());
63
+		Theme::theme(new AdministrationTheme)->init($WT_TREE);
64
+		$controller = new PageController();
65
+		$controller
66
+			->restrictAccess(Auth::isAdmin())
67
+			->setPageTitle($this->module->getTitle());
68 68
 			
69 69
 		$token = $this->module->getSetting('MAJ_AT_FORCE_EXEC_TOKEN');
70 70
 		if(is_null($token)) {
@@ -72,11 +72,11 @@  discard block
 block discarded – undo
72 72
 			$this->module->setSetting('PAT_FORCE_EXEC_TOKEN', $token);
73 73
 		}
74 74
         
75
-        $data = new ViewBag();
76
-        $data->set('title', $controller->getPageTitle());
75
+		$data = new ViewBag();
76
+		$data->set('title', $controller->getPageTitle());
77 77
         
78
-        $table_id = 'table-admintasks-' . Uuid::uuid4();
79
-        $data->set('table_id', $table_id);
78
+		$table_id = 'table-admintasks-' . Uuid::uuid4();
79
+		$data->set('table_id', $table_id);
80 80
 		
81 81
 		$data->set('trigger_url_root', WT_BASE_URL.'module.php?mod='.$this->module->getName().'&mod_action=Task@trigger');
82 82
 		$token = $this->module->getSetting('MAJ_AT_FORCE_EXEC_TOKEN');
@@ -89,9 +89,9 @@  discard block
 block discarded – undo
89 89
 		$this->provider->getInstalledTasks();
90 90
 		
91 91
 		$controller
92
-            ->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
93
-            ->addExternalJavascript(WT_DATATABLES_BOOTSTRAP_JS_URL)
94
-            ->addInlineJavascript('
92
+			->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
93
+			->addExternalJavascript(WT_DATATABLES_BOOTSTRAP_JS_URL)
94
+			->addInlineJavascript('
95 95
                 //Datatable initialisation
96 96
 				jQuery.fn.dataTableExt.oSort["unicode-asc"  ]=function(a,b) {return a.replace(/<[^<]*>/, "").localeCompare(b.replace(/<[^<]*>/, ""))};
97 97
 				jQuery.fn.dataTableExt.oSort["unicode-desc" ]=function(a,b) {return b.replace(/<[^<]*>/, "").localeCompare(a.replace(/<[^<]*>/, ""))};
@@ -123,7 +123,7 @@  discard block
 block discarded – undo
123 123
 				});
124 124
                 
125 125
                 ')
126
-                ->addInlineJavascript('					
126
+				->addInlineJavascript('					
127 127
 					function generate_force_token() {
128 128
 						jQuery("#bt_genforcetoken").attr("disabled", "disabled");
129 129
 						jQuery("#bt_tokentext").empty().html("<i class=\"fa fa-spinner fa-pulse fa-fw\"></i>");
@@ -171,56 +171,56 @@  discard block
 block discarded – undo
171 171
                     } 
172 172
                 ');
173 173
         
174
-        ViewFactory::make('AdminConfig', $this, $controller, $data)->render();
175
-    }
174
+		ViewFactory::make('AdminConfig', $this, $controller, $data)->render();
175
+	}
176 176
     
177
-    /**
178
-     * AdminConfig@jsonTasksList
179
-     */
180
-    public function jsonTasksList() {
181
-        global $WT_TREE;
177
+	/**
178
+	 * AdminConfig@jsonTasksList
179
+	 */
180
+	public function jsonTasksList() {
181
+		global $WT_TREE;
182 182
     
183
-        $controller = new JsonController();
184
-        $controller
185
-            ->restrictAccess(Auth::isAdmin());
183
+		$controller = new JsonController();
184
+		$controller
185
+			->restrictAccess(Auth::isAdmin());
186 186
     
187
-        // Generate an AJAX/JSON response for datatables to load a block of rows
188
-        $search = Filter::postArray('search');
189
-        if($search) $search = $search['value'];
190
-        $start  = Filter::postInteger('start');
191
-        $length = Filter::postInteger('length');
192
-        $order  = Filter::postArray('order');
187
+		// Generate an AJAX/JSON response for datatables to load a block of rows
188
+		$search = Filter::postArray('search');
189
+		if($search) $search = $search['value'];
190
+		$start  = Filter::postInteger('start');
191
+		$length = Filter::postInteger('length');
192
+		$order  = Filter::postArray('order');
193 193
     
194 194
 		$order_by_name = false;
195
-        foreach($order as $key => &$value) {
196
-            switch($value['column']) {
197
-                case 3:
195
+		foreach($order as $key => &$value) {
196
+			switch($value['column']) {
197
+				case 3:
198 198
 					$order_by_name = true;
199
-                    unset($order[$key]);
200
-                    break;
201
-                case 4;
199
+					unset($order[$key]);
200
+					break;
201
+				case 4;
202 202
 					$value['column'] = 'majat_last_run';
203 203
 					break;
204 204
 				case 4;
205 205
 					$value['column'] = 'majat_last_result';
206 206
 					break;
207
-                default:
208
-                    unset($order[$key]);
209
-            }
210
-        }
207
+				default:
208
+					unset($order[$key]);
209
+			}
210
+		}
211 211
     
212
-        $list = $this->provider->getFilteredTasksList($search, $order, $start, $length);
212
+		$list = $this->provider->getFilteredTasksList($search, $order, $start, $length);
213 213
 		if($order_by_name) {
214 214
 			usort($list, function(AbstractTask $a, AbstractTask $b) { return I18N::strcasecmp($a->getTitle(), $b->getTitle()); });
215 215
 		}
216
-        $recordsFiltered = count($list);
217
-        $recordsTotal = $this->provider->getTasksCount();
216
+		$recordsFiltered = count($list);
217
+		$recordsTotal = $this->provider->getTasksCount();
218 218
     
219
-        $data = array();
220
-        foreach($list as $task) {    
221
-            $datum = array();
219
+		$data = array();
220
+		foreach($list as $task) {    
221
+			$datum = array();
222 222
 			
223
-            $datum[0] = '
223
+			$datum[0] = '
224 224
                 <div class="btn-group">
225 225
                     <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
226 226
                         <i class="fa fa-pencil"></i><span class="caret"></span>
@@ -238,50 +238,50 @@  discard block
 block discarded – undo
238 238
                        </li>
239 239
                     </ul>
240 240
                 </div>';
241
-            $datum[1] = $task->getName();
242
-            $datum[2] = $task->isEnabled() ? 
241
+			$datum[1] = $task->getName();
242
+			$datum[2] = $task->isEnabled() ? 
243 243
 				'<i class="fa fa-check"></i><span class="sr-only">'.I18N::translate('Enabled').'</span>' : 
244 244
 				'<i class="fa fa-times"></i><span class="sr-only">'.I18N::translate('Disabled').'</span>';
245
-            $datum[3] = $task->getTitle();
246
-            $date_format = str_replace('%', '', I18N::dateFormat()) . ' H:i:s';
245
+			$datum[3] = $task->getTitle();
246
+			$date_format = str_replace('%', '', I18N::dateFormat()) . ' H:i:s';
247 247
 			$datum[4] = $task->getLastUpdated()->format($date_format);
248
-            $datum[5] = $task->isLastRunSuccess() ? 
248
+			$datum[5] = $task->isLastRunSuccess() ? 
249 249
 				'<i class="fa fa-check"></i><span class="sr-only">'.I18N::translate('Yes').'</span>' : 
250 250
 				'<i class="fa fa-times"></i><span class="sr-only">'.I18N::translate('No').'</span>';
251
-            $dtF = new \DateTime('@0');
252
-            $dtT = new \DateTime('@' . ($task->getFrequency() * 60));            
253
-            $datum[6] = $dtF->diff($dtT)->format(I18N::translate('%a d %h h %i m'));
251
+			$dtF = new \DateTime('@0');
252
+			$dtT = new \DateTime('@' . ($task->getFrequency() * 60));            
253
+			$datum[6] = $dtF->diff($dtT)->format(I18N::translate('%a d %h h %i m'));
254 254
 			$datum[7] = $task->getRemainingOccurrences() > 0 ? I18N::number($task->getRemainingOccurrences()) : I18N::translate('Unlimited');
255 255
 			$datum[8] = $task->isRunning() ? 
256 256
 				'<i class="fa fa-cog fa-spin fa-fw"></i><span class="sr-only">'.I18N::translate('Running').'</span>' : 
257 257
 				'<i class="fa fa-times"></i><span class="sr-only">'.I18N::translate('Not running').'</span>';
258 258
 			if($task->isEnabled() && !$task->isRunning()) {
259
-			    $datum[9] = '
259
+				$datum[9] = '
260 260
     			    <button id="bt_runtask_'. $task->getName() .'" class="btn btn-primary" href="#" onclick="return run_admintask(\''. $task->getName() .'\')">
261 261
     			         <div id="bt_runtasktext_'. $task->getName() .'"><i class="fa fa-cog fa-fw" ></i>' . I18N::translate('Run') . '</div>
262 262
     			    </button>';
263 263
 			}
264 264
 			else {
265
-			    $datum[9] = '';
265
+				$datum[9] = '';
266 266
 			}			    
267 267
 						
268
-            $data[] = $datum;
269
-        }
268
+			$data[] = $datum;
269
+		}
270 270
     
271
-        $controller->pageHeader();
271
+		$controller->pageHeader();
272 272
     
273
-        $controller->encode(array(
274
-            'draw'            => Filter::getInteger('draw'),
275
-            'recordsTotal'    => $recordsTotal,
276
-            'recordsFiltered' => $recordsFiltered,
277
-            'data'            => $data
278
-        ));
273
+		$controller->encode(array(
274
+			'draw'            => Filter::getInteger('draw'),
275
+			'recordsTotal'    => $recordsTotal,
276
+			'recordsFiltered' => $recordsFiltered,
277
+			'data'            => $data
278
+		));
279 279
     
280
-    }
280
+	}
281 281
 		
282 282
 	/**
283 283
 	 * AdminConfig@generateToken
284
-     *
284
+	 *
285 285
 	 * Ajax call to generate a new token. Display the token, if generated.
286 286
 	 * Tokens call only be generated by a site administrator.
287 287
 	 *
Please login to merge, or discard this patch.
src/Webtrees/Module/AdminTasks/TaskController.php 1 patch
Indentation   +65 added lines, -65 removed lines patch added patch discarded remove patch
@@ -34,25 +34,25 @@  discard block
 block discarded – undo
34 34
  */
35 35
 class TaskController extends MvcController
36 36
 {    
37
-    /**
38
-     * Tasks Provider
39
-     * @var TaskProviderInterface $provider
40
-     */
41
-    protected $provider;    
37
+	/**
38
+	 * Tasks Provider
39
+	 * @var TaskProviderInterface $provider
40
+	 */
41
+	protected $provider;    
42 42
     
43
-    /**
44
-     * Constructor for Admin Config controller
45
-     * @param AbstractModule $module
46
-     */
47
-    public function __construct(AbstractModule $module) {
48
-        parent::__construct($module);
43
+	/**
44
+	 * Constructor for Admin Config controller
45
+	 * @param AbstractModule $module
46
+	 */
47
+	public function __construct(AbstractModule $module) {
48
+		parent::__construct($module);
49 49
         
50
-        $this->provider = $this->module->getProvider();
51
-    }    
50
+		$this->provider = $this->module->getProvider();
51
+	}    
52 52
     
53
-    /**
54
-     * Pages
55
-     */        
53
+	/**
54
+	 * Pages
55
+	 */        
56 56
 	
57 57
 	/**
58 58
 	 * Task@trigger
@@ -76,35 +76,35 @@  discard block
 block discarded – undo
76 76
 	/**
77 77
 	 * Task@setStatus
78 78
 	 */
79
-    public function setStatus() {          
80
-        $controller = new JsonController();
79
+	public function setStatus() {          
80
+		$controller = new JsonController();
81 81
         
82
-        $task_name = Filter::get('task');
83
-        $task = $this->provider->getTask($task_name, false);
82
+		$task_name = Filter::get('task');
83
+		$task = $this->provider->getTask($task_name, false);
84 84
         
85
-        $controller->restrictAccess(
86
-            true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
87
-            &&  Auth::isAdmin() 
88
-            && $task
89
-        );
85
+		$controller->restrictAccess(
86
+			true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
87
+			&&  Auth::isAdmin() 
88
+			&& $task
89
+		);
90 90
         
91
-        $status = Filter::getBool('status');
92
-        $res = array('task' => $task->getName() , 'error' => null);
93
-        try{
94
-            $this->provider->setTaskStatus($task, $status);
95
-            $res['status'] = $status;
91
+		$status = Filter::getBool('status');
92
+		$res = array('task' => $task->getName() , 'error' => null);
93
+		try{
94
+			$this->provider->setTaskStatus($task, $status);
95
+			$res['status'] = $status;
96 96
 			Log::addConfigurationLog('Module '.$this->module->getName().' : Admin Task "'.$task->getName().'" has been '. ($status ? 'enabled' : 'disabled') .'.');
97
-        }
98
-        catch (\Exception $ex) {
99
-            $res['error'] = $ex->getMessage();
97
+		}
98
+		catch (\Exception $ex) {
99
+			$res['error'] = $ex->getMessage();
100 100
 			Log::addErrorLog('Module '.$this->module->getName().' : Admin Task "'.$task->getName().'" could not be ' . ($status ? 'enabled' : 'disabled') .'. Error: '. $ex->getMessage());
101
-        }
101
+		}
102 102
         
103
-        $controller->pageHeader();
104
-        if($res['error']) http_response_code(500);
103
+		$controller->pageHeader();
104
+		if($res['error']) http_response_code(500);
105 105
         
106
-        $controller->encode($res);
107
-    }
106
+		$controller->encode($res);
107
+	}
108 108
 	
109 109
 	/**
110 110
 	 * Task@edit
@@ -112,15 +112,15 @@  discard block
 block discarded – undo
112 112
 	public function edit() {
113 113
 		global $WT_TREE;
114 114
         		
115
-        $task_name = Filter::get('task');
116
-        $task = $this->provider->getTask($task_name, false);
115
+		$task_name = Filter::get('task');
116
+		$task = $this->provider->getTask($task_name, false);
117 117
 		
118
-        Theme::theme(new AdministrationTheme)->init($WT_TREE);
119
-        $controller = new PageController();        
120
-        $controller
121
-            ->restrictAccess(Auth::isAdmin() && $task)
118
+		Theme::theme(new AdministrationTheme)->init($WT_TREE);
119
+		$controller = new PageController();        
120
+		$controller
121
+			->restrictAccess(Auth::isAdmin() && $task)
122 122
 			->setPageTitle(I18N::translate('Edit the administrative task'))
123
-            ->addInlineJavascript('
123
+			->addInlineJavascript('
124 124
                 function toggleRemainingOccurrences() {
125 125
                     if($("input:radio[name=\'is_limited\']:checked").val() == 1) {
126 126
                         $("#nb_occurences").show();
@@ -133,39 +133,39 @@  discard block
 block discarded – undo
133 133
                 $("[name=\'is_limited\']").on("change", toggleRemainingOccurrences);
134 134
                 toggleRemainingOccurrences();
135 135
             ')
136
-        ;
136
+		;
137 137
         
138 138
         
139
-        $data = new ViewBag();        
140
-        $data->set('title', $controller->getPageTitle());
139
+		$data = new ViewBag();        
140
+		$data->set('title', $controller->getPageTitle());
141 141
 		$data->set('admin_config_url', 'module.php?mod=' . $this->module->getName() . '&mod_action=AdminConfig&ged=' . $WT_TREE->getNameUrl());
142
-        $data->set('module_title', $this->module->getTitle());
142
+		$data->set('module_title', $this->module->getTitle());
143 143
 		$data->set('save_url', 'module.php?mod=' . $this->module->getName() . '&mod_action=Task@save&ged=' . $WT_TREE->getNameUrl());
144 144
 		$data->set('task', $task);
145 145
 		    
146
-        ViewFactory::make('TaskEdit', $this, $controller, $data)->render();	
146
+		ViewFactory::make('TaskEdit', $this, $controller, $data)->render();	
147 147
 	}	
148 148
 	
149 149
 	/**
150 150
 	 * Task@save
151 151
 	 */
152 152
 	public function save() {		
153
-        $tmp_contrl = new PageController();
153
+		$tmp_contrl = new PageController();
154 154
 				
155
-        $tmp_contrl->restrictAccess(
156
-            Auth::isAdmin() 
157
-            && Filter::checkCsrf()
158
-         );
155
+		$tmp_contrl->restrictAccess(
156
+			Auth::isAdmin() 
157
+			&& Filter::checkCsrf()
158
+		 );
159 159
         
160 160
 		$task_name      = Filter::post('task');
161
-        $frequency    	= Filter::postInteger('frequency');
162
-        $is_limited  	= Filter::postInteger('is_limited', 0, 1);
163
-        $nb_occur       = Filter::postInteger('nb_occur');
161
+		$frequency    	= Filter::postInteger('frequency');
162
+		$is_limited  	= Filter::postInteger('is_limited', 0, 1);
163
+		$nb_occur       = Filter::postInteger('nb_occur');
164 164
 				
165 165
 		$task = $this->provider->getTask($task_name, false);
166 166
         
167
-        $success = false; 
168
-        if($task) {
167
+		$success = false; 
168
+		if($task) {
169 169
 			$task->setFrequency($frequency);
170 170
 			if($is_limited == 1) {
171 171
 				$task->setRemainingOccurrences($nb_occur);
@@ -197,13 +197,13 @@  discard block
 block discarded – undo
197 197
 				Log::addConfigurationLog('Module '.$this->module->getName().' : AdminTask “'. $task->getName() .'” could not be updated. See error log.');
198 198
 			}
199 199
 			
200
-        }
200
+		}
201 201
         
202
-        $redirection_url = 'module.php?mod=' . $this->module->getName() . '&mod_action=AdminConfig';
203
-        if(!$success) {
202
+		$redirection_url = 'module.php?mod=' . $this->module->getName() . '&mod_action=AdminConfig';
203
+		if(!$success) {
204 204
 			$redirection_url = 'module.php?mod=' . $this->module->getName() . '&mod_action=Task@edit&task='. $task->getName();
205
-        }        
206
-        header('Location: ' . WT_BASE_URL . $redirection_url);
205
+		}        
206
+		header('Location: ' . WT_BASE_URL . $redirection_url);
207 207
 	}
208 208
      
209 209
 }
210 210
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/WelcomeBlock/PiwikController.php 1 patch
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -23,74 +23,74 @@
 block discarded – undo
23 23
  */
24 24
 class PiwikController extends MvcController
25 25
 {   
26
-    /**
27
-     * Retrieve the number of visitors from Piwik, for a given period.
28
-     * 
29
-     * @param string $block_id
30
-     * @param string $period
31
-     * @param (null|int) Number of visits
32
-     */
33
-    private function getNumberOfVisitsPiwik($block_id, $period='year'){
26
+	/**
27
+	 * Retrieve the number of visitors from Piwik, for a given period.
28
+	 * 
29
+	 * @param string $block_id
30
+	 * @param string $period
31
+	 * @param (null|int) Number of visits
32
+	 */
33
+	private function getNumberOfVisitsPiwik($block_id, $period='year'){
34 34
     
35
-        $piwik_url = $this->module->getBlockSetting($block_id, 'piwik_url');
36
-        $piwik_siteid = $this->module->getBlockSetting($block_id, 'piwik_siteid');
37
-        $piwik_token = $this->module->getBlockSetting($block_id, 'piwik_token');
35
+		$piwik_url = $this->module->getBlockSetting($block_id, 'piwik_url');
36
+		$piwik_siteid = $this->module->getBlockSetting($block_id, 'piwik_siteid');
37
+		$piwik_token = $this->module->getBlockSetting($block_id, 'piwik_token');
38 38
     
39
-        if($piwik_url && strlen($piwik_url) > 0 &&
40
-            $piwik_siteid  && strlen($piwik_siteid) > 0 &&
41
-            $piwik_token && strlen($piwik_token)            
42
-            ) 
43
-        {        
44
-            // calling Piwik REST API
45
-            $url = $piwik_url;
46
-            $url .= '?module=API&method=VisitsSummary.getVisits';
47
-            $url .= '&idSite='.$piwik_siteid.'&period='.$period.'&date=today';
48
-            $url .= '&format=PHP';
49
-            $url .= '&token_auth='.$piwik_token;
39
+		if($piwik_url && strlen($piwik_url) > 0 &&
40
+			$piwik_siteid  && strlen($piwik_siteid) > 0 &&
41
+			$piwik_token && strlen($piwik_token)            
42
+			) 
43
+		{        
44
+			// calling Piwik REST API
45
+			$url = $piwik_url;
46
+			$url .= '?module=API&method=VisitsSummary.getVisits';
47
+			$url .= '&idSite='.$piwik_siteid.'&period='.$period.'&date=today';
48
+			$url .= '&format=PHP';
49
+			$url .= '&token_auth='.$piwik_token;
50 50
         
51
-            if($fetched = File::fetchUrl($url)) {
52
-                $content = @unserialize($fetched);
53
-                if(is_numeric($content)) return $content;
54
-            }
55
-        }
51
+			if($fetched = File::fetchUrl($url)) {
52
+				$content = @unserialize($fetched);
53
+				if(is_numeric($content)) return $content;
54
+			}
55
+		}
56 56
     
57
-        return null;
58
-    }
57
+		return null;
58
+	}
59 59
     
60
-    /**
61
-     * Pages
62
-     */
60
+	/**
61
+	 * Pages
62
+	 */
63 63
         
64
-    /**
65
-     * Piwik@index
66
-     */
67
-    public function index() {  
64
+	/**
65
+	 * Piwik@index
66
+	 */
67
+	public function index() {  
68 68
         
69
-        $ctrl = new AjaxController();
69
+		$ctrl = new AjaxController();
70 70
         
71
-        $data = new ViewBag();
72
-        $data->set('has_stats', false);
71
+		$data = new ViewBag();
72
+		$data->set('has_stats', false);
73 73
         
74
-        $block_id = Filter::get('block_id');        
75
-        if($block_id){
76
-            $cached_item = Cache::get('piwikCountYear', $this->module);
77
-            $visitCountYear = $cached_item->get();
78
-            if(!$cached_item->isHit()) {
79
-                $visitCountYear = $this->getNumberOfVisitsPiwik($block_id);
80
-                Cache::save($cached_item, $visitCountYear);
81
-            }
74
+		$block_id = Filter::get('block_id');        
75
+		if($block_id){
76
+			$cached_item = Cache::get('piwikCountYear', $this->module);
77
+			$visitCountYear = $cached_item->get();
78
+			if(!$cached_item->isHit()) {
79
+				$visitCountYear = $this->getNumberOfVisitsPiwik($block_id);
80
+				Cache::save($cached_item, $visitCountYear);
81
+			}
82 82
             
83
-            if($visitCountYear){
84
-                $visitCountToday = max(0, $this->getNumberOfVisitsPiwik($block_id, 'day'));
85
-                $visitCountYear = max( 0, $visitCountYear);
83
+			if($visitCountYear){
84
+				$visitCountToday = max(0, $this->getNumberOfVisitsPiwik($block_id, 'day'));
85
+				$visitCountYear = max( 0, $visitCountYear);
86 86
                 
87
-                $data->set('has_stats', true);
88
-                $data->set('visits_today', $visitCountToday);
89
-                $data->set('visits_year', $visitCountYear + $visitCountToday);                
90
-            }
91
-        }
87
+				$data->set('has_stats', true);
88
+				$data->set('visits_today', $visitCountToday);
89
+				$data->set('visits_year', $visitCountYear + $visitCountToday);                
90
+			}
91
+		}
92 92
         
93
-        ViewFactory::make('PiwikStats', $this, $ctrl, $data)->render();        
94
-    }
93
+		ViewFactory::make('PiwikStats', $this, $ctrl, $data)->render();        
94
+	}
95 95
     
96 96
 }
97 97
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Cache.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -22,10 +22,10 @@  discard block
 block discarded – undo
22 22
  */
23 23
 class Cache{
24 24
 	
25
-    /**
26
-     * Underlying Cache object
27
-     * @var CacheItemPoolInterface $cache
28
-     */
25
+	/**
26
+	 * Underlying Cache object
27
+	 * @var CacheItemPoolInterface $cache
28
+	 */
29 29
 	protected $cache=null;
30 30
 	
31 31
 	/**
@@ -47,11 +47,11 @@  discard block
 block discarded – undo
47 47
 	 */
48 48
 	protected static function getInstance()
49 49
 	{
50
-	    if (null === static::$instance) {
51
-	        static::$instance = new static();
52
-	    }
50
+		if (null === static::$instance) {
51
+			static::$instance = new static();
52
+		}
53 53
 	
54
-	    return static::$instance;
54
+		return static::$instance;
55 55
 	}
56 56
 	
57 57
 	/**
@@ -59,8 +59,8 @@  discard block
 block discarded – undo
59 59
 	 *
60 60
 	 */
61 61
 	protected function init() {		
62
-	    if(Apc::isAvailable()) {
63
-		    $driver = new Apc();
62
+		if(Apc::isAvailable()) {
63
+			$driver = new Apc();
64 64
 		} else {
65 65
 			if (!is_dir(WT_DATA_DIR.DIRECTORY_SEPARATOR.'cache')) {
66 66
 				// We may not have permission - especially during setup, before we instruct
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 				@mkdir(WT_DATA_DIR.DIRECTORY_SEPARATOR.'cache');
69 69
 			}
70 70
 			if (is_dir(WT_DATA_DIR.DIRECTORY_SEPARATOR.'cache')) {
71
-			    $driver = new FileSystem(array('path' => WT_DATA_DIR.DIRECTORY_SEPARATOR.'cache'));
71
+				$driver = new FileSystem(array('path' => WT_DATA_DIR.DIRECTORY_SEPARATOR.'cache'));
72 72
 			} else {
73 73
 				// No cache available, let's just use a basic one :-(
74 74
 				$driver = new Ephemeral();
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
 	 * @return string Cached key name
96 96
 	 */
97 97
 	protected function getKeyName($value, AbstractModule $mod = null){
98
-	    $this->checkInit();
98
+		$this->checkInit();
99 99
 		$mod_name = 'myartjaub';
100 100
 		if($mod !== null) $mod_name = $mod->getName();
101 101
 		return $mod_name.'_'.$value;
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
 	 * @return \Psr\Cache\CacheItemInterface
110 110
 	 */
111 111
 	public function getI($value, AbstractModule $mod = null){
112
-	    $this->checkInit();
112
+		$this->checkInit();
113 113
 		return $this->cache->getItem($this->getKeyName($value, $mod));
114 114
 	}
115 115
 	
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
 	 * @return \Psr\Cache\CacheItemInterface
122 122
 	 */
123 123
 	public static function get($value, AbstractModule $mod = null){
124
-	    return self::getInstance()->getI($value, $mod);
124
+		return self::getInstance()->getI($value, $mod);
125 125
 	}
126 126
 	
127 127
 	/**
@@ -136,8 +136,8 @@  discard block
 block discarded – undo
136 136
 		
137 137
 		$item = $value;
138 138
 		if(!($value instanceof CacheItemInterface)) {
139
-		    $item = new \Stash\Item();
140
-    		$item->setKey($this->getKeyName($value, $mod));
139
+			$item = new \Stash\Item();
140
+			$item->setKey($this->getKeyName($value, $mod));
141 141
 		}		
142 142
 		$item->set($data);
143 143
 		$this->cache->save($item);
@@ -151,7 +151,7 @@  discard block
 block discarded – undo
151 151
 	 * @param AbstractModule $mod Calling module
152 152
 	 */
153 153
 	public static function save($value, $data, AbstractModule $mod = null){
154
-	    self::getInstance()->saveI($value, $data, $mod);
154
+		self::getInstance()->saveI($value, $data, $mod);
155 155
 	}
156 156
 	
157 157
 	/**
@@ -162,8 +162,8 @@  discard block
 block discarded – undo
162 162
 	 * @return bool Deletion successful?
163 163
 	 */
164 164
 	public function deleteI($value, AbstractModule $mod = null){
165
-	    $this->checkInit();	
166
-	    return $this->cache->deleteItem($this->getKeyName($value, $mod));
165
+		$this->checkInit();	
166
+		return $this->cache->deleteItem($this->getKeyName($value, $mod));
167 167
 	}
168 168
 	
169 169
 	/**
@@ -174,7 +174,7 @@  discard block
 block discarded – undo
174 174
 	 * @return bool Deletion successful?
175 175
 	 */
176 176
 	public static function delete($value, AbstractModule $mod = null){
177
-	    return self::getInstance()->deleteI($value, $mod);
177
+		return self::getInstance()->deleteI($value, $mod);
178 178
 	}
179 179
 	
180 180
 	/**
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
 	 *
183 183
 	 */
184 184
 	public function cleanI(){
185
-	    $this->checkInit();
185
+		$this->checkInit();
186 186
 		$this->cache->clear();
187 187
 	}
188 188
 	
@@ -190,7 +190,7 @@  discard block
 block discarded – undo
190 190
 	 * Static invocation of the *clean* method.
191 191
 	 */
192 192
 	public static function clean() {
193
-	    self::getInstance()->cleanI();
193
+		self::getInstance()->cleanI();
194 194
 	}
195 195
 	
196 196
 }
197 197
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Functions/FunctionsPrintLists.php 1 patch
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -17,27 +17,27 @@
 block discarded – undo
17 17
  */
18 18
 class FunctionsPrintLists {
19 19
     
20
-    /**
21
-     * Copy of core function, which is not public.
22
-     *
23
-     * @param Individual $individual
24
-     *
25
-     * @return string[]
26
-     * @see \Fisharebest\Webtrees\Functions\FunctionsPrintLists
27
-     */
28
-    public static function sortableNames(Individual $individual) {
29
-        $names   = $individual->getAllNames();
30
-        $primary = $individual->getPrimaryName();
20
+	/**
21
+	 * Copy of core function, which is not public.
22
+	 *
23
+	 * @param Individual $individual
24
+	 *
25
+	 * @return string[]
26
+	 * @see \Fisharebest\Webtrees\Functions\FunctionsPrintLists
27
+	 */
28
+	public static function sortableNames(Individual $individual) {
29
+		$names   = $individual->getAllNames();
30
+		$primary = $individual->getPrimaryName();
31 31
 
32
-        list($surn, $givn) = explode(',', $names[$primary]['sort']);
32
+		list($surn, $givn) = explode(',', $names[$primary]['sort']);
33 33
 
34
-        $givn = str_replace('@P.N.', 'AAAA', $givn);
35
-        $surn = str_replace('@N.N.', 'AAAA', $surn);
34
+		$givn = str_replace('@P.N.', 'AAAA', $givn);
35
+		$surn = str_replace('@N.N.', 'AAAA', $surn);
36 36
 
37
-        return array(
38
-            $surn . 'AAAA' . $givn,
39
-            $givn . 'AAAA' . $surn,
40
-        );
41
-    }
37
+		return array(
38
+			$surn . 'AAAA' . $givn,
39
+			$givn . 'AAAA' . $surn,
40
+		);
41
+	}
42 42
 
43 43
 }
44 44
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/Sosa/Views/SosaListFamView.php 1 patch
Indentation   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -32,11 +32,11 @@  discard block
 block discarded – undo
32 32
 	 * {@inhericDoc}
33 33
 	 * @see \MyArtJaub\Webtrees\Mvc\View\AbstractView::renderContent()
34 34
 	 */
35
-    protected function renderContent() { 
35
+	protected function renderContent() { 
36 36
         
37
-        if($this->data->get('has_sosa', false)) {
38
-            $table_id = $this->data->get('table_id');            
39
-        ?>   
37
+		if($this->data->get('has_sosa', false)) {
38
+			$table_id = $this->data->get('table_id');            
39
+		?>   
40 40
         
41 41
 		<div id="sosa-fam-list" class="sosa-list">
42 42
 			<table id="<?php echo $table_id; ?>">
@@ -176,58 +176,58 @@  discard block
 block discarded – undo
176 176
 				<tbody>
177 177
 			
178 178
 			<?php foreach($this->data->get('sosa_list') as $sosa => $family) {
179
-			    /** @var \Fisharebest\Webtrees\Family $person */
179
+				/** @var \Fisharebest\Webtrees\Family $person */
180 180
 
181
-			    //PERSO Create decorator for Family
182
-			    $dfamily = new Family($family);
181
+				//PERSO Create decorator for Family
182
+				$dfamily = new Family($family);
183 183
 			    
184
-			    $husb = $family->getHusband();
185
-			    if (is_null($husb)) {
186
-			        $husb = new Individual('H', '0 @H@ INDI', null, $family->getTree());
187
-			    }
188
-			    $dhusb = new \MyArtJaub\Webtrees\Individual($husb);
189
-			    $wife = $family->getWife();
190
-			    if (is_null($wife)) {
191
-			        $wife = new Individual('W', '0 @W@ INDI', null, $family->getTree());
192
-			    }
193
-			    $dwife = new \MyArtJaub\Webtrees\Individual($wife);
184
+				$husb = $family->getHusband();
185
+				if (is_null($husb)) {
186
+					$husb = new Individual('H', '0 @H@ INDI', null, $family->getTree());
187
+				}
188
+				$dhusb = new \MyArtJaub\Webtrees\Individual($husb);
189
+				$wife = $family->getWife();
190
+				if (is_null($wife)) {
191
+					$wife = new Individual('W', '0 @W@ INDI', null, $family->getTree());
192
+				}
193
+				$dwife = new \MyArtJaub\Webtrees\Individual($wife);
194 194
 			    
195
-			    $mdate=$family->getMarriageDate();
195
+				$mdate=$family->getMarriageDate();
196 196
 			    
197
-			    if ($family->isPendingAddtion()) {
198
-			        $class = ' class="new"';
199
-			    } elseif ($family->isPendingDeletion()) {
200
-			        $class = ' class="old"';
201
-			    } else {
202
-			        $class = '';
203
-			    }
204
-			    ?>			
197
+				if ($family->isPendingAddtion()) {
198
+					$class = ' class="new"';
199
+				} elseif ($family->isPendingDeletion()) {
200
+					$class = ' class="old"';
201
+				} else {
202
+					$class = '';
203
+				}
204
+				?>			
205 205
         		<tr <?= $class ?>>
206 206
         			<td class="transparent" data-sort="<?= $sosa ?>"><?= I18N::translate('%1$d/%2$d', $sosa, ($sosa + 1) % 10) ?></td>
207 207
         			<!--  HUSBAND -->
208 208
         			<?php list($surn_givn, $givn_surn) = FunctionsPrintLists::sortableNames($husb); ?>
209 209
         			<td colspan="2" data-sort="<?= Filter::escapeHtml($givn_surn) ?>">        			
210 210
         			<?php foreach ($husb->getAllNames() as $num=>$name) {
211
-        				if ($name['type']=='NAME') {
212
-        					$title='';
213
-        				} else {
214
-        					$title='title="'.strip_tags(GedcomTag::getLabel($name['type'], $husb)).'"';
215
-        				}
216
-        				if ($num==$husb->getPrimaryName()) {
217
-        					$class=' class="name2"';
218
-        					$sex_image=$husb->getSexImage();
219
-        				} else {
220
-        					$class='';
221
-        					$sex_image='';
222
-        				} ?>
211
+						if ($name['type']=='NAME') {
212
+							$title='';
213
+						} else {
214
+							$title='title="'.strip_tags(GedcomTag::getLabel($name['type'], $husb)).'"';
215
+						}
216
+						if ($num==$husb->getPrimaryName()) {
217
+							$class=' class="name2"';
218
+							$sex_image=$husb->getSexImage();
219
+						} else {
220
+							$class='';
221
+							$sex_image='';
222
+						} ?>
223 223
         				<a <?php echo $title.' '.$class; ?> href="<?php echo $husb->getHtmlUrl(); ?>">
224 224
         					<?php echo \Fisharebest\Webtrees\Functions\FunctionsPrint::highlightSearchHits($name['full']); ?>
225 225
         				</a>
226 226
         				<?php echo $sex_image.FunctionsPrint::formatSosaNumbers($dhusb->getSosaNumbers(), 1, 'smaller'); ?>
227 227
         				<br/>
228 228
             		<?php }
229
-            		echo $husb->getPrimaryParentsNames('parents details1', 'none');
230
-            		?>
229
+					echo $husb->getPrimaryParentsNames('parents details1', 'none');
230
+					?>
231 231
             		</td>
232 232
             		<td hidden data-sort="<?= Filter::escapeHtml($surn_givn) ?>"></td>
233 233
             		<?php $hdate=$husb->getBirthDate(); ?>
@@ -236,55 +236,55 @@  discard block
 block discarded – undo
236 236
         			<?php list($surn_givn, $givn_surn) = FunctionsPrintLists::sortableNames($wife); ?>
237 237
         			<td colspan="2">
238 238
         			<?php foreach ($wife->getAllNames() as $num=>$name) {
239
-        				if ($name['type']=='NAME') {
240
-        					$title='';
241
-        				} else {
242
-        					$title='title="'.strip_tags(GedcomTag::getLabel($name['type'], $wife)).'"';
243
-        				}
244
-        				if ($num==$wife->getPrimaryName()) {
245
-        					$class=' class="name2"';
246
-        					$sex_image=$wife->getSexImage();
247
-        				} else {
248
-        					$class='';
249
-        					$sex_image='';
250
-        				} ?>
239
+						if ($name['type']=='NAME') {
240
+							$title='';
241
+						} else {
242
+							$title='title="'.strip_tags(GedcomTag::getLabel($name['type'], $wife)).'"';
243
+						}
244
+						if ($num==$wife->getPrimaryName()) {
245
+							$class=' class="name2"';
246
+							$sex_image=$wife->getSexImage();
247
+						} else {
248
+							$class='';
249
+							$sex_image='';
250
+						} ?>
251 251
         				<a <?= $title.' '.$class ?> href="<?= $wife->getHtmlUrl() ?>">
252 252
         					<?= \Fisharebest\Webtrees\Functions\FunctionsPrint::highlightSearchHits($name['full']) ?>
253 253
         				</a>
254 254
         				<?= $sex_image.FunctionsPrint::formatSosaNumbers($dwife->getSosaNumbers(), 1, 'smaller') ?>
255 255
         				<br/>
256 256
             		<?php }
257
-            		echo $wife->getPrimaryParentsNames('parents details1', 'none');
258
-            		?>
257
+					echo $wife->getPrimaryParentsNames('parents details1', 'none');
258
+					?>
259 259
             		</td>
260 260
             		<td hidden data-sort="<?= Filter::escapeHtml($surn_givn) ?>"></td>
261 261
             		<?php $wdate=$wife->getBirthDate(); ?>
262 262
             		<td class="center" data-sort="<?= Date::getAge($wdate, $mdate, 1) ?>"><?= Date::getAge($wdate, $mdate, 2) ?></td>
263 263
             		<td data-sort="<?= $mdate->julianDay() ?>"><?php 
264
-            		if ($marriage_dates = $family->getAllMarriageDates()) {
265
-        				foreach ($marriage_dates as $n => $marriage_date) {
266
-        					if ($n) { echo '<br>'; } ?>
264
+					if ($marriage_dates = $family->getAllMarriageDates()) {
265
+						foreach ($marriage_dates as $n => $marriage_date) {
266
+							if ($n) { echo '<br>'; } ?>
267 267
         					<div><?= $marriage_date->display(true) ?></div>
268 268
         				<?php }
269
-            		} elseif ($family->getFacts('_NMR')) {
270
-            		    echo I18N::translate('no');
271
-            		} elseif ($family->getFacts('MARR')) {
272
-            		    echo I18N::translate('yes');
273
-            		} else {
274
-            		    echo '&nbsp;';
275
-            		} ?>
269
+					} elseif ($family->getFacts('_NMR')) {
270
+						echo I18N::translate('no');
271
+					} elseif ($family->getFacts('MARR')) {
272
+						echo I18N::translate('yes');
273
+					} else {
274
+						echo '&nbsp;';
275
+					} ?>
276 276
             		</td>
277 277
             		<td><?php 
278
-            		foreach ($family->getAllMarriagePlaces() as $n => $marriage_place) {
279
-				        $tmp = new Place($marriage_place, $family->getTree());
280
-        				if ($n) { ?><br><?php } ?>
278
+					foreach ($family->getAllMarriagePlaces() as $n => $marriage_place) {
279
+						$tmp = new Place($marriage_place, $family->getTree());
280
+						if ($n) { ?><br><?php } ?>
281 281
         				<a href="'<?= $tmp->getURL() ?>" title="<?= strip_tags($tmp->getFullName()) ?>">
282 282
         					<?= \Fisharebest\Webtrees\Functions\FunctionsPrint::highlightSearchHits($tmp->getShortName()) ?>
283 283
         				</a>
284 284
         			<?php  } ?>
285 285
         			</td>
286 286
         			<?php if (ModuleManager::getInstance()->isOperational(Constants::MODULE_MAJ_ISSOURCED_NAME)) {
287
-				        $isMSourced = $dfamily->isMarriageSourced(); ?>
287
+						$isMSourced = $dfamily->isMarriageSourced(); ?>
288 288
 				   	<td data-sort=<?= $isMSourced ?>><?= FunctionsPrint::formatIsSourcedIcon('E', $isMSourced, 'MARR', 1, 'medium') ?></td>
289 289
 					<?php } else { ?>
290 290
 					<td>&nbsp;</td>
@@ -295,30 +295,30 @@  discard block
 block discarded – undo
295 295
 					<td hidden><?php 
296 296
 					if (!$mdate->isOK()) { echo 'U'; }
297 297
 					else {
298
-					    if (Date::compare($mdate, new Date(date('Y') - 100)) > 0) { echo 'Y100'; }
299
-					    else { echo 'YES'; }
298
+						if (Date::compare($mdate, new Date(date('Y') - 100)) > 0) { echo 'Y100'; }
299
+						else { echo 'YES'; }
300 300
 					}
301 301
 					if ($family->getFacts(WT_EVENTS_DIV)) { echo 'D'; }
302 302
 					if (count($husb->getSpouseFamilies()) > 1 || count($wife->getSpouseFamilies()) > 1) {
303
-					    echo 'M';
303
+						echo 'M';
304 304
 					} ?>
305 305
 					</td>
306 306
 					<td hidden><?php 
307
-			         if ($husb->isDead() && $wife->isDead()) { echo 'Y'; }
308
-			         if ($husb->isDead() && !$wife->isDead()) {
309
-        				if ($wife->getSex() == 'F') { echo 'H'; }
310
-        				if ($wife->getSex() == 'M') { echo 'W'; } // male partners
311
-        			}
312
-        			if (!$husb->isDead() && $wife->isDead()) {
313
-        				if ($husb->getSex() == 'M') { echo 'W'; }
314
-        				if ($husb->getSex() == 'F') { echo  'H'; }  // female partners
315
-        			}
316
-        			if (!$husb->isDead() && !$wife->isDead()) { echo 'N'; } ?>
307
+					 if ($husb->isDead() && $wife->isDead()) { echo 'Y'; }
308
+					 if ($husb->isDead() && !$wife->isDead()) {
309
+						if ($wife->getSex() == 'F') { echo 'H'; }
310
+						if ($wife->getSex() == 'M') { echo 'W'; } // male partners
311
+					}
312
+					if (!$husb->isDead() && $wife->isDead()) {
313
+						if ($husb->getSex() == 'M') { echo 'W'; }
314
+						if ($husb->getSex() == 'F') { echo  'H'; }  // female partners
315
+					}
316
+					if (!$husb->isDead() && !$wife->isDead()) { echo 'N'; } ?>
317 317
         			</td>
318 318
         			<td hidden><?php 
319
-			         if (!$husb->getChildFamilies() && !$wife->getChildFamilies()) { echo 'R'; }
320
-			         elseif (!$husb->isDead() && !$wife->isDead() && $family->getNumberOfChildren() < 1) { echo 'L'; }
321
-			         else { echo '&nbsp;'; } ?>
319
+					 if (!$husb->getChildFamilies() && !$wife->getChildFamilies()) { echo 'R'; }
320
+					 elseif (!$husb->isDead() && !$wife->isDead() && $family->getNumberOfChildren() < 1) { echo 'L'; }
321
+					 else { echo '&nbsp;'; } ?>
322 322
 			         </td>
323 323
 				</tr>
324 324
         	<?php } ?>
@@ -356,7 +356,7 @@  discard block
 block discarded – undo
356 356
         <p class="warning"><?= I18N::translate('No family has been found for generation %d', $this->data->get('generation')) ?></p>
357 357
         <?php 
358 358
 		}
359
-    }
359
+	}
360 360
     
361 361
 }
362 362
  
363 363
\ No newline at end of file
Please login to merge, or discard this patch.