Completed
Push — master ( b0ff97...7f4bca )
by Jonathan
06:58
created
src/Webtrees/Module/GeoDispersion/GeoAnalysisController.php 1 patch
Indentation   +227 added lines, -227 removed lines patch added patch discarded remove patch
@@ -36,47 +36,47 @@  discard block
 block discarded – undo
36 36
  */
37 37
 class GeoAnalysisController extends MvcController
38 38
 {
39
-    /**
40
-     * GeoAnalysis Provider
41
-     * @var GeoAnalysisProvider $provider
42
-     */
43
-    protected $provider;
39
+	/**
40
+	 * GeoAnalysis Provider
41
+	 * @var GeoAnalysisProvider $provider
42
+	 */
43
+	protected $provider;
44 44
     
45
-    /**
46
-     * Constructor for GeoAnalysis controller
47
-     * @param AbstractModule $module
48
-     */
49
-    public function __construct(AbstractModule $module) {
50
-        parent::__construct($module);
45
+	/**
46
+	 * Constructor for GeoAnalysis controller
47
+	 * @param AbstractModule $module
48
+	 */
49
+	public function __construct(AbstractModule $module) {
50
+		parent::__construct($module);
51 51
         
52
-        $this->provider = $this->module->getProvider();
53
-    }    
52
+		$this->provider = $this->module->getProvider();
53
+	}    
54 54
     
55
-    /**
56
-     * Pages
57
-     */
55
+	/**
56
+	 * Pages
57
+	 */
58 58
         
59
-    /**
60
-     * GeoAnalysis@index
61
-     */
62
-    public function index() {
59
+	/**
60
+	 * GeoAnalysis@index
61
+	 */
62
+	public function index() {
63 63
         
64
-        $controller = new PageController();
65
-        $controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
64
+		$controller = new PageController();
65
+		$controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
66 66
         
67
-        $data = new ViewBag();
68
-        $data->set('title', $controller->getPageTitle());
69
-        $data->set('has_analysis', false);
67
+		$data = new ViewBag();
68
+		$data->set('title', $controller->getPageTitle());
69
+		$data->set('has_analysis', false);
70 70
         
71
-        $ga_id = Filter::getInteger('ga_id');        
71
+		$ga_id = Filter::getInteger('ga_id');        
72 72
         
73
-        if($ga_id && $ga = $this->provider->getGeoAnalysis($ga_id)) {
74
-            $data->set('has_analysis', true);
75
-            $data->set('geoanalysis', $ga);
73
+		if($ga_id && $ga = $this->provider->getGeoAnalysis($ga_id)) {
74
+			$data->set('has_analysis', true);
75
+			$data->set('geoanalysis', $ga);
76 76
             
77
-            $controller
78
-                ->addExternalJavascript(Constants::WT_RAPHAEL_JS_URL())
79
-                ->addInlineJavascript('
77
+			$controller
78
+				->addExternalJavascript(Constants::WT_RAPHAEL_JS_URL())
79
+				->addInlineJavascript('
80 80
                 jQuery("#geodispersion-tabs").tabs();
81 81
                 jQuery("#geodispersion-tabs").css("visibility", "visible");
82 82
                 
@@ -97,128 +97,128 @@  discard block
 block discarded – undo
97 97
 					"json"
98 98
 				);
99 99
             ');
100
-        }
100
+		}
101 101
         
102
-        ViewFactory::make('GeoAnalysis', $this, $controller, $data)->render();
103
-    }
102
+		ViewFactory::make('GeoAnalysis', $this, $controller, $data)->render();
103
+	}
104 104
     
105
-    /**
106
-     * GeoAnalysis@listAll
107
-     */
108
-    public function listAll() {
105
+	/**
106
+	 * GeoAnalysis@listAll
107
+	 */
108
+	public function listAll() {
109 109
         
110
-        $controller = new PageController();
111
-        $controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
110
+		$controller = new PageController();
111
+		$controller->setPageTitle(I18N::translate('Sosa Geographical dispersion'));
112 112
         
113
-        $data = new ViewBag();
114
-        $data->set('title', $controller->getPageTitle());
115
-        $data->set('has_list', false);
113
+		$data = new ViewBag();
114
+		$data->set('title', $controller->getPageTitle());
115
+		$data->set('has_list', false);
116 116
         
117
-        $ga_list = $this->provider->getGeoAnalysisList();
118
-        if(count($ga_list) > 0 ) {
119
-             $data->set('has_list', true);
120
-             $data->set('geoanalysislist', $ga_list);
121
-        }
117
+		$ga_list = $this->provider->getGeoAnalysisList();
118
+		if(count($ga_list) > 0 ) {
119
+			 $data->set('has_list', true);
120
+			 $data->set('geoanalysislist', $ga_list);
121
+		}
122 122
         
123
-        ViewFactory::make('GeoAnalysisList', $this, $controller, $data)->render();        
124
-    }
123
+		ViewFactory::make('GeoAnalysisList', $this, $controller, $data)->render();        
124
+	}
125 125
     	
126 126
 	/**
127 127
 	 * GeoAnalysis@setStatus
128 128
 	 */
129
-    public function setStatus() {
130
-        $controller = new JsonController();
129
+	public function setStatus() {
130
+		$controller = new JsonController();
131 131
         
132
-        $ga_id = Filter::getInteger('ga_id');
133
-        $ga = $this->provider->getGeoAnalysis($ga_id, false);
132
+		$ga_id = Filter::getInteger('ga_id');
133
+		$ga = $this->provider->getGeoAnalysis($ga_id, false);
134 134
         
135
-        $controller->restrictAccess(
136
-            true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
137
-            &&  Auth::isManager(Globals::getTree()) 
138
-            && $ga !== null
139
-        );
135
+		$controller->restrictAccess(
136
+			true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
137
+			&&  Auth::isManager(Globals::getTree()) 
138
+			&& $ga !== null
139
+		);
140 140
         
141
-        $status = Filter::getBool('status');
142
-        $res = array('geoanalysis' => $ga->getId() , 'error' => null);
143
-        try{
144
-            $this->provider->setGeoAnalysisStatus($ga, $status);
145
-            $res['status'] = $status;
141
+		$status = Filter::getBool('status');
142
+		$res = array('geoanalysis' => $ga->getId() , 'error' => null);
143
+		try{
144
+			$this->provider->setGeoAnalysisStatus($ga, $status);
145
+			$res['status'] = $status;
146 146
 			Log::addConfigurationLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" has been '. ($status ? 'enabled' : 'disabled') .'.');
147
-        }
148
-        catch (\Exception $ex) {
149
-            $res['error'] = $ex->getMessage();
147
+		}
148
+		catch (\Exception $ex) {
149
+			$res['error'] = $ex->getMessage();
150 150
 			Log::addErrorLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" could not be ' . ($status ? 'enabled' : 'disabled') .'. Error: '. $ex->getMessage());
151
-        }
151
+		}
152 152
         
153
-        $controller->pageHeader();
154
-        if($res['error']) http_response_code(500);
153
+		$controller->pageHeader();
154
+		if($res['error']) http_response_code(500);
155 155
         
156
-        $controller->encode($res);
157
-    }
156
+		$controller->encode($res);
157
+	}
158 158
     
159 159
 	/**
160
-     * GeoAnalysis@delete
161
-     */
162
-    public function delete() {
163
-        $controller = new JsonController();
160
+	 * GeoAnalysis@delete
161
+	 */
162
+	public function delete() {
163
+		$controller = new JsonController();
164 164
     
165
-        $ga_id = Filter::getInteger('ga_id');
166
-        $ga = $this->provider->getGeoAnalysis($ga_id, false);
165
+		$ga_id = Filter::getInteger('ga_id');
166
+		$ga = $this->provider->getGeoAnalysis($ga_id, false);
167 167
     
168
-        $controller->restrictAccess(
169
-            true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
170
-            &&  Auth::isManager(Globals::getTree())
171
-            && $ga
172
-            );
168
+		$controller->restrictAccess(
169
+			true // Filter::checkCsrf()   -- Cannot use CSRF on a GET request (modules can only work with GET requests)
170
+			&&  Auth::isManager(Globals::getTree())
171
+			&& $ga
172
+			);
173 173
             
174
-        $res = array('geoanalysis' => $ga->getId() , 'error' => null);
175
-        try{
176
-            $this->provider->deleteGeoAnalysis($ga);
174
+		$res = array('geoanalysis' => $ga->getId() , 'error' => null);
175
+		try{
176
+			$this->provider->deleteGeoAnalysis($ga);
177 177
 			Log::addConfigurationLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" has been deleted.');
178
-        }
179
-        catch (\Exception $ex) {
180
-            $res['error'] = $ex->getMessage();
178
+		}
179
+		catch (\Exception $ex) {
180
+			$res['error'] = $ex->getMessage();
181 181
 			Log::addErrorLog('Module '.$this->module->getName().' : Geo Analysis ID "'.$ga->getId().'" could not be deleted. Error: '. $ex->getMessage());
182
-        }
182
+		}
183 183
     
184
-        $controller->pageHeader();
185
-        if($res['error']) http_response_code(500);
184
+		$controller->pageHeader();
185
+		if($res['error']) http_response_code(500);
186 186
 
187
-        $controller->encode($res);
188
-    }
187
+		$controller->encode($res);
188
+	}
189 189
         	
190
-    /**
191
-     * GeoAnalysis@dataTabs
192
-     */
193
-    public function dataTabs() {
194
-        $wt_tree = Globals::getTree();
195
-        $controller = new JsonController();
190
+	/**
191
+	 * GeoAnalysis@dataTabs
192
+	 */
193
+	public function dataTabs() {
194
+		$wt_tree = Globals::getTree();
195
+		$controller = new JsonController();
196 196
         
197
-        $ga_id = Filter::getInteger('ga_id');
198
-        $ga = $this->provider->getGeoAnalysis($ga_id);
199
-        $sosa_provider = new SosaProvider($wt_tree, Auth::user());
197
+		$ga_id = Filter::getInteger('ga_id');
198
+		$ga = $this->provider->getGeoAnalysis($ga_id);
199
+		$sosa_provider = new SosaProvider($wt_tree, Auth::user());
200 200
         
201
-        $controller
202
-            ->restrictAccess($ga && $sosa_provider->isSetup())
203
-            ->pageHeader();
201
+		$controller
202
+			->restrictAccess($ga && $sosa_provider->isSetup())
203
+			->pageHeader();
204 204
         
205
-        $jsonArray = array();
205
+		$jsonArray = array();
206 206
         
207
-        list($placesDispGeneral, $placesDispGenerations) = $ga->getAnalysisResults($sosa_provider->getAllSosaWithGenerations());
207
+		list($placesDispGeneral, $placesDispGenerations) = $ga->getAnalysisResults($sosa_provider->getAllSosaWithGenerations());
208 208
         
209
-        $flags = array();
210
-        if($placesDispGeneral && $ga->getOptions() && $ga->getOptions()->isUsingFlags()) {
211
-            $mapProvider = new GoogleMapsProvider();            
212
-            foreach($placesDispGeneral['places'] as $place => $count) {
213
-                $flags[$place] = $mapProvider->getPlaceIcon(new Place($place, $wt_tree));
214
-            }
215
-        }
209
+		$flags = array();
210
+		if($placesDispGeneral && $ga->getOptions() && $ga->getOptions()->isUsingFlags()) {
211
+			$mapProvider = new GoogleMapsProvider();            
212
+			foreach($placesDispGeneral['places'] as $place => $count) {
213
+				$flags[$place] = $mapProvider->getPlaceIcon(new Place($place, $wt_tree));
214
+			}
215
+		}
216 216
         
217
-        $jsonArray['generaltab'] = $this->htmlPlacesAnalysisGeneralTab($ga, $placesDispGeneral, $flags);
218
-        $jsonArray['generationstab'] = $this->htmlPlacesAnalysisGenerationsTab($ga, $placesDispGenerations, $flags);
217
+		$jsonArray['generaltab'] = $this->htmlPlacesAnalysisGeneralTab($ga, $placesDispGeneral, $flags);
218
+		$jsonArray['generationstab'] = $this->htmlPlacesAnalysisGenerationsTab($ga, $placesDispGenerations, $flags);
219 219
 
220
-        $controller->encode($jsonArray);
221
-    }
220
+		$controller->encode($jsonArray);
221
+	}
222 222
     
223 223
 	/**
224 224
 	 * Returns HTML code for the GeoAnalysis general tab (can be either a map or a table).
@@ -228,68 +228,68 @@  discard block
 block discarded – undo
228 228
 	 * @param (null|array) $flags Array of flags
229 229
 	 * @return string HTML code for the general tab
230 230
 	 */
231
-    protected function htmlPlacesAnalysisGeneralTab(GeoAnalysis $ga, $placesGeneralResults, $flags= null) {        
232
-        if(!empty($placesGeneralResults)){
233
-            $data = new ViewBag();
231
+	protected function htmlPlacesAnalysisGeneralTab(GeoAnalysis $ga, $placesGeneralResults, $flags= null) {        
232
+		if(!empty($placesGeneralResults)){
233
+			$data = new ViewBag();
234 234
             
235
-            $nb_found = $placesGeneralResults['knownsum'];
236
-            $nb_other = 0;
237
-            if(isset($placesGeneralResults['other'])) $nb_other =$placesGeneralResults['other'];
238
-            $nb_unknown = $placesGeneralResults['unknown'];
235
+			$nb_found = $placesGeneralResults['knownsum'];
236
+			$nb_other = 0;
237
+			if(isset($placesGeneralResults['other'])) $nb_other =$placesGeneralResults['other'];
238
+			$nb_unknown = $placesGeneralResults['unknown'];
239 239
             
240
-            $data->set('stats_gen_nb_found', $nb_found);
241
-            $data->set('stats_gen_nb_other', $nb_other);
242
-            $data->set('stats_gen_nb_unknown', $nb_unknown);
240
+			$data->set('stats_gen_nb_found', $nb_found);
241
+			$data->set('stats_gen_nb_other', $nb_other);
242
+			$data->set('stats_gen_nb_unknown', $nb_unknown);
243 243
             
244
-            $data->set('use_flags', $ga->getOptions() && $ga->getOptions()->isUsingFlags());
244
+			$data->set('use_flags', $ga->getOptions() && $ga->getOptions()->isUsingFlags());
245 245
             
246
-            if($ga->hasMap()) {
247
-                $max = $placesGeneralResults['max'];
248
-                $map = $ga->getOptions()->getMap();
249
-                $results_by_subdivs = $map->getSubdivisions();
250
-                $places_mappings = $map->getPlacesMappings();
251
-                foreach ($placesGeneralResults['places'] as $location => $count) {
252
-                    $levelvalues = array_reverse(array_map('trim',explode(',', $location)));
253
-                    $level_map = $ga->getAnalysisLevel() - $ga->getOptions()->getMapLevel();
254
-                    if($level_map >= 0 && $level_map < count($levelvalues)) {
255
-                        $levelref = $levelvalues[0] . '@' . $levelvalues[$level_map];
256
-                        if(!isset($results_by_subdivs[$levelref])) { $levelref = $levelvalues[0]; }
257
-                    }
258
-                    else {
259
-                        $levelref = $levelvalues[0];
260
-                    }
261
-                    if(isset($places_mappings[$levelref])) $levelref = $places_mappings[$levelref];
262
-                    if(isset($results_by_subdivs[$levelref])) {
263
-                        $count_subd = isset($results_by_subdivs[$levelref]['count']) ? $results_by_subdivs[$levelref]['count'] : 0;
264
-                        $count_subd  += $count;
265
-                        $results_by_subdivs[$levelref]['count'] = $count_subd;   
266
-                        $results_by_subdivs[$levelref]['transparency'] = Functions::safeDivision($count_subd, $max);
267
-                        if($ga->getOptions()->isUsingFlags() && $flags) {
268
-                            $results_by_subdivs[$levelref]['place'] = new Place($location, Globals::getTree());
269
-                            $results_by_subdivs[$levelref]['flag'] = $flags[$location];
270
-                        }
271
-                    }
272
-                }             
246
+			if($ga->hasMap()) {
247
+				$max = $placesGeneralResults['max'];
248
+				$map = $ga->getOptions()->getMap();
249
+				$results_by_subdivs = $map->getSubdivisions();
250
+				$places_mappings = $map->getPlacesMappings();
251
+				foreach ($placesGeneralResults['places'] as $location => $count) {
252
+					$levelvalues = array_reverse(array_map('trim',explode(',', $location)));
253
+					$level_map = $ga->getAnalysisLevel() - $ga->getOptions()->getMapLevel();
254
+					if($level_map >= 0 && $level_map < count($levelvalues)) {
255
+						$levelref = $levelvalues[0] . '@' . $levelvalues[$level_map];
256
+						if(!isset($results_by_subdivs[$levelref])) { $levelref = $levelvalues[0]; }
257
+					}
258
+					else {
259
+						$levelref = $levelvalues[0];
260
+					}
261
+					if(isset($places_mappings[$levelref])) $levelref = $places_mappings[$levelref];
262
+					if(isset($results_by_subdivs[$levelref])) {
263
+						$count_subd = isset($results_by_subdivs[$levelref]['count']) ? $results_by_subdivs[$levelref]['count'] : 0;
264
+						$count_subd  += $count;
265
+						$results_by_subdivs[$levelref]['count'] = $count_subd;   
266
+						$results_by_subdivs[$levelref]['transparency'] = Functions::safeDivision($count_subd, $max);
267
+						if($ga->getOptions()->isUsingFlags() && $flags) {
268
+							$results_by_subdivs[$levelref]['place'] = new Place($location, Globals::getTree());
269
+							$results_by_subdivs[$levelref]['flag'] = $flags[$location];
270
+						}
271
+					}
272
+				}             
273 273
                 
274
-                $data->set('map', $ga->getOptions()->getMap());
275
-                $data->set('results_by_subdivisions', $results_by_subdivs);
274
+				$data->set('map', $ga->getOptions()->getMap());
275
+				$data->set('results_by_subdivisions', $results_by_subdivs);
276 276
                 
277
-                $html = ViewFactory::make('GeoAnalysisTabGeneralMap', $this, new BaseController(), $data)->getHtmlPartial();
278
-            }
279
-            else {
280
-                $results = $placesGeneralResults['places'];
281
-                arsort($results);
282
-                $data->set('results', $results);
283
-                $data->set('analysis_level', $ga->getAnalysisLevel());
277
+				$html = ViewFactory::make('GeoAnalysisTabGeneralMap', $this, new BaseController(), $data)->getHtmlPartial();
278
+			}
279
+			else {
280
+				$results = $placesGeneralResults['places'];
281
+				arsort($results);
282
+				$data->set('results', $results);
283
+				$data->set('analysis_level', $ga->getAnalysisLevel());
284 284
                 
285
-                $html = ViewFactory::make('GeoAnalysisTabGeneralTable', $this, new BaseController(), $data)->getHtmlPartial();
286
-            }
287
-        }
288
-        else {
289
-            $html = '<p class="warning">' . I18N::translate('No data is available for the general analysis.') . '</p>';
290
-        }
291
-        return $html;
292
-    }
285
+				$html = ViewFactory::make('GeoAnalysisTabGeneralTable', $this, new BaseController(), $data)->getHtmlPartial();
286
+			}
287
+		}
288
+		else {
289
+			$html = '<p class="warning">' . I18N::translate('No data is available for the general analysis.') . '</p>';
290
+		}
291
+		return $html;
292
+	}
293 293
     
294 294
 	/**
295 295
 	 * Returns HTML code for the GeoAnalysis generations tab.
@@ -299,66 +299,66 @@  discard block
 block discarded – undo
299 299
 	 * @param (null|array) $flags Array of flags
300 300
 	 * @return string HTML code for the generations tab
301 301
 	 */
302
-    protected function htmlPlacesAnalysisGenerationsTab(GeoAnalysis $ga, $placesGenerationsResults, $flags = null) {        
303
-        if(!empty($placesGenerationsResults) && $ga->getOptions()){
304
-            $data = new ViewBag();
302
+	protected function htmlPlacesAnalysisGenerationsTab(GeoAnalysis $ga, $placesGenerationsResults, $flags = null) {        
303
+		if(!empty($placesGenerationsResults) && $ga->getOptions()){
304
+			$data = new ViewBag();
305 305
             
306
-            ksort($placesGenerationsResults);
306
+			ksort($placesGenerationsResults);
307 307
             
308
-            $detailslevel = $ga->getOptions()->getMaxDetailsInGen();
309
-            $data->set('max_details_gen', $detailslevel);    
310
-            $data->set('use_flags', $ga->getOptions()->isUsingFlags());
311
-            $data->set('analysis_level', $ga->getAnalysisLevel());
312
-            $display_all_places = !is_null($detailslevel) && $detailslevel == 0;
313
-            $data->set('display_all_places', $display_all_places);
308
+			$detailslevel = $ga->getOptions()->getMaxDetailsInGen();
309
+			$data->set('max_details_gen', $detailslevel);    
310
+			$data->set('use_flags', $ga->getOptions()->isUsingFlags());
311
+			$data->set('analysis_level', $ga->getAnalysisLevel());
312
+			$display_all_places = !is_null($detailslevel) && $detailslevel == 0;
313
+			$data->set('display_all_places', $display_all_places);
314 314
             
315
-            $results_by_gen = array();
316
-            foreach($placesGenerationsResults as $gen => $genData){
317
-                $sum = 0;
318
-                $other = 0;
319
-                $unknown = 0;
320
-                if(isset($genData['sum'])) $sum = $genData['sum'];
321
-                if(isset($genData['other'])) $other = $genData['other'];
322
-                if(isset($genData['unknown'])) $unknown = $genData['unknown'];
315
+			$results_by_gen = array();
316
+			foreach($placesGenerationsResults as $gen => $genData){
317
+				$sum = 0;
318
+				$other = 0;
319
+				$unknown = 0;
320
+				if(isset($genData['sum'])) $sum = $genData['sum'];
321
+				if(isset($genData['other'])) $other = $genData['other'];
322
+				if(isset($genData['unknown'])) $unknown = $genData['unknown'];
323 323
                 
324
-                if($sum > 0) {                
325
-                    $results_by_gen[$gen]['sum'] = $sum;
326
-                    $results_by_gen[$gen]['other'] = $other;
327
-                    $results_by_gen[$gen]['unknown'] = $unknown;
328
-                    $results_by_gen[$gen]['places'] = array();                    
329
-                    arsort($genData['places']);
324
+				if($sum > 0) {                
325
+					$results_by_gen[$gen]['sum'] = $sum;
326
+					$results_by_gen[$gen]['other'] = $other;
327
+					$results_by_gen[$gen]['unknown'] = $unknown;
328
+					$results_by_gen[$gen]['places'] = array();                    
329
+					arsort($genData['places']);
330 330
                     
331
-                    if($display_all_places){
332
-                        foreach($genData['places'] as $placename=> $count){
333
-                            $results_by_gen[$gen]['places'][$placename]['count'] = $count;
331
+					if($display_all_places){
332
+						foreach($genData['places'] as $placename=> $count){
333
+							$results_by_gen[$gen]['places'][$placename]['count'] = $count;
334 334
                             
335
-                            if($ga->getOptions() && $ga->getOptions()->isUsingFlags() && ($flag = $flags[$placename]) != ''){
336
-                                $results_by_gen[$gen]['places'][$placename]['place'] = new Place($placename, Globals::getTree());
337
-                                $results_by_gen[$gen]['places'][$placename]['flag'] = $flag;
338
-                            }
339
-                        }
340
-                    }
341
-                    else {
342
-                        $tmp = $genData['places'];
343
-                        if($other > 0) {
344
-                            $tmp = array_slice($tmp, 0, 5, true);
345
-                            $tmp['other'] = $other;
346
-                            arsort($tmp);  
347
-                        }                      
348
-                        $results_by_gen[$gen]['places'] = array_slice($tmp, 0, 5, true);                        
349
-                    }
350
-                }
351
-            }
335
+							if($ga->getOptions() && $ga->getOptions()->isUsingFlags() && ($flag = $flags[$placename]) != ''){
336
+								$results_by_gen[$gen]['places'][$placename]['place'] = new Place($placename, Globals::getTree());
337
+								$results_by_gen[$gen]['places'][$placename]['flag'] = $flag;
338
+							}
339
+						}
340
+					}
341
+					else {
342
+						$tmp = $genData['places'];
343
+						if($other > 0) {
344
+							$tmp = array_slice($tmp, 0, 5, true);
345
+							$tmp['other'] = $other;
346
+							arsort($tmp);  
347
+						}                      
348
+						$results_by_gen[$gen]['places'] = array_slice($tmp, 0, 5, true);                        
349
+					}
350
+				}
351
+			}
352 352
             
353
-            $data->set('results_by_generations', $results_by_gen);
353
+			$data->set('results_by_generations', $results_by_gen);
354 354
             
355
-            $html = ViewFactory::make('GeoAnalysisTabGenerations', $this, new BaseController(), $data)->getHtmlPartial();
355
+			$html = ViewFactory::make('GeoAnalysisTabGenerations', $this, new BaseController(), $data)->getHtmlPartial();
356 356
             
357
-        }
358
-        else {
359
-            $html = '<p class="warning">' . I18N::translate('No data is available for the generations analysis.') . '</p>';
360
-        }
361
-        return $html;
362
-    }
357
+		}
358
+		else {
359
+			$html = '<p class="warning">' . I18N::translate('No data is available for the generations analysis.') . '</p>';
360
+		}
361
+		return $html;
362
+	}
363 363
         
364 364
 }
365 365
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/IsSourcedModule.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -30,29 +30,29 @@  discard block
 block discarded – undo
30 30
 class IsSourcedModule extends AbstractModule 
31 31
 implements ModuleSidebarInterface, HookSubscriberInterface, IndividualHeaderExtenderInterface, RecordNameTextExtenderInterface
32 32
 {
33
-    /** @var string For custom modules - link for support, upgrades, etc. */
34
-    const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
33
+	/** @var string For custom modules - link for support, upgrades, etc. */
34
+	const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
35 35
     
36
-    /**
37
-     * {@inheritDoc}
38
-     * @see \Fisharebest\Webtrees\Module\AbstractModule::getTitle()
39
-     */
40
-    public function getTitle() {
41
-        return I18N::translate('Sourced events');
42
-    }
36
+	/**
37
+	 * {@inheritDoc}
38
+	 * @see \Fisharebest\Webtrees\Module\AbstractModule::getTitle()
39
+	 */
40
+	public function getTitle() {
41
+		return I18N::translate('Sourced events');
42
+	}
43 43
     
44 44
    /**
45 45
     * {@inheritDoc}
46 46
     * @see \Fisharebest\Webtrees\Module\AbstractModule::getDescription()
47 47
     */
48
-    public function getDescription() {
49
-        return I18N::translate('Indicate if events related to an record are sourced.');
50
-    }
48
+	public function getDescription() {
49
+		return I18N::translate('Indicate if events related to an record are sourced.');
50
+	}
51 51
     
52
-    /**
53
-     * {@inheritDoc}
54
-     * @see \MyArtJaub\Webtrees\Hook\HookSubscriberInterface::getSubscribedHooks()
55
-     */
52
+	/**
53
+	 * {@inheritDoc}
54
+	 * @see \MyArtJaub\Webtrees\Hook\HookSubscriberInterface::getSubscribedHooks()
55
+	 */
56 56
 	public function getSubscribedHooks() {
57 57
 		return array(
58 58
  			'hExtendIndiHeaderIcons' => 10,
@@ -65,12 +65,12 @@  discard block
 block discarded – undo
65 65
 	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderIcons()
66 66
 	 */
67 67
 	public function hExtendIndiHeaderIcons(IndividualController $ctrlIndi) {
68
-	    if($ctrlIndi){
69
-	        $dindi = new Individual($ctrlIndi->getSignificantIndividual());
70
-	        if ($dindi->canDisplayIsSourced()) 
71
-	            return FunctionsPrint::formatIsSourcedIcon('R', $dindi->isSourced(), 'INDI', 1, 'large');
72
-	    }
73
-	    return '';
68
+		if($ctrlIndi){
69
+			$dindi = new Individual($ctrlIndi->getSignificantIndividual());
70
+			if ($dindi->canDisplayIsSourced()) 
71
+				return FunctionsPrint::formatIsSourcedIcon('R', $dindi->isSourced(), 'INDI', 1, 'large');
72
+		}
73
+		return '';
74 74
 	}
75 75
 	
76 76
 	/**
@@ -96,15 +96,15 @@  discard block
 block discarded – undo
96 96
 	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\RecordNameTextExtenderInterface::hRecordNameAppend()
97 97
 	 */
98 98
 	public function hRecordNameAppend(GedcomRecord $grec, $size = 'small'){
99
-	    $html = '';
100
-	    if($grec instanceof \Fisharebest\Webtrees\Individual){
101
-	        $dindi = new Individual($grec);
102
-	        $html .= FunctionsPrint::formatIsSourcedIcon('R', $dindi->isSourced(), 'INDI', 1, $size);
103
-	        $html .= FunctionsPrint::formatIsSourcedIcon('E', $dindi->isBirthSourced(), 'BIRT', 1, $size);
104
-	        if($grec->isDead())
105
-	            $html .= FunctionsPrint::formatIsSourcedIcon('E', $dindi->isDeathSourced(), 'DEAT', 1, $size);
106
-	    }
107
-	    return $html;
99
+		$html = '';
100
+		if($grec instanceof \Fisharebest\Webtrees\Individual){
101
+			$dindi = new Individual($grec);
102
+			$html .= FunctionsPrint::formatIsSourcedIcon('R', $dindi->isSourced(), 'INDI', 1, $size);
103
+			$html .= FunctionsPrint::formatIsSourcedIcon('E', $dindi->isBirthSourced(), 'BIRT', 1, $size);
104
+			if($grec->isDead())
105
+				$html .= FunctionsPrint::formatIsSourcedIcon('E', $dindi->isDeathSourced(), 'DEAT', 1, $size);
106
+		}
107
+		return $html;
108 108
 	}
109 109
 	
110 110
 	/**
@@ -112,7 +112,7 @@  discard block
 block discarded – undo
112 112
 	 * @see \Fisharebest\Webtrees\Module\ModuleSidebarInterface::defaultSidebarOrder()
113 113
 	 */
114 114
 	public function defaultSidebarOrder() {
115
-	    return 15;
115
+		return 15;
116 116
 	}
117 117
 	
118 118
 	/**
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 	 * @see \Fisharebest\Webtrees\Module\ModuleSidebarInterface::hasSidebarContent()
121 121
 	 */
122 122
 	public function hasSidebarContent(){ 
123
-	    return true;
123
+		return true;
124 124
 	}
125 125
 	
126 126
 	/**
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
 	 * @see \Fisharebest\Webtrees\Module\ModuleSidebarInterface::getSidebarAjaxContent()
129 129
 	 */
130 130
 	public function getSidebarAjaxContent() {
131
-	    return '';
131
+		return '';
132 132
 	}
133 133
 	
134 134
 	/**
@@ -136,15 +136,15 @@  discard block
 block discarded – undo
136 136
 	 * @see \Fisharebest\Webtrees\Module\ModuleSidebarInterface::getSidebarContent()
137 137
 	 */
138 138
 	public function getSidebarContent() {
139
-	    ob_start();
140
-	    $root = Globals::getController()->getSignificantIndividual();
141
-	    if ($root) {
142
-	        $dindi = new Individual($root);
139
+		ob_start();
140
+		$root = Globals::getController()->getSignificantIndividual();
141
+		if ($root) {
142
+			$dindi = new Individual($root);
143 143
 	        	
144
-	        if (!$dindi->canDisplayIsSourced()) {
145
-	            echo '<div class="error">', I18N::translate('This information is private and cannot be shown.'), '</div>';
146
-	        } else {
147
-	            echo '
144
+			if (!$dindi->canDisplayIsSourced()) {
145
+				echo '<div class="error">', I18N::translate('This information is private and cannot be shown.'), '</div>';
146
+			} else {
147
+				echo '
148 148
 	                <table class="issourcedtable">
149 149
 	                   <tr>
150 150
 	                       <td class="slabel"> ' . GedcomTag::getLabel('INDI') . '</td>
@@ -155,35 +155,35 @@  discard block
 block discarded – undo
155 155
 	                       <td class="svalue">' . FunctionsPrint::formatIsSourcedIcon('E', $dindi->isBirthSourced(), 'BIRT', 1).'</td>
156 156
 	                   </tr>';
157 157
 	            
158
-	            $fams = $root->getSpouseFamilies();
159
-	            ($ct = count($fams)) > 1 ? $nb=1 : $nb=' ';	            
160
-	            foreach($fams as $fam){
161
-	                $dfam = new Family($fam);
162
-	                echo '
158
+				$fams = $root->getSpouseFamilies();
159
+				($ct = count($fams)) > 1 ? $nb=1 : $nb=' ';	            
160
+				foreach($fams as $fam){
161
+					$dfam = new Family($fam);
162
+					echo '
163 163
 	                    <tr>
164 164
 	                       <td class="slabel right">
165 165
 	                           <a href="' . $fam->getHtmlUrl() . '"> '. GedcomTag::getLabel('MARR');
166
-	                if($ct > 1){
167
-	                    echo ' ',$nb;
168
-	                    $nb++;
169
-	                }
170
-	                echo '     </a>
166
+					if($ct > 1){
167
+						echo ' ',$nb;
168
+						$nb++;
169
+					}
170
+					echo '     </a>
171 171
 	                       </td>
172 172
 	                       <td class="svalue">' . FunctionsPrint::formatIsSourcedIcon('E', $dfam->isMarriageSourced(), 'MARR', 1).'</td>
173 173
 	                   </tr>';
174
-	            }
174
+				}
175 175
 	            
176
-	            if( $root->isDead() )
177
-	                echo '
176
+				if( $root->isDead() )
177
+					echo '
178 178
 	                    <tr>
179 179
 	                       <td class="slabel">' . GedcomTag::getLabel('DEAT') . '</td>
180 180
 	                       <td class="svalue">' . FunctionsPrint::formatIsSourcedIcon('E', $dindi->isDeathSourced(), 'DEAT', 1).'</td>
181 181
 	                   </tr>';
182 182
 	            
183
-	            echo '</table>';
184
-	        }
185
-	    }
186
-	    return ob_get_clean();	    
183
+				echo '</table>';
184
+			}
185
+		}
186
+		return ob_get_clean();	    
187 187
 	}
188 188
 	
189 189
 	
Please login to merge, or discard this patch.
src/Webtrees/Module/Certificates/CertificateController.php 1 patch
Indentation   +152 added lines, -152 removed lines patch added patch discarded remove patch
@@ -33,155 +33,155 @@  discard block
 block discarded – undo
33 33
  */
34 34
 class CertificateController extends MvcController
35 35
 {
36
-    /**
37
-     * Certificate Provider
38
-     * @var CertificateProviderInterface $provider
39
-     */
40
-    protected $provider;
36
+	/**
37
+	 * Certificate Provider
38
+	 * @var CertificateProviderInterface $provider
39
+	 */
40
+	protected $provider;
41 41
     
42
-    /**
43
-     * Constructor for Certificate controller
44
-     * @param AbstractModule $module
45
-     */
46
-    public function __construct(AbstractModule $module) {
47
-        parent::__construct($module);
48
-        
49
-        $this->provider = $this->module->getProvider();
50
-    }
42
+	/**
43
+	 * Constructor for Certificate controller
44
+	 * @param AbstractModule $module
45
+	 */
46
+	public function __construct(AbstractModule $module) {
47
+		parent::__construct($module);
48
+        
49
+		$this->provider = $this->module->getProvider();
50
+	}
51 51
     
52 52
     
53
-    /**
54
-     * Pages
55
-     */
56
-        
57
-    /**
58
-     * Certificate@index
59
-     */
60
-    public function index() {        
61
-        $tree = Globals::getTree();
62
-        $controller = new PageController();
63
-        $controller
64
-        ->setPageTitle(I18N::translate('Certificate'))
65
-        ->restrictAccess(
66
-            $this->module->getSetting('MAJ_SHOW_CERT', Auth::PRIV_HIDE) >= Auth::accessLevel($tree)
67
-        );
68
-        
69
-        $cid = Filter::get('cid');
70
-        
71
-        $certificate = null;
72
-        if(!empty($cid) && strlen($cid) > 22){
73
-            $certificate = Certificate::getInstance($cid, $tree, null, $this->provider);
74
-        }
75
-        
76
-        $data = new ViewBag();
77
-        $data->set('title', $controller->getPageTitle());
78
-        
79
-        $data->set('has_certif', false);
80
-        if($certificate) {
81
-            $controller->restrictAccess($certificate->canShow());
82
-            $data->set('title', $certificate->getTitle());
83
-            $data->set('has_certif', true);
84
-            $data->set('certificate', $certificate);
53
+	/**
54
+	 * Pages
55
+	 */
56
+        
57
+	/**
58
+	 * Certificate@index
59
+	 */
60
+	public function index() {        
61
+		$tree = Globals::getTree();
62
+		$controller = new PageController();
63
+		$controller
64
+		->setPageTitle(I18N::translate('Certificate'))
65
+		->restrictAccess(
66
+			$this->module->getSetting('MAJ_SHOW_CERT', Auth::PRIV_HIDE) >= Auth::accessLevel($tree)
67
+		);
68
+        
69
+		$cid = Filter::get('cid');
70
+        
71
+		$certificate = null;
72
+		if(!empty($cid) && strlen($cid) > 22){
73
+			$certificate = Certificate::getInstance($cid, $tree, null, $this->provider);
74
+		}
75
+        
76
+		$data = new ViewBag();
77
+		$data->set('title', $controller->getPageTitle());
78
+        
79
+		$data->set('has_certif', false);
80
+		if($certificate) {
81
+			$controller->restrictAccess($certificate->canShow());
82
+			$data->set('title', $certificate->getTitle());
83
+			$data->set('has_certif', true);
84
+			$data->set('certificate', $certificate);
85 85
             
86
-            $data->set(
87
-                'url_certif_city', 
88
-                'module.php?mod=' . Constants::MODULE_MAJ_CERTIF_NAME . 
89
-                    '&mod_action=Certificate@listAll' .
90
-                    '&ged=' . $tree->getNameUrl() .
91
-                    '&city=' . Functions::encryptToSafeBase64($certificate->getCity())
92
-            );
86
+			$data->set(
87
+				'url_certif_city', 
88
+				'module.php?mod=' . Constants::MODULE_MAJ_CERTIF_NAME . 
89
+					'&mod_action=Certificate@listAll' .
90
+					'&ged=' . $tree->getNameUrl() .
91
+					'&city=' . Functions::encryptToSafeBase64($certificate->getCity())
92
+			);
93 93
             
94
-            $controller->addInlineJavascript('
94
+			$controller->addInlineJavascript('
95 95
                 jQuery("#certificate-tabs").tabs();
96 96
 			    jQuery("#certificate-tabs").css("visibility", "visible");    
97 97
             ');
98 98
             
99
-            $data->set('has_linked_indis', false);
100
-            $data->set('has_linked_fams', false);
99
+			$data->set('has_linked_indis', false);
100
+			$data->set('has_linked_fams', false);
101 101
             
102
-            $linked_indis = $certificate->linkedIndividuals();
103
-            $linked_fams = $certificate->linkedFamilies();
102
+			$linked_indis = $certificate->linkedIndividuals();
103
+			$linked_fams = $certificate->linkedFamilies();
104 104
                         
105
-            if($linked_indis && count($linked_indis) > 0) {
106
-                $data->set('has_linked_indis', true);
107
-                $data->set('linked_indis', $linked_indis);
108
-            }
105
+			if($linked_indis && count($linked_indis) > 0) {
106
+				$data->set('has_linked_indis', true);
107
+				$data->set('linked_indis', $linked_indis);
108
+			}
109 109
             
110
-            if(!empty($linked_fams)) {
111
-                $data->set('has_linked_fams', true);
112
-                $data->set('linked_fams', $linked_fams);
113
-            }
114
-        }
115
-        
116
-        ViewFactory::make('Certificate', $this, $controller, $data)->render();
117
-    }
110
+			if(!empty($linked_fams)) {
111
+				$data->set('has_linked_fams', true);
112
+				$data->set('linked_fams', $linked_fams);
113
+			}
114
+		}
115
+        
116
+		ViewFactory::make('Certificate', $this, $controller, $data)->render();
117
+	}
118 118
     
119
-    /**
120
-     * Certificate@image
121
-     */
122
-    public function image() {
123
-        $tree = Globals::getTree();
124
-        $cid   = Filter::get('cid');
125
-        $certificate = null;
126
-        if(!empty($cid)) $certificate =  Certificate::getInstance($cid, $tree, null, $this->provider);
127
-        
128
-        $imageBuilder = new ImageBuilder($certificate);
129
-        
130
-        if (!empty(Filter::get('cb'))) {
131
-            $imageBuilder->setExpireOffset($imageBuilder->getExpireOffset() * 7);
132
-        }
133
-        
134
-        $imageBuilder
135
-            ->setShowWatermark(Auth::accessLevel($tree) >= $this->module->getSetting('MAJ_SHOW_NO_WATERMARK', Auth::PRIV_HIDE))
136
-            ->setFontMaxSize($this->module->getSetting('MAJ_WM_FONT_MAXSIZE', 18))
137
-            ->setFontColor($this->module->getSetting('MAJ_WM_FONT_COLOR', '#4D6DF3'))
138
-        ;
139
-        
140
-        $imageBuilder->render();
141
-        
142
-    }
119
+	/**
120
+	 * Certificate@image
121
+	 */
122
+	public function image() {
123
+		$tree = Globals::getTree();
124
+		$cid   = Filter::get('cid');
125
+		$certificate = null;
126
+		if(!empty($cid)) $certificate =  Certificate::getInstance($cid, $tree, null, $this->provider);
127
+        
128
+		$imageBuilder = new ImageBuilder($certificate);
129
+        
130
+		if (!empty(Filter::get('cb'))) {
131
+			$imageBuilder->setExpireOffset($imageBuilder->getExpireOffset() * 7);
132
+		}
133
+        
134
+		$imageBuilder
135
+			->setShowWatermark(Auth::accessLevel($tree) >= $this->module->getSetting('MAJ_SHOW_NO_WATERMARK', Auth::PRIV_HIDE))
136
+			->setFontMaxSize($this->module->getSetting('MAJ_WM_FONT_MAXSIZE', 18))
137
+			->setFontColor($this->module->getSetting('MAJ_WM_FONT_COLOR', '#4D6DF3'))
138
+		;
139
+        
140
+		$imageBuilder->render();
141
+        
142
+	}
143 143
     
144
-    /**
145
-     * Certificate@listAll
146
-     */
147
-    public function listAll() {
148
-        $tree = Globals::getTree();
149
-        $controller = new PageController();
150
-        $controller
151
-            ->setPageTitle(I18N::translate('Certificates'))
152
-            ->restrictAccess(
153
-                $this->module->getSetting('MAJ_SHOW_CERT', Auth::PRIV_HIDE) >= Auth::accessLevel($tree)
154
-            );
155
-        
156
-        $city = Filter::get('city');
157
-        
158
-        if(!empty($city) && strlen($city) > 22){
159
-            $city = Functions::decryptFromSafeBase64($city);
160
-            $controller->setPageTitle(I18N::translate('Certificates for %s', $city));
161
-        }
162
-        
163
-        $data = new ViewBag();
164
-        $data->set('title', $controller->getPageTitle());
165
-        $data->set('url_module', $this->module->getName());
166
-        $data->set('url_action', 'Certificate@listAll');
167
-        $data->set('url_ged', $tree->getNameUrl());
168
-        
169
-        $data->set('cities', $this->provider->getCitiesList());
170
-        $data->set('selected_city', $city);
171
-        
172
-        $data->set('has_list', false);        
173
-        if(!empty($city)) {            
174
-            $table_id = 'table-certiflist-' . Uuid::uuid4();
144
+	/**
145
+	 * Certificate@listAll
146
+	 */
147
+	public function listAll() {
148
+		$tree = Globals::getTree();
149
+		$controller = new PageController();
150
+		$controller
151
+			->setPageTitle(I18N::translate('Certificates'))
152
+			->restrictAccess(
153
+				$this->module->getSetting('MAJ_SHOW_CERT', Auth::PRIV_HIDE) >= Auth::accessLevel($tree)
154
+			);
155
+        
156
+		$city = Filter::get('city');
157
+        
158
+		if(!empty($city) && strlen($city) > 22){
159
+			$city = Functions::decryptFromSafeBase64($city);
160
+			$controller->setPageTitle(I18N::translate('Certificates for %s', $city));
161
+		}
162
+        
163
+		$data = new ViewBag();
164
+		$data->set('title', $controller->getPageTitle());
165
+		$data->set('url_module', $this->module->getName());
166
+		$data->set('url_action', 'Certificate@listAll');
167
+		$data->set('url_ged', $tree->getNameUrl());
168
+        
169
+		$data->set('cities', $this->provider->getCitiesList());
170
+		$data->set('selected_city', $city);
171
+        
172
+		$data->set('has_list', false);        
173
+		if(!empty($city)) {            
174
+			$table_id = 'table-certiflist-' . Uuid::uuid4();
175 175
             
176
-            $certif_list = $this->provider->getCertificatesList($city);            
177
-            if(!empty($certif_list)) {                
178
-                $data->set('has_list', true);
179
-                $data->set('table_id', $table_id);
180
-                $data->set('certificate_list', $certif_list);
176
+			$certif_list = $this->provider->getCertificatesList($city);            
177
+			if(!empty($certif_list)) {                
178
+				$data->set('has_list', true);
179
+				$data->set('table_id', $table_id);
180
+				$data->set('certificate_list', $certif_list);
181 181
                 
182
-                $controller
183
-                    ->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
184
-                    ->addInlineJavascript('
182
+				$controller
183
+					->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
184
+					->addInlineJavascript('
185 185
 				        jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
186 186
 				        jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
187 187
                         
@@ -203,28 +203,28 @@  discard block
 block discarded – undo
203 203
         				jQuery(".certificate-list").css("visibility", "visible");
204 204
         				jQuery(".loading-image").css("display", "none");
205 205
                     ');
206
-            }
207
-        }
206
+			}
207
+		}
208 208
         
209
-        ViewFactory::make('CertificatesList', $this, $controller, $data)->render();
209
+		ViewFactory::make('CertificatesList', $this, $controller, $data)->render();
210 210
         
211
-    }
211
+	}
212 212
     
213
-    /**
214
-     * Certificate@autocomplete
215
-     */
216
-    public function autocomplete() {
217
-        $tree = Globals::getTree();
218
-        $controller = new JsonController();
219
-        
220
-        $city = Filter::get('city');
221
-        $contains = Filter::get('term');        
213
+	/**
214
+	 * Certificate@autocomplete
215
+	 */
216
+	public function autocomplete() {
217
+		$tree = Globals::getTree();
218
+		$controller = new JsonController();
219
+        
220
+		$city = Filter::get('city');
221
+		$contains = Filter::get('term');        
222 222
 
223
-        $controller
224
-            ->restrictAccess(Auth::isEditor($tree) && !empty($city) && !empty($contains))
225
-            ->pageHeader();
223
+		$controller
224
+			->restrictAccess(Auth::isEditor($tree) && !empty($city) && !empty($contains))
225
+			->pageHeader();
226 226
         
227
-        $listCert = $this->provider->getCertificatesListBeginWith($city, $contains); 
228
-        $controller->encode($listCert);
229
-    }
227
+		$listCert = $this->provider->getCertificatesListBeginWith($city, $contains); 
228
+		$controller->encode($listCert);
229
+	}
230 230
 }
231 231
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/Certificates/AdminConfigController.php 1 patch
Indentation   +56 added lines, -56 removed lines patch added patch discarded remove patch
@@ -29,75 +29,75 @@
 block discarded – undo
29 29
  */
30 30
 class AdminConfigController extends MvcController
31 31
 {
32
-    /**
33
-     * Manage updates sent from the AdminConfig@index form.
34
-     */
35
-    protected function update() {
32
+	/**
33
+	 * Manage updates sent from the AdminConfig@index form.
34
+	 */
35
+	protected function update() {
36 36
         
37
-        if(Auth::isAdmin()){
37
+		if(Auth::isAdmin()){
38 38
             
39
-            $this->module->setSetting('MAJ_SHOW_CERT', Filter::post('MAJ_SHOW_CERT'));
40
-            $this->module->setSetting('MAJ_SHOW_NO_WATERMARK', Filter::post('MAJ_SHOW_NO_WATERMARK'));
39
+			$this->module->setSetting('MAJ_SHOW_CERT', Filter::post('MAJ_SHOW_CERT'));
40
+			$this->module->setSetting('MAJ_SHOW_NO_WATERMARK', Filter::post('MAJ_SHOW_NO_WATERMARK'));
41 41
             
42
-            if($MAJ_WM_DEFAULT = Filter::post('MAJ_WM_DEFAULT')) {
43
-                $this->module->setSetting('MAJ_WM_DEFAULT', $MAJ_WM_DEFAULT);
44
-            }
42
+			if($MAJ_WM_DEFAULT = Filter::post('MAJ_WM_DEFAULT')) {
43
+				$this->module->setSetting('MAJ_WM_DEFAULT', $MAJ_WM_DEFAULT);
44
+			}
45 45
             
46
-            if($MAJ_WM_FONT_MAXSIZE = Filter::postInteger('MAJ_WM_FONT_MAXSIZE')) {
47
-                $this->module->setSetting('MAJ_WM_FONT_MAXSIZE', $MAJ_WM_FONT_MAXSIZE);
48
-            }
46
+			if($MAJ_WM_FONT_MAXSIZE = Filter::postInteger('MAJ_WM_FONT_MAXSIZE')) {
47
+				$this->module->setSetting('MAJ_WM_FONT_MAXSIZE', $MAJ_WM_FONT_MAXSIZE);
48
+			}
49 49
             
50
-            // Only accept valid color for MAJ_WM_FONT_COLOR
51
-            $MAJ_WM_FONT_COLOR = Filter::post('MAJ_WM_FONT_COLOR', '#([a-fA-F0-9]{3}){1,2}');            
52
-            if($MAJ_WM_FONT_COLOR) {
53
-                $this->module->setSetting('MAJ_WM_FONT_COLOR', $MAJ_WM_FONT_COLOR);
54
-            }
50
+			// Only accept valid color for MAJ_WM_FONT_COLOR
51
+			$MAJ_WM_FONT_COLOR = Filter::post('MAJ_WM_FONT_COLOR', '#([a-fA-F0-9]{3}){1,2}');            
52
+			if($MAJ_WM_FONT_COLOR) {
53
+				$this->module->setSetting('MAJ_WM_FONT_COLOR', $MAJ_WM_FONT_COLOR);
54
+			}
55 55
             
56
-            // Only accept valid folders for MAJ_CERT_ROOTDIR
57
-            $MAJ_CERT_ROOTDIR = preg_replace('/[\/\\\\]+/', '/', Filter::post('MAJ_CERT_ROOTDIR') . '/');
58
-            if (substr($MAJ_CERT_ROOTDIR, 0, 1) === '/') {
59
-                $MAJ_CERT_ROOTDIR = substr($MAJ_CERT_ROOTDIR, 1);
60
-            }
56
+			// Only accept valid folders for MAJ_CERT_ROOTDIR
57
+			$MAJ_CERT_ROOTDIR = preg_replace('/[\/\\\\]+/', '/', Filter::post('MAJ_CERT_ROOTDIR') . '/');
58
+			if (substr($MAJ_CERT_ROOTDIR, 0, 1) === '/') {
59
+				$MAJ_CERT_ROOTDIR = substr($MAJ_CERT_ROOTDIR, 1);
60
+			}
61 61
             
62
-            if ($MAJ_CERT_ROOTDIR) {
63
-                if (is_dir(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)) {
64
-                    $this->module->setSetting('MAJ_CERT_ROOTDIR', $MAJ_CERT_ROOTDIR);
65
-                } elseif (File::mkdir(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)) {
66
-                    $this->module->setSetting('MAJ_CERT_ROOTDIR', $MAJ_CERT_ROOTDIR);
67
-                    FlashMessages::addMessage(I18N::translate('The folder %s has been created.', Html::filename(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)), 'info');
68
-                } else {
69
-                    FlashMessages::addMessage(I18N::translate('The folder %s does not exist, and it could not be created.', Html::filename(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)), 'danger');
70
-                }
71
-            }
62
+			if ($MAJ_CERT_ROOTDIR) {
63
+				if (is_dir(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)) {
64
+					$this->module->setSetting('MAJ_CERT_ROOTDIR', $MAJ_CERT_ROOTDIR);
65
+				} elseif (File::mkdir(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)) {
66
+					$this->module->setSetting('MAJ_CERT_ROOTDIR', $MAJ_CERT_ROOTDIR);
67
+					FlashMessages::addMessage(I18N::translate('The folder %s has been created.', Html::filename(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)), 'info');
68
+				} else {
69
+					FlashMessages::addMessage(I18N::translate('The folder %s does not exist, and it could not be created.', Html::filename(WT_DATA_DIR . $MAJ_CERT_ROOTDIR)), 'danger');
70
+				}
71
+			}
72 72
             
73
-            FlashMessages::addMessage(I18N::translate('The preferences for the module “%s” have been updated.', $this->module->getTitle()), 'success');
73
+			FlashMessages::addMessage(I18N::translate('The preferences for the module “%s” have been updated.', $this->module->getTitle()), 'success');
74 74
             
75
-            return;
76
-        }
77
-    }
75
+			return;
76
+		}
77
+	}
78 78
     
79
-    /**
80
-     * Pages
81
-     */
79
+	/**
80
+	 * Pages
81
+	 */
82 82
         
83
-    /**
84
-     * AdminConfig@index
85
-     */
86
-    public function index() {        
87
-        $action = Filter::post('action');        
88
-        if($action == 'update' && Filter::checkCsrf()) $this->update();
83
+	/**
84
+	 * AdminConfig@index
85
+	 */
86
+	public function index() {        
87
+		$action = Filter::post('action');        
88
+		if($action == 'update' && Filter::checkCsrf()) $this->update();
89 89
         
90
-        Theme::theme(new AdministrationTheme)->init(Globals::getTree());        
91
-        $ctrl = new PageController();
92
-        $ctrl
93
-            ->restrictAccess(Auth::isAdmin())
94
-            ->setPageTitle($this->module->getTitle());
90
+		Theme::theme(new AdministrationTheme)->init(Globals::getTree());        
91
+		$ctrl = new PageController();
92
+		$ctrl
93
+			->restrictAccess(Auth::isAdmin())
94
+			->setPageTitle($this->module->getTitle());
95 95
 
96
-        $view_bag = new ViewBag();
97
-        $view_bag->set('title', $ctrl->getPageTitle());
98
-        $view_bag->set('module', $this->module);
96
+		$view_bag = new ViewBag();
97
+		$view_bag->set('title', $ctrl->getPageTitle());
98
+		$view_bag->set('module', $this->module);
99 99
         
100
-        ViewFactory::make('AdminConfig', $this, $ctrl, $view_bag)->render();
101
-    }
100
+		ViewFactory::make('AdminConfig', $this, $ctrl, $view_bag)->render();
101
+	}
102 102
         
103 103
 }
104 104
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/MiscExtensions/AdminConfigController.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -27,52 +27,52 @@
 block discarded – undo
27 27
  */
28 28
 class AdminConfigController extends MvcController
29 29
 {    
30
-    /**
31
-     * Manage updates sent from the AdminConfig@index form.
32
-     */
33
-    protected function update() {    
34
-        if(Auth::isAdmin()){
30
+	/**
31
+	 * Manage updates sent from the AdminConfig@index form.
32
+	 */
33
+	protected function update() {    
34
+		if(Auth::isAdmin()){
35 35
     
36
-            $this->module->setSetting('MAJ_TITLE_PREFIX', Filter::post('MAJ_TITLE_PREFIX'));
36
+			$this->module->setSetting('MAJ_TITLE_PREFIX', Filter::post('MAJ_TITLE_PREFIX'));
37 37
             
38
-            $this->module->setSetting('MAJ_ADD_HTML_HEADER', Filter::postInteger('MAJ_ADD_HTML_HEADER', 0, 1));
39
-            $this->module->setSetting('MAJ_SHOW_HTML_HEADER', Filter::postInteger('MAJ_SHOW_HTML_HEADER', Auth::PRIV_HIDE, Auth::PRIV_PRIVATE, Auth::PRIV_HIDE));
40
-            $this->module->setSetting('MAJ_HTML_HEADER', Filter::post('MAJ_HTML_HEADER'));
38
+			$this->module->setSetting('MAJ_ADD_HTML_HEADER', Filter::postInteger('MAJ_ADD_HTML_HEADER', 0, 1));
39
+			$this->module->setSetting('MAJ_SHOW_HTML_HEADER', Filter::postInteger('MAJ_SHOW_HTML_HEADER', Auth::PRIV_HIDE, Auth::PRIV_PRIVATE, Auth::PRIV_HIDE));
40
+			$this->module->setSetting('MAJ_HTML_HEADER', Filter::post('MAJ_HTML_HEADER'));
41 41
             
42
-            $this->module->setSetting('MAJ_ADD_HTML_FOOTER', Filter::postInteger('MAJ_ADD_HTML_FOOTER', 0, 1));
43
-            $this->module->setSetting('MAJ_SHOW_HTML_FOOTER', Filter::postInteger('MAJ_SHOW_HTML_FOOTER', Auth::PRIV_HIDE, Auth::PRIV_PRIVATE, Auth::PRIV_HIDE));
44
-            $this->module->setSetting('MAJ_HTML_FOOTER', Filter::post('MAJ_HTML_FOOTER'));
42
+			$this->module->setSetting('MAJ_ADD_HTML_FOOTER', Filter::postInteger('MAJ_ADD_HTML_FOOTER', 0, 1));
43
+			$this->module->setSetting('MAJ_SHOW_HTML_FOOTER', Filter::postInteger('MAJ_SHOW_HTML_FOOTER', Auth::PRIV_HIDE, Auth::PRIV_PRIVATE, Auth::PRIV_HIDE));
44
+			$this->module->setSetting('MAJ_HTML_FOOTER', Filter::post('MAJ_HTML_FOOTER'));
45 45
             
46
-            $this->module->setSetting('MAJ_DISPLAY_CNIL', Filter::postInteger('MAJ_DISPLAY_CNIL', 0, 1));
47
-            $this->module->setSetting('MAJ_CNIL_REFERENCE', Filter::post('MAJ_CNIL_REFERENCE'));
46
+			$this->module->setSetting('MAJ_DISPLAY_CNIL', Filter::postInteger('MAJ_DISPLAY_CNIL', 0, 1));
47
+			$this->module->setSetting('MAJ_CNIL_REFERENCE', Filter::post('MAJ_CNIL_REFERENCE'));
48 48
                 
49
-            FlashMessages::addMessage(I18N::translate('The preferences for the module “%s” have been updated.', $this->module->getTitle()), 'success');
49
+			FlashMessages::addMessage(I18N::translate('The preferences for the module “%s” have been updated.', $this->module->getTitle()), 'success');
50 50
     
51
-            return;
52
-        }
53
-    }
51
+			return;
52
+		}
53
+	}
54 54
     
55
-    /**
56
-     * Pages
57
-     */
55
+	/**
56
+	 * Pages
57
+	 */
58 58
         
59
-    /**
60
-     * AdminConfig@index
61
-     */
62
-    public function index() {
63
-        $action = Filter::post('action');        
64
-        if($action == 'update' && Filter::checkCsrf()) $this->update();
59
+	/**
60
+	 * AdminConfig@index
61
+	 */
62
+	public function index() {
63
+		$action = Filter::post('action');        
64
+		if($action == 'update' && Filter::checkCsrf()) $this->update();
65 65
         
66
-        Theme::theme(new AdministrationTheme)->init(Globals::getTree());        
67
-        $ctrl = new PageController();
68
-        $ctrl
69
-            ->restrictAccess(Auth::isAdmin())
70
-            ->setPageTitle($this->module->getTitle());
66
+		Theme::theme(new AdministrationTheme)->init(Globals::getTree());        
67
+		$ctrl = new PageController();
68
+		$ctrl
69
+			->restrictAccess(Auth::isAdmin())
70
+			->setPageTitle($this->module->getTitle());
71 71
             
72
-        $view_bag = new ViewBag();
73
-        $view_bag->set('title', $ctrl->getPageTitle());
74
-        $view_bag->set('module', $this->module);
72
+		$view_bag = new ViewBag();
73
+		$view_bag->set('title', $ctrl->getPageTitle());
74
+		$view_bag->set('module', $this->module);
75 75
         
76
-        ViewFactory::make('AdminConfig', $this, $ctrl, $view_bag)->render();
77
-    }
76
+		ViewFactory::make('AdminConfig', $this, $ctrl, $view_bag)->render();
77
+	}
78 78
 }
79 79
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/WelcomeBlockModule.php 1 patch
Indentation   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -21,79 +21,79 @@
 block discarded – undo
21 21
  * Welcome Block Module.
22 22
  */
23 23
 class WelcomeBlockModule extends AbstractModule
24
-    implements ModuleBlockInterface
24
+	implements ModuleBlockInterface
25 25
 {
26
-    /** @var string For custom modules - link for support, upgrades, etc. */
27
-    const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
26
+	/** @var string For custom modules - link for support, upgrades, etc. */
27
+	const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
28 28
         
29
-    /**
30
-     * {@inhericDoc}
31
-     */
32
-    public function getTitle() {
33
-        return /* I18N: Name of the “WelcomeBlock” module */ I18N::translate('MyArtJaub Welcome Block');
34
-    }
29
+	/**
30
+	 * {@inhericDoc}
31
+	 */
32
+	public function getTitle() {
33
+		return /* I18N: Name of the “WelcomeBlock” module */ I18N::translate('MyArtJaub Welcome Block');
34
+	}
35 35
     
36
-    /**
37
-     * {@inhericDoc}
38
-     */
39
-    public function getDescription() {
40
-        return /* I18N: Description of the “WelcomeBlock” module */ I18N::translate('The MyArtJaub Welcome block welcomes the visitor to the site, allows a quick login to the site, and displays statistics on visits.');
41
-    }
36
+	/**
37
+	 * {@inhericDoc}
38
+	 */
39
+	public function getDescription() {
40
+		return /* I18N: Description of the “WelcomeBlock” module */ I18N::translate('The MyArtJaub Welcome block welcomes the visitor to the site, allows a quick login to the site, and displays statistics on visits.');
41
+	}
42 42
     
43
-    /**
44
-     * {@inhericDoc}
45
-     */
46
-    public function modAction($mod_action) {
47
-        \MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
48
-    }
43
+	/**
44
+	 * {@inhericDoc}
45
+	 */
46
+	public function modAction($mod_action) {
47
+		\MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
48
+	}
49 49
     
50
-    /**
51
-     * {@inhericDoc}
52
-     * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::getBlock()
53
-     */
50
+	/**
51
+	 * {@inhericDoc}
52
+	 * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::getBlock()
53
+	 */
54 54
 	public function getBlock($block_id, $template = true, $cfg = array()) {
55
-        $wb_controller = new WelcomeBlockController($this);           
56
-        return $wb_controller->index(Globals::getController(), Globals::getTree(), $block_id, $template);
57
-    }
55
+		$wb_controller = new WelcomeBlockController($this);           
56
+		return $wb_controller->index(Globals::getController(), Globals::getTree(), $block_id, $template);
57
+	}
58 58
     
59
-    /**
60
-     * {@inhericDoc}
61
-     * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::loadAjax()
62
-     */
63
-    public function loadAjax() {
64
-        return false;
65
-    }
59
+	/**
60
+	 * {@inhericDoc}
61
+	 * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::loadAjax()
62
+	 */
63
+	public function loadAjax() {
64
+		return false;
65
+	}
66 66
     
67
-    /**
68
-     * {@inhericDoc}
69
-     * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::isUserBlock()
70
-     */
71
-    public function isUserBlock() {
72
-        return false;
73
-    }
67
+	/**
68
+	 * {@inhericDoc}
69
+	 * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::isUserBlock()
70
+	 */
71
+	public function isUserBlock() {
72
+		return false;
73
+	}
74 74
     
75
-    /**
76
-     * {@inhericDoc}
77
-     * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::isGedcomBlock()
78
-     */
79
-    public function isGedcomBlock() {
80
-        return true;
81
-    }
75
+	/**
76
+	 * {@inhericDoc}
77
+	 * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::isGedcomBlock()
78
+	 */
79
+	public function isGedcomBlock() {
80
+		return true;
81
+	}
82 82
     
83
-    /**
84
-     * {@inhericDoc}
85
-     * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::configureBlock()
86
-     */
87
-    public function configureBlock($block_id) {
88
-        $wb_controller = new WelcomeBlockController($this);
89
-        try {
90
-            return $wb_controller->config($block_id);
91
-        }
92
-        catch (MvcException $ex) {
93
-            if($ex->getHttpCode() != 200) throw $ex;
94
-            return;
95
-        }     
96
-    }
83
+	/**
84
+	 * {@inhericDoc}
85
+	 * @see \Fisharebest\Webtrees\Module\ModuleBlockInterface::configureBlock()
86
+	 */
87
+	public function configureBlock($block_id) {
88
+		$wb_controller = new WelcomeBlockController($this);
89
+		try {
90
+			return $wb_controller->config($block_id);
91
+		}
92
+		catch (MvcException $ex) {
93
+			if($ex->getHttpCode() != 200) throw $ex;
94
+			return;
95
+		}     
96
+	}
97 97
 
98 98
 }
99 99
  
100 100
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/PatronymicLineage/LineageController.php 1 patch
Indentation   +134 added lines, -134 removed lines patch added patch discarded remove patch
@@ -27,158 +27,158 @@
 block discarded – undo
27 27
 class LineageController extends MvcController
28 28
 {   
29 29
     
30
-    /**
31
-     * Generate the patronymic lineage for this surname
32
-     * @var string $surname Reference surname
33
-     */
34
-    private $surname;   
30
+	/**
31
+	 * Generate the patronymic lineage for this surname
32
+	 * @var string $surname Reference surname
33
+	 */
34
+	private $surname;   
35 35
     
36
-    /**
37
-     * Initial letter
38
-     * @var string $alpha
39
-     */
40
-    private $alpha;
36
+	/**
37
+	 * Initial letter
38
+	 * @var string $alpha
39
+	 */
40
+	private $alpha;
41 41
     
42
-    /**
43
-     * Show all names (values: yes|no)
44
-     * @var bool $show
45
-     */
46
-    private $show_all;
42
+	/**
43
+	 * Show all names (values: yes|no)
44
+	 * @var bool $show
45
+	 */
46
+	private $show_all;
47 47
     
48
-    /**
49
-     * Page to display (values: surn|lineage)
50
-     * @var unknown $show
51
-     */
52
-    private $show;
48
+	/**
49
+	 * Page to display (values: surn|lineage)
50
+	 * @var unknown $show
51
+	 */
52
+	private $show;
53 53
     
54
-    /**
55
-     * Page title
56
-     * @var string $legend
57
-     */
58
-    private $legend;
54
+	/**
55
+	 * Page title
56
+	 * @var string $legend
57
+	 */
58
+	private $legend;
59 59
     
60
-    /**
61
-     * {@inheritDoc}
62
-     * @see \MyArtJaub\Webtrees\Mvc\Controller\MvcController::__construct(AbstractModule $module)
63
-     */
64
-    public function __construct(AbstractModule $module) {        
65
-        parent::__construct($module);
60
+	/**
61
+	 * {@inheritDoc}
62
+	 * @see \MyArtJaub\Webtrees\Mvc\Controller\MvcController::__construct(AbstractModule $module)
63
+	 */
64
+	public function __construct(AbstractModule $module) {        
65
+		parent::__construct($module);
66 66
         
67
-        $this->surname     = Filter::get('surname');
68
-        $this->alpha       = Filter::get('alpha'); // All surnames beginning with this letter where "@"=unknown and ","=none
69
-        $this->show_all    = Filter::get('show_all', 'no|yes', 'no'); // All indis
70
-        // Make sure selections are consistent.
71
-        // i.e. can’t specify show_all and surname at the same time.
72
-        if ($this->show_all === 'yes') {
73
-            $this->alpha   = '';
74
-            $this->surname = '';
75
-            $this->legend  = I18N::translate('All');
76
-            $this->show    = Filter::get('show', 'surn|lineage', 'surn');
77
-        } elseif ($this->surname) {
78
-            $this->alpha    = QueryName::initialLetter($this->surname); // so we can highlight the initial letter
79
-            $this->show_all = 'no';
80
-            if ($this->surname === '@N.N.') {
81
-                $this->legend = I18N::translateContext('Unknown surname', '…');
82
-            } else {
83
-                $this->legend = Filter::escapeHtml($this->surname);
84
-                // The surname parameter is a root/canonical form.
85
-                // Display it as the actual surname
86
-                foreach (QueryName::surnames(Globals::getTree(), $this->surname, $this->alpha, false, false) as $details) {
87
-                    $this->legend = implode('/', array_keys($details));
88
-                }                
89
-            }
90
-            $this->show = 'lineage'; // SURN list makes no sense here
91
-        } elseif ($this->alpha === '@') {
92
-            $this->show_all = 'no';
93
-            $this->legend   = I18N::translateContext('Unknown surname', '…');
94
-            $this->show     = 'lineage'; // SURN list makes no sense here
95
-        } elseif ($this->alpha === ',') {
96
-            $this->show_all = 'no';
97
-            $this->legend   = I18N::translate('None');
98
-            $this->show     = 'lineage'; // SURN list makes no sense here
99
-        } elseif ($this->alpha) {
100
-            $this->show_all = 'no';
101
-            $this->legend   = Filter::escapeHtml($this->alpha) . '…';
102
-            $this->show     = Filter::get('show', 'surn|lineage', 'surn');
103
-        } else {
104
-            $this->show_all = 'no';
105
-            $this->legend   = '…';
106
-            $this->show     = 'none'; // Don't show lists until something is chosen
107
-        }
108
-        $this->legend = '<span dir="auto">' . $this->legend . '</span>';
67
+		$this->surname     = Filter::get('surname');
68
+		$this->alpha       = Filter::get('alpha'); // All surnames beginning with this letter where "@"=unknown and ","=none
69
+		$this->show_all    = Filter::get('show_all', 'no|yes', 'no'); // All indis
70
+		// Make sure selections are consistent.
71
+		// i.e. can’t specify show_all and surname at the same time.
72
+		if ($this->show_all === 'yes') {
73
+			$this->alpha   = '';
74
+			$this->surname = '';
75
+			$this->legend  = I18N::translate('All');
76
+			$this->show    = Filter::get('show', 'surn|lineage', 'surn');
77
+		} elseif ($this->surname) {
78
+			$this->alpha    = QueryName::initialLetter($this->surname); // so we can highlight the initial letter
79
+			$this->show_all = 'no';
80
+			if ($this->surname === '@N.N.') {
81
+				$this->legend = I18N::translateContext('Unknown surname', '…');
82
+			} else {
83
+				$this->legend = Filter::escapeHtml($this->surname);
84
+				// The surname parameter is a root/canonical form.
85
+				// Display it as the actual surname
86
+				foreach (QueryName::surnames(Globals::getTree(), $this->surname, $this->alpha, false, false) as $details) {
87
+					$this->legend = implode('/', array_keys($details));
88
+				}                
89
+			}
90
+			$this->show = 'lineage'; // SURN list makes no sense here
91
+		} elseif ($this->alpha === '@') {
92
+			$this->show_all = 'no';
93
+			$this->legend   = I18N::translateContext('Unknown surname', '…');
94
+			$this->show     = 'lineage'; // SURN list makes no sense here
95
+		} elseif ($this->alpha === ',') {
96
+			$this->show_all = 'no';
97
+			$this->legend   = I18N::translate('None');
98
+			$this->show     = 'lineage'; // SURN list makes no sense here
99
+		} elseif ($this->alpha) {
100
+			$this->show_all = 'no';
101
+			$this->legend   = Filter::escapeHtml($this->alpha) . '…';
102
+			$this->show     = Filter::get('show', 'surn|lineage', 'surn');
103
+		} else {
104
+			$this->show_all = 'no';
105
+			$this->legend   = '…';
106
+			$this->show     = 'none'; // Don't show lists until something is chosen
107
+		}
108
+		$this->legend = '<span dir="auto">' . $this->legend . '</span>';
109 109
           
110
-    }
110
+	}
111 111
     
112
-    /**
113
-     * Indicates whether the list of surname should be displayed
114
-     * @return bool
115
-     */
116
-    protected function isShowingSurnames() {
117
-        return $this->show === 'surn';
118
-    }
112
+	/**
113
+	 * Indicates whether the list of surname should be displayed
114
+	 * @return bool
115
+	 */
116
+	protected function isShowingSurnames() {
117
+		return $this->show === 'surn';
118
+	}
119 119
     
120
-    /**
121
-     * Indicates whether the lineages should be displayed
122
-     * @return bool
123
-     */
124
-    protected function isShowingLineages() {
125
-        return $this->show === 'lineage';
126
-    } 
120
+	/**
121
+	 * Indicates whether the lineages should be displayed
122
+	 * @return bool
123
+	 */
124
+	protected function isShowingLineages() {
125
+		return $this->show === 'lineage';
126
+	} 
127 127
     
128
-    /**
129
-     * Get list of surnames, starting with the specified initial
130
-     * @return array
131
-     */
132
-    protected function getSurnamesList() {        
133
-        return QueryName::surnames(Globals::getTree(), $this->surname, $this->alpha, false, false);
134
-    }
128
+	/**
129
+	 * Get list of surnames, starting with the specified initial
130
+	 * @return array
131
+	 */
132
+	protected function getSurnamesList() {        
133
+		return QueryName::surnames(Globals::getTree(), $this->surname, $this->alpha, false, false);
134
+	}
135 135
     
136
-    /**
137
-     * Get the lineages for the controller's specified surname
138
-     */
139
-    protected function getLineages() {		
140
-        $builder = new LineageBuilder($this->surname, Globals::getTree());
136
+	/**
137
+	 * Get the lineages for the controller's specified surname
138
+	 */
139
+	protected function getLineages() {		
140
+		$builder = new LineageBuilder($this->surname, Globals::getTree());
141 141
 		$lineages = $builder->buildLineages();
142 142
 		
143
-    	return $lineages;
144
-    }    
143
+		return $lineages;
144
+	}    
145 145
     
146
-    /**
147
-     * Pages
148
-     */
146
+	/**
147
+	 * Pages
148
+	 */
149 149
     
150
-    /**
151
-     * Lineage@index
152
-     */
153
-    public function index() {
154
-        $controller = new PageController();
155
-        $controller->setPageTitle(I18N::translate('Patronymic Lineages') . ' : ' . $this->legend);
150
+	/**
151
+	 * Lineage@index
152
+	 */
153
+	public function index() {
154
+		$controller = new PageController();
155
+		$controller->setPageTitle(I18N::translate('Patronymic Lineages') . ' : ' . $this->legend);
156 156
         
157
-        $view_bag = new ViewBag();
158
-        $view_bag->set('title', $controller->getPageTitle());
159
-        $view_bag->set('tree', Globals::getTree());
160
-        $view_bag->set('alpha', $this->alpha);
161
-        $view_bag->set('surname', $this->surname);
162
-        $view_bag->set('legend', $this->legend);
163
-        $view_bag->set('show_all', $this->show_all);
164
-        if($this->isShowingSurnames()) {
165
-            $view_bag->set('issurnames', true);
166
-            $view_bag->set('surnameslist', $this->getSurnamesList());
167
-        }
168
-        if($this->isShowingLineages()) {
169
-            $view_bag->set('islineages', true);
170
-            $view_bag->set('lineages', $this->getLineages());
157
+		$view_bag = new ViewBag();
158
+		$view_bag->set('title', $controller->getPageTitle());
159
+		$view_bag->set('tree', Globals::getTree());
160
+		$view_bag->set('alpha', $this->alpha);
161
+		$view_bag->set('surname', $this->surname);
162
+		$view_bag->set('legend', $this->legend);
163
+		$view_bag->set('show_all', $this->show_all);
164
+		if($this->isShowingSurnames()) {
165
+			$view_bag->set('issurnames', true);
166
+			$view_bag->set('surnameslist', $this->getSurnamesList());
167
+		}
168
+		if($this->isShowingLineages()) {
169
+			$view_bag->set('islineages', true);
170
+			$view_bag->set('lineages', $this->getLineages());
171 171
 
172
-            if ($this->show_all==='no') {
173
-            	$view_bag->set('table_title', I18N::translate('Individuals in %s lineages', $this->legend));
174
-            }
175
-            else {
176
-            	$view_bag->set('table_title', I18N::translate('All lineages'));
177
-            }
178
-        }
172
+			if ($this->show_all==='no') {
173
+				$view_bag->set('table_title', I18N::translate('Individuals in %s lineages', $this->legend));
174
+			}
175
+			else {
176
+				$view_bag->set('table_title', I18N::translate('All lineages'));
177
+			}
178
+		}
179 179
         
180
-        ViewFactory::make('Lineage', $this, $controller, $view_bag)->render();   
181
-    }
180
+		ViewFactory::make('Lineage', $this, $controller, $view_bag)->render();   
181
+	}
182 182
     
183 183
     
184 184
     
Please login to merge, or discard this patch.
src/Webtrees/Module/Sosa/SosaConfigController.php 1 patch
Indentation   +108 added lines, -108 removed lines patch added patch discarded remove patch
@@ -30,63 +30,63 @@  discard block
 block discarded – undo
30 30
  */
31 31
 class SosaConfigController extends MvcController
32 32
 {      
33
-    /**
34
-     * Check if the user can update the sosa ancestors list
35
-     * 
36
-     * @return bool
37
-     */
38
-    protected function canUpdate() {        
39
-        $user_id = Filter::postInteger('userid', -1) ?: Filter::getInteger('userid', -1);
40
-        return Auth::check() && 
41
-            ( 
42
-                $user_id == Auth::user()->getUserId() ||        // Allow update for yourself
43
-                ($user_id == -1 && Auth::isManager(Globals::getTree()))   // Allow a manager to update the default user
44
-             );
45
-    }
33
+	/**
34
+	 * Check if the user can update the sosa ancestors list
35
+	 * 
36
+	 * @return bool
37
+	 */
38
+	protected function canUpdate() {        
39
+		$user_id = Filter::postInteger('userid', -1) ?: Filter::getInteger('userid', -1);
40
+		return Auth::check() && 
41
+			( 
42
+				$user_id == Auth::user()->getUserId() ||        // Allow update for yourself
43
+				($user_id == -1 && Auth::isManager(Globals::getTree()))   // Allow a manager to update the default user
44
+			 );
45
+	}
46 46
     
47
-    /**
48
-     * Saves Sosa's user preferences (root individual for the user).
49
-     * 
50
-     * @param BaseController $controller
51
-     * @return bool True is saving successfull
52
-     */
53
-    protected function update(BaseController $controller) {
54
-        $wt_tree = Globals::getTree();
55
-        if($this->canUpdate() && Filter::checkCsrf()) 
56
-        {            
57
-            $indi = Individual::getInstance(Filter::post('rootid'), $wt_tree);
58
-            $user = User::find(Filter::postInteger('userid', -1));
47
+	/**
48
+	 * Saves Sosa's user preferences (root individual for the user).
49
+	 * 
50
+	 * @param BaseController $controller
51
+	 * @return bool True is saving successfull
52
+	 */
53
+	protected function update(BaseController $controller) {
54
+		$wt_tree = Globals::getTree();
55
+		if($this->canUpdate() && Filter::checkCsrf()) 
56
+		{            
57
+			$indi = Individual::getInstance(Filter::post('rootid'), $wt_tree);
58
+			$user = User::find(Filter::postInteger('userid', -1));
59 59
             
60
-            if($user  && $indi) {
61
-                $wt_tree->setUserPreference($user, 'MAJ_SOSA_ROOT_ID', $indi->getXref());
62
-                $controller->addInlineJavascript('
60
+			if($user  && $indi) {
61
+				$wt_tree->setUserPreference($user, 'MAJ_SOSA_ROOT_ID', $indi->getXref());
62
+				$controller->addInlineJavascript('
63 63
                     $( document ).ready(function() {
64 64
                         majComputeSosa('.$user->getUserId().');
65 65
                     });');
66
-                FlashMessages::addMessage(I18N::translate('The preferences have been updated.'));
67
-                return true;
68
-            }
69
-        }
70
-        FlashMessages::addMessage(I18N::translate('An error occurred while saving data...'), 'danger');
71
-        return false;
72
-    }
66
+				FlashMessages::addMessage(I18N::translate('The preferences have been updated.'));
67
+				return true;
68
+			}
69
+		}
70
+		FlashMessages::addMessage(I18N::translate('An error occurred while saving data...'), 'danger');
71
+		return false;
72
+	}
73 73
     
74
-    /**
75
-     * Pages
76
-     */
74
+	/**
75
+	 * Pages
76
+	 */
77 77
     
78
-    /**
79
-     * SosaConfig@index
80
-     */
81
-    public function index() {
82
-        $wt_tree = Globals::getTree();
83
-        $controller = new PageController();
84
-        $controller
85
-        ->setPageTitle(I18N::translate('Sosa Configuration'))
86
-        ->restrictAccess(Auth::check())
87
-        ->addExternalJavascript(WT_AUTOCOMPLETE_JS_URL)
88
-        ->addInlineJavascript('autocomplete();')
89
-        ->addInlineJavascript('
78
+	/**
79
+	 * SosaConfig@index
80
+	 */
81
+	public function index() {
82
+		$wt_tree = Globals::getTree();
83
+		$controller = new PageController();
84
+		$controller
85
+		->setPageTitle(I18N::translate('Sosa Configuration'))
86
+		->restrictAccess(Auth::check())
87
+		->addExternalJavascript(WT_AUTOCOMPLETE_JS_URL)
88
+		->addInlineJavascript('autocomplete();')
89
+		->addInlineJavascript('
90 90
             $( document ).ready(function() {
91 91
                 $("#bt_sosa_compute").click(function() {
92 92
                     majComputeSosa($("#maj_sosa_input_userid, #maj-sosa-config-select option:selected").val());
@@ -103,80 +103,80 @@  discard block
 block discarded – undo
103 103
                   });
104 104
             }');
105 105
         
106
-        $action = Filter::post('action');
107
-        if($action === 'update') $this->update($controller);
106
+		$action = Filter::post('action');
107
+		if($action === 'update') $this->update($controller);
108 108
         
109
-        $view_bag = new ViewBag();
110
-        $view_bag->set('title', $controller->getPageTitle());
111
-        $view_bag->set('tree', $wt_tree);
112
-        $view_bag->set('form_url', 'module.php?mod='.$this->module->getName().'&mod_action=SosaConfig&ged='.$wt_tree->getNameUrl());
109
+		$view_bag = new ViewBag();
110
+		$view_bag->set('title', $controller->getPageTitle());
111
+		$view_bag->set('tree', $wt_tree);
112
+		$view_bag->set('form_url', 'module.php?mod='.$this->module->getName().'&mod_action=SosaConfig&ged='.$wt_tree->getNameUrl());
113 113
         
114
-        $users_root = array();
115
-        $users_js_array = 'var users_array = [];';
116
-        if(Auth::check()) {
117
-            $root_id = $wt_tree->getUserPreference(Auth::user(), 'MAJ_SOSA_ROOT_ID');
118
-            $users_root[] = array( 'user' => Auth::user(), 'rootid' => $root_id);
119
-            $users_js_array .=  'users_array["'.Auth::user()->getUserId().'"] = "' . $root_id . '";';
114
+		$users_root = array();
115
+		$users_js_array = 'var users_array = [];';
116
+		if(Auth::check()) {
117
+			$root_id = $wt_tree->getUserPreference(Auth::user(), 'MAJ_SOSA_ROOT_ID');
118
+			$users_root[] = array( 'user' => Auth::user(), 'rootid' => $root_id);
119
+			$users_js_array .=  'users_array["'.Auth::user()->getUserId().'"] = "' . $root_id . '";';
120 120
             
121
-            if(Auth::isManager($wt_tree)) {
122
-                $default_user = User::find(-1);
123
-                $default_root_id = $wt_tree->getUserPreference($default_user, 'MAJ_SOSA_ROOT_ID');
124
-                $users_root[] = array( 'user' => $default_user, 'rootid' => $default_root_id);
125
-                $users_js_array .=  'users_array["'.$default_user->getUserId().'"] = "' . $default_root_id . '";';
126
-            }
127
-        }
128
-        $view_bag->set('users_settings', $users_root);       
121
+			if(Auth::isManager($wt_tree)) {
122
+				$default_user = User::find(-1);
123
+				$default_root_id = $wt_tree->getUserPreference($default_user, 'MAJ_SOSA_ROOT_ID');
124
+				$users_root[] = array( 'user' => $default_user, 'rootid' => $default_root_id);
125
+				$users_js_array .=  'users_array["'.$default_user->getUserId().'"] = "' . $default_root_id . '";';
126
+			}
127
+		}
128
+		$view_bag->set('users_settings', $users_root);       
129 129
         
130
-        $controller->addInlineJavascript($users_js_array . '            
130
+		$controller->addInlineJavascript($users_js_array . '            
131 131
                 $("#maj-sosa-config-select").change(function() {
132 132
                     $("#rootid").val(users_array[this.value]);
133 133
                 });
134 134
              ');
135 135
         
136
-        ViewFactory::make('SosaConfig', $this, $controller, $view_bag)->render();   
137
-    }
136
+		ViewFactory::make('SosaConfig', $this, $controller, $view_bag)->render();   
137
+	}
138 138
     
139
-    /**
140
-     * SosaConfig@computeAll
141
-     */
142
-    public function computeAll() {        
143
-        $controller = new AjaxController();
144
-        $controller->restrictAccess($this->canUpdate());
139
+	/**
140
+	 * SosaConfig@computeAll
141
+	 */
142
+	public function computeAll() {        
143
+		$controller = new AjaxController();
144
+		$controller->restrictAccess($this->canUpdate());
145 145
         
146
-        $view_bag = new ViewBag();
147
-        $view_bag->set('is_success', false);
146
+		$view_bag = new ViewBag();
147
+		$view_bag->set('is_success', false);
148 148
         
149
-        $user = User::find(Filter::getInteger('userid', -1));
150
-        if($user) {
151
-            $calculator = new SosaCalculator(Globals::getTree(), $user);
152
-            if($calculator->computeAll()) $view_bag->set('is_success', true);
153
-        }
154
-        ViewFactory::make('SosaComputeResult', $this, $controller, $view_bag)->render();
155
-    }
149
+		$user = User::find(Filter::getInteger('userid', -1));
150
+		if($user) {
151
+			$calculator = new SosaCalculator(Globals::getTree(), $user);
152
+			if($calculator->computeAll()) $view_bag->set('is_success', true);
153
+		}
154
+		ViewFactory::make('SosaComputeResult', $this, $controller, $view_bag)->render();
155
+	}
156 156
     
157
-    /**
158
-     * SosaConfig@computePartial
159
-     */
160
-    public function computePartial() {
161
-        $wt_tree = Globals::getTree();
162
-        $controller = new AjaxController();
163
-        $controller->restrictAccess($this->canUpdate());
157
+	/**
158
+	 * SosaConfig@computePartial
159
+	 */
160
+	public function computePartial() {
161
+		$wt_tree = Globals::getTree();
162
+		$controller = new AjaxController();
163
+		$controller->restrictAccess($this->canUpdate());
164 164
     
165
-        $view_bag = new ViewBag();
166
-        $view_bag->set('is_success', false);
165
+		$view_bag = new ViewBag();
166
+		$view_bag->set('is_success', false);
167 167
     
168
-        $user = User::find(Filter::getInteger('userid', -1));
169
-        $indi = Individual::getInstance(Filter::get('pid', WT_REGEX_XREF), $wt_tree);
168
+		$user = User::find(Filter::getInteger('userid', -1));
169
+		$indi = Individual::getInstance(Filter::get('pid', WT_REGEX_XREF), $wt_tree);
170 170
         
171
-        if($user && $indi) {
172
-            $calculator = new SosaCalculator($wt_tree, $user);
173
-            if($calculator->computeFromIndividual($indi)) $view_bag->set('is_success', true);
174
-        }
175
-        else {
176
-            $view_bag->set('error', I18N::translate('Non existing individual'));
177
-        }
171
+		if($user && $indi) {
172
+			$calculator = new SosaCalculator($wt_tree, $user);
173
+			if($calculator->computeFromIndividual($indi)) $view_bag->set('is_success', true);
174
+		}
175
+		else {
176
+			$view_bag->set('error', I18N::translate('Non existing individual'));
177
+		}
178 178
             
179
-        ViewFactory::make('SosaComputeResult', $this, $controller, $view_bag)->render();
180
-    }
179
+		ViewFactory::make('SosaComputeResult', $this, $controller, $view_bag)->render();
180
+	}
181 181
     
182 182
 }
183 183
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/SosaModule.php 1 patch
Indentation   +164 added lines, -164 removed lines patch added patch discarded remove patch
@@ -32,116 +32,116 @@  discard block
 block discarded – undo
32 32
  * Sosa Module.
33 33
  */
34 34
 class SosaModule 
35
-    extends AbstractModule 
36
-    implements  ModuleMenuInterface, 
37
-                ModuleConfigInterface,
38
-                HookSubscriberInterface,
39
-                IndividualHeaderExtenderInterface,
40
-                RecordNameTextExtenderInterface
35
+	extends AbstractModule 
36
+	implements  ModuleMenuInterface, 
37
+				ModuleConfigInterface,
38
+				HookSubscriberInterface,
39
+				IndividualHeaderExtenderInterface,
40
+				RecordNameTextExtenderInterface
41 41
 {
42
-    // How to update the database schema for this module
43
-    const SCHEMA_TARGET_VERSION   = 1;
44
-    const SCHEMA_SETTING_NAME     = 'MAJ_SOSA_SCHEMA_VERSION';
45
-    const SCHEMA_MIGRATION_PREFIX = '\MyArtJaub\Webtrees\Module\Sosa\Schema';
42
+	// How to update the database schema for this module
43
+	const SCHEMA_TARGET_VERSION   = 1;
44
+	const SCHEMA_SETTING_NAME     = 'MAJ_SOSA_SCHEMA_VERSION';
45
+	const SCHEMA_MIGRATION_PREFIX = '\MyArtJaub\Webtrees\Module\Sosa\Schema';
46 46
 
47
-    /** @var string For custom modules - link for support, upgrades, etc. */
48
-    const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
49
-    
50
-    /**
51
-     * {@inhericDoc}
52
-     */
53
-    public function getTitle() {
54
-        return /* I18N: Name of the “Sosa” module */ I18N::translate('Sosa');
55
-    }
56
-    
57
-    /**
58
-     * {@inhericDoc}
59
-     */
60
-    public function getDescription() {
61
-        return /* I18N: Description of the “Sosa” module */ I18N::translate('Calculate and display Sosa ancestors of the root person.');
62
-    }
63
-    
64
-    /**
65
-     * {@inhericDoc}
66
-     */
67
-    public function modAction($mod_action) {
68
-        Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
47
+	/** @var string For custom modules - link for support, upgrades, etc. */
48
+	const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
49
+    
50
+	/**
51
+	 * {@inhericDoc}
52
+	 */
53
+	public function getTitle() {
54
+		return /* I18N: Name of the “Sosa” module */ I18N::translate('Sosa');
55
+	}
56
+    
57
+	/**
58
+	 * {@inhericDoc}
59
+	 */
60
+	public function getDescription() {
61
+		return /* I18N: Description of the “Sosa” module */ I18N::translate('Calculate and display Sosa ancestors of the root person.');
62
+	}
63
+    
64
+	/**
65
+	 * {@inhericDoc}
66
+	 */
67
+	public function modAction($mod_action) {
68
+		Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
69 69
         
70
-        \MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
71
-    }
70
+		\MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
71
+	}
72 72
     
73
-    /**********
73
+	/**********
74 74
      * ModuleConfigInterface
75 75
      **********/
76 76
     
77
-    /**
78
-     * {@inhericDoc}
79
-     * @see \Fisharebest\Webtrees\Module\ModuleConfigInterface::getConfigLink()
80
-     */
81
-    public function getConfigLink() {
82
-        Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
77
+	/**
78
+	 * {@inhericDoc}
79
+	 * @see \Fisharebest\Webtrees\Module\ModuleConfigInterface::getConfigLink()
80
+	 */
81
+	public function getConfigLink() {
82
+		Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
83 83
         
84
-        return 'module.php?mod=' . $this->getName() . '&amp;mod_action=SosaConfig';
85
-    }
84
+		return 'module.php?mod=' . $this->getName() . '&amp;mod_action=SosaConfig';
85
+	}
86 86
     
87
-    /**********
87
+	/**********
88 88
      * ModuleMenuInterface
89 89
      **********/
90 90
     
91
-    /**
92
-     * {@inhericDoc}
93
-     * @see \Fisharebest\Webtrees\Module\ModuleMenuInterface::defaultMenuOrder()
94
-     */
95
-    public function defaultMenuOrder() {
96
-        return 5;
97
-    }
98
-    
99
-    /**
100
-     * {@inhericDoc}
101
-     * @see \Fisharebest\Webtrees\Module\ModuleMenuInterface::getMenu()
102
-     */
103
-    public function getMenu() { 
104
-        $wt_tree = Globals::getTree();
105
-        $menu = null;
106
-        if(ModuleManager::getInstance()->isOperational($this->getName())) {
91
+	/**
92
+	 * {@inhericDoc}
93
+	 * @see \Fisharebest\Webtrees\Module\ModuleMenuInterface::defaultMenuOrder()
94
+	 */
95
+	public function defaultMenuOrder() {
96
+		return 5;
97
+	}
98
+    
99
+	/**
100
+	 * {@inhericDoc}
101
+	 * @see \Fisharebest\Webtrees\Module\ModuleMenuInterface::getMenu()
102
+	 */
103
+	public function getMenu() { 
104
+		$wt_tree = Globals::getTree();
105
+		$menu = null;
106
+		if(ModuleManager::getInstance()->isOperational($this->getName())) {
107 107
             
108
-            $root_url = 'module.php?mod=' . $this->getName() . '&ged=' . $wt_tree->getNameUrl() . '&';
109
-            $sosa_stat_menu = new Menu(I18N::translate('Sosa Statistics'), $root_url . 'mod_action=SosaStats', 'menu-maj-sosa-stats');
108
+			$root_url = 'module.php?mod=' . $this->getName() . '&ged=' . $wt_tree->getNameUrl() . '&';
109
+			$sosa_stat_menu = new Menu(I18N::translate('Sosa Statistics'), $root_url . 'mod_action=SosaStats', 'menu-maj-sosa-stats');
110 110
             
111
-            $menu = clone $sosa_stat_menu;
112
-            $menu->setClass('menu-maj-sosa');
111
+			$menu = clone $sosa_stat_menu;
112
+			$menu->setClass('menu-maj-sosa');
113 113
             
114
-            $submenus = array_filter(array(
115
-                new Menu(I18N::translate('Sosa Ancestors'), $root_url . 'mod_action=SosaList', 'menu-maj-sosa-list', array('rel' => 'nofollow')),
116
-                new Menu(I18N::translate('Missing Ancestors'), $root_url . 'mod_action=SosaList@missing', 'menu-maj-sosa-missing', array('rel' => 'nofollow')),
117
-                $sosa_stat_menu                
118
-            ));
114
+			$submenus = array_filter(array(
115
+				new Menu(I18N::translate('Sosa Ancestors'), $root_url . 'mod_action=SosaList', 'menu-maj-sosa-list', array('rel' => 'nofollow')),
116
+				new Menu(I18N::translate('Missing Ancestors'), $root_url . 'mod_action=SosaList@missing', 'menu-maj-sosa-missing', array('rel' => 'nofollow')),
117
+				$sosa_stat_menu                
118
+			));
119 119
             
120 120
 
121
-            if (ModuleManager::getInstance()->isOperational(Constants::MODULE_MAJ_GEODISP_NAME)
122
-                && $ga_list = Module::getModuleByName(Constants::MODULE_MAJ_GEODISP_NAME)->getProvider()->getGeoAnalysisList()
123
-                )
124
-            {
125
-                if(count($ga_list) > 0) {
126
-                    $submenus[] = new Menu(I18N::translate('Geographical Dispersion'), 'module.php?mod=' . Constants::MODULE_MAJ_GEODISP_NAME . '&ged=' . $wt_tree->getNameUrl() . '&mod_action=GeoAnalysis@listAll', 'menu-maj-sosa-geodispersion');
127
-                }
128
-            }
121
+			if (ModuleManager::getInstance()->isOperational(Constants::MODULE_MAJ_GEODISP_NAME)
122
+				&& $ga_list = Module::getModuleByName(Constants::MODULE_MAJ_GEODISP_NAME)->getProvider()->getGeoAnalysisList()
123
+				)
124
+			{
125
+				if(count($ga_list) > 0) {
126
+					$submenus[] = new Menu(I18N::translate('Geographical Dispersion'), 'module.php?mod=' . Constants::MODULE_MAJ_GEODISP_NAME . '&ged=' . $wt_tree->getNameUrl() . '&mod_action=GeoAnalysis@listAll', 'menu-maj-sosa-geodispersion');
127
+				}
128
+			}
129 129
             
130
-            if(Auth::check()) {
131
-                $submenus[] = new Menu(
132
-                    I18N::translate('Sosa Configuration'),
133
-                    $this->getConfigLink(),
134
-                    'menu-maj-sosa-configuration',
135
-                    array('rel' => 'nofollow'));
136
-            }
130
+			if(Auth::check()) {
131
+				$submenus[] = new Menu(
132
+					I18N::translate('Sosa Configuration'),
133
+					$this->getConfigLink(),
134
+					'menu-maj-sosa-configuration',
135
+					array('rel' => 'nofollow'));
136
+			}
137 137
                         
138
-            //-- recompute Sosa submenu
139
-            $controller = Globals::getController();
140
-            if (!empty($controller) && $controller instanceof IndividualController 
141
-                && Auth::check() && $wt_tree->getUserPreference(Auth::user(), 'MAJ_SOSA_ROOT_ID')
142
-                ) {
143
-                $controller
144
-                    ->addInlineJavascript('
138
+			//-- recompute Sosa submenu
139
+			$controller = Globals::getController();
140
+			if (!empty($controller) && $controller instanceof IndividualController 
141
+				&& Auth::check() && $wt_tree->getUserPreference(Auth::user(), 'MAJ_SOSA_ROOT_ID')
142
+				) {
143
+				$controller
144
+					->addInlineJavascript('
145 145
                         function majComputeSosaFromIndi(){
146 146
                             if($("#computesosadlg").length == 0) {
147 147
                                 $("body").append("<div id=\"computesosadlg\" title=\"'. I18N::translate('Sosas computation') .'\"><div id=\"sosaloadingarea\"></div></div>");
@@ -164,87 +164,87 @@  discard block
 block discarded – undo
164 164
 	                         });	
165 165
                         }');
166 166
                 	
167
-                $submenus[] = new Menu(
168
-                    I18N::translate('Complete Sosas'), 
169
-                    '#', 
170
-                    'menu-maj-sosa-recompute', 
171
-                    array(
172
-                        'rel' => 'nofollow',
173
-                        'onclick' => 'return majComputeSosaFromIndi();'
174
-                    ));
175
-            }
167
+				$submenus[] = new Menu(
168
+					I18N::translate('Complete Sosas'), 
169
+					'#', 
170
+					'menu-maj-sosa-recompute', 
171
+					array(
172
+						'rel' => 'nofollow',
173
+						'onclick' => 'return majComputeSosaFromIndi();'
174
+					));
175
+			}
176 176
             
177
-        }
177
+		}
178 178
         
179
-        $menu->setSubmenus($submenus);
179
+		$menu->setSubmenus($submenus);
180 180
         
181
-        return $menu;
181
+		return $menu;
182 182
         
183
-    }
183
+	}
184 184
     
185
-    /**********
185
+	/**********
186 186
      * Hooks
187 187
      **********/
188 188
     
189
-    /**
190
-     * {@inhericDoc}
191
-     * @see \MyArtJaub\Webtrees\Hook\HookSubscriberInterface::getSubscribedHooks()
192
-     */    
193
-    public function getSubscribedHooks() {
194
-        return array(
195
-            'hExtendIndiHeaderIcons' => 20,
196
-            'hExtendIndiHeaderRight' => 20,
197
-            'hRecordNameAppend' => 20
198
-        );
199
-    }
200
-    
201
-    /**
202
-     * {@inhericDoc}
203
-     * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderIcons()
204
-     */
205
-    public function hExtendIndiHeaderIcons(IndividualController $ctrlIndi) {
206
-        if($ctrlIndi){
207
-            $dindi = new Individual($ctrlIndi->getSignificantIndividual());
208
-            return FunctionsPrint::formatSosaNumbers($dindi->getSosaNumbers(), 1, 'large');
209
-        }
210
-        return '';
211
-    }
212
-    
213
-    /**
214
-     * {@inhericDoc}
215
-     * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderLeft()
216
-     */
217
-    public function hExtendIndiHeaderLeft(IndividualController $ctrlIndi) { }
218
-    
219
-    /**
220
-     * {@inhericDoc}
221
-     * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderRight()
222
-     */
223
-    public function hExtendIndiHeaderRight(IndividualController $ctrlIndi) {
224
-        if($ctrlIndi){
225
-            $dindi = new Individual($ctrlIndi->getSignificantIndividual());
226
-            return array('indi-header-sosa',  FunctionsPrint::formatSosaNumbers($dindi->getSosaNumbers(), 2, 'normal'));
227
-        }
228
-        return '';
229
-    }
230
-    
231
-    /**
232
-     * {@inhericDoc}
233
-     * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\RecordNameTextExtenderInterface::hRecordNameAppend()
234
-     */
235
-    public function hRecordNameAppend(GedcomRecord $grec, $size = 'small') {
236
-        if($grec instanceof \Fisharebest\Webtrees\Individual){ // Only apply to individuals
237
-            $dindi = new Individual($grec);
238
-            return FunctionsPrint::formatSosaNumbers($dindi->getSosaNumbers(), 1, $size);
239
-        }
240
-        return '';
241
-    }
242
-    
243
-    /**
244
-     * {@inhericDoc}
245
-     * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\RecordNameTextExtenderInterface::hRecordNamePrepend()
246
-     */
247
-    public function hRecordNamePrepend(GedcomRecord $grec, $size) {}
189
+	/**
190
+	 * {@inhericDoc}
191
+	 * @see \MyArtJaub\Webtrees\Hook\HookSubscriberInterface::getSubscribedHooks()
192
+	 */    
193
+	public function getSubscribedHooks() {
194
+		return array(
195
+			'hExtendIndiHeaderIcons' => 20,
196
+			'hExtendIndiHeaderRight' => 20,
197
+			'hRecordNameAppend' => 20
198
+		);
199
+	}
200
+    
201
+	/**
202
+	 * {@inhericDoc}
203
+	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderIcons()
204
+	 */
205
+	public function hExtendIndiHeaderIcons(IndividualController $ctrlIndi) {
206
+		if($ctrlIndi){
207
+			$dindi = new Individual($ctrlIndi->getSignificantIndividual());
208
+			return FunctionsPrint::formatSosaNumbers($dindi->getSosaNumbers(), 1, 'large');
209
+		}
210
+		return '';
211
+	}
212
+    
213
+	/**
214
+	 * {@inhericDoc}
215
+	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderLeft()
216
+	 */
217
+	public function hExtendIndiHeaderLeft(IndividualController $ctrlIndi) { }
218
+    
219
+	/**
220
+	 * {@inhericDoc}
221
+	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderRight()
222
+	 */
223
+	public function hExtendIndiHeaderRight(IndividualController $ctrlIndi) {
224
+		if($ctrlIndi){
225
+			$dindi = new Individual($ctrlIndi->getSignificantIndividual());
226
+			return array('indi-header-sosa',  FunctionsPrint::formatSosaNumbers($dindi->getSosaNumbers(), 2, 'normal'));
227
+		}
228
+		return '';
229
+	}
230
+    
231
+	/**
232
+	 * {@inhericDoc}
233
+	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\RecordNameTextExtenderInterface::hRecordNameAppend()
234
+	 */
235
+	public function hRecordNameAppend(GedcomRecord $grec, $size = 'small') {
236
+		if($grec instanceof \Fisharebest\Webtrees\Individual){ // Only apply to individuals
237
+			$dindi = new Individual($grec);
238
+			return FunctionsPrint::formatSosaNumbers($dindi->getSosaNumbers(), 1, $size);
239
+		}
240
+		return '';
241
+	}
242
+    
243
+	/**
244
+	 * {@inhericDoc}
245
+	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\RecordNameTextExtenderInterface::hRecordNamePrepend()
246
+	 */
247
+	public function hRecordNamePrepend(GedcomRecord $grec, $size) {}
248 248
     
249 249
     
250 250
     
Please login to merge, or discard this patch.