Completed
Push — feature/code-analysis ( 820b23...92a398 )
by Jonathan
04:40 queued 01:48
created
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/SosaListController.php 1 patch
Indentation   +270 added lines, -270 removed lines patch added patch discarded remove patch
@@ -37,67 +37,67 @@  discard block
 block discarded – undo
37 37
  */
38 38
 class SosaListController extends MvcController
39 39
 {
40
-    /**
41
-     * Sosa Provider for the controller
42
-     * @var SosaProvider $sosa_provider
43
-     */
44
-    protected $sosa_provider;
40
+	/**
41
+	 * Sosa Provider for the controller
42
+	 * @var SosaProvider $sosa_provider
43
+	 */
44
+	protected $sosa_provider;
45 45
     
46
-    /**
47
-     * Generation used for the controller
48
-     * @var int $generation
49
-     */
50
-    protected $generation;
46
+	/**
47
+	 * Generation used for the controller
48
+	 * @var int $generation
49
+	 */
50
+	protected $generation;
51 51
     
52
-    /**
53
-     * ViewBag to hold data for the controller
54
-     * @var ViewBag $view_bag
55
-     */
56
-    protected $view_bag;
52
+	/**
53
+	 * ViewBag to hold data for the controller
54
+	 * @var ViewBag $view_bag
55
+	 */
56
+	protected $view_bag;
57 57
     
58
-    /**
59
-     * {@inheritDoc}
60
-     * @see \MyArtJaub\Webtrees\Mvc\Controller\MvcController::__construct(AbstractModule $module)
61
-     */
62
-    public function __construct(AbstractModule $module) {
63
-        parent::__construct($module);
58
+	/**
59
+	 * {@inheritDoc}
60
+	 * @see \MyArtJaub\Webtrees\Mvc\Controller\MvcController::__construct(AbstractModule $module)
61
+	 */
62
+	public function __construct(AbstractModule $module) {
63
+		parent::__construct($module);
64 64
 
65
-        $this->sosa_provider = new SosaProvider(Globals::getTree(), Auth::user());
65
+		$this->sosa_provider = new SosaProvider(Globals::getTree(), Auth::user());
66 66
 
67
-        $this->generation = Filter::getInteger('gen');
67
+		$this->generation = Filter::getInteger('gen');
68 68
         
69
-        $this->view_bag = new ViewBag();
70
-        $this->view_bag->set('generation', $this->generation);
71
-        $this->view_bag->set('max_gen', $this->sosa_provider->getLastGeneration());
72
-        $this->view_bag->set('is_setup', $this->sosa_provider->isSetup() && $this->view_bag->get('max_gen', 0)> 0);
69
+		$this->view_bag = new ViewBag();
70
+		$this->view_bag->set('generation', $this->generation);
71
+		$this->view_bag->set('max_gen', $this->sosa_provider->getLastGeneration());
72
+		$this->view_bag->set('is_setup', $this->sosa_provider->isSetup() && $this->view_bag->get('max_gen', 0)> 0);
73 73
         
74
-    }
74
+	}
75 75
     
76 76
     
77
-    /**
78
-     * Pages
79
-     */
77
+	/**
78
+	 * Pages
79
+	 */
80 80
     
81
-    /**
82
-     * SosaList@index
83
-     */
84
-    public function index() {
85
-        $wt_tree = Globals::getTree();
86
-        $controller = new PageController();
87
-        $controller
88
-            ->setPageTitle(I18N::translate('Sosa Ancestors'));            
81
+	/**
82
+	 * SosaList@index
83
+	 */
84
+	public function index() {
85
+		$wt_tree = Globals::getTree();
86
+		$controller = new PageController();
87
+		$controller
88
+			->setPageTitle(I18N::translate('Sosa Ancestors'));            
89 89
 
90
-        $this->view_bag->set('title', $wt_tree->getPageTitle());
90
+		$this->view_bag->set('title', $wt_tree->getPageTitle());
91 91
         
92
-        if($this->view_bag->get('is_setup', false)) {
93
-            $this->view_bag->set('has_sosa', $this->generation > 0 && $this->sosa_provider->getSosaCountAtGeneration($this->generation) > 0);
94
-            $this->view_bag->set('url_module', $this->module->getName());
95
-            $this->view_bag->set('url_action', 'SosaList');
96
-            $this->view_bag->set('url_ged', $wt_tree->getNameUrl()); 
97
-            $this->view_bag->set('min_gen', 1);
92
+		if($this->view_bag->get('is_setup', false)) {
93
+			$this->view_bag->set('has_sosa', $this->generation > 0 && $this->sosa_provider->getSosaCountAtGeneration($this->generation) > 0);
94
+			$this->view_bag->set('url_module', $this->module->getName());
95
+			$this->view_bag->set('url_action', 'SosaList');
96
+			$this->view_bag->set('url_ged', $wt_tree->getNameUrl()); 
97
+			$this->view_bag->set('min_gen', 1);
98 98
             
99
-            if($this->view_bag->get('has_sosa', false)) {            
100
-                $controller->addInlineJavascript('
99
+			if($this->view_bag->get('has_sosa', false)) {            
100
+				$controller->addInlineJavascript('
101 101
             		jQuery("#sosalist-tabs").tabs();
102 102
             		jQuery("#sosalist-tabs").css("visibility", "visible");
103 103
                 
@@ -151,43 +151,43 @@  discard block
 block discarded – undo
151 151
             		);
152 152
                 
153 153
             	');            
154
-            }
155
-        }
154
+			}
155
+		}
156 156
                 
157
-        ViewFactory::make('SosaList', $this, $controller, $this->view_bag)->render();   
158
-    }    
157
+		ViewFactory::make('SosaList', $this, $controller, $this->view_bag)->render();   
158
+	}    
159 159
     
160 160
 
161
-    /**
162
-     * SosaList@missing
163
-     */
164
-    public function missing() {
165
-        $wt_tree = Globals::getTree();
166
-        $controller = new PageController();
167
-        $controller
168
-        ->setPageTitle(I18N::translate('Missing Ancestors'));
161
+	/**
162
+	 * SosaList@missing
163
+	 */
164
+	public function missing() {
165
+		$wt_tree = Globals::getTree();
166
+		$controller = new PageController();
167
+		$controller
168
+		->setPageTitle(I18N::translate('Missing Ancestors'));
169 169
         
170
-        $this->view_bag->set('title', $controller->getPageTitle());
170
+		$this->view_bag->set('title', $controller->getPageTitle());
171 171
         
172
-        if($this->view_bag->get('is_setup', false)) {
173
-            $this->view_bag->set('url_module', $this->module->getName());
174
-            $this->view_bag->set('url_action', 'SosaList@missing');
175
-            $this->view_bag->set('url_ged', $wt_tree->getNameUrl());
176
-            $this->view_bag->set('min_gen', 2);
172
+		if($this->view_bag->get('is_setup', false)) {
173
+			$this->view_bag->set('url_module', $this->module->getName());
174
+			$this->view_bag->set('url_action', 'SosaList@missing');
175
+			$this->view_bag->set('url_ged', $wt_tree->getNameUrl());
176
+			$this->view_bag->set('min_gen', 2);
177 177
             
178
-            $missing_list = $this->sosa_provider->getMissingSosaListAtGeneration($this->generation);
179
-            $this->view_bag->set('has_missing', $this->generation > 0 && count($missing_list) > 0);
178
+			$missing_list = $this->sosa_provider->getMissingSosaListAtGeneration($this->generation);
179
+			$this->view_bag->set('has_missing', $this->generation > 0 && count($missing_list) > 0);
180 180
             
181
-            $perc_sosa = Functions::safeDivision($this->sosa_provider->getSosaCountAtGeneration($this->generation), pow(2, $this->generation -1));
182
-            $this->view_bag->set('perc_sosa', $perc_sosa);
181
+			$perc_sosa = Functions::safeDivision($this->sosa_provider->getSosaCountAtGeneration($this->generation), pow(2, $this->generation -1));
182
+			$this->view_bag->set('perc_sosa', $perc_sosa);
183 183
             
184
-            if($this->view_bag->get('has_missing', false)) {
185
-                $table_id = 'table-sosa-missing-' . Uuid::uuid4();
186
-                $this->view_bag->set('table_id', $table_id);
184
+			if($this->view_bag->get('has_missing', false)) {
185
+				$table_id = 'table-sosa-missing-' . Uuid::uuid4();
186
+				$this->view_bag->set('table_id', $table_id);
187 187
                 
188
-                $controller
189
-                ->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
190
-                ->addInlineJavascript('
188
+				$controller
189
+				->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
190
+				->addInlineJavascript('
191 191
 				    jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
192 192
 				    jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
193 193
                     
@@ -239,76 +239,76 @@  discard block
 block discarded – undo
239 239
     				jQuery(".loading-image").css("display", "none");
240 240
     			');
241 241
                         
242
-                $unique_indis = array();
243
-                $sum_missing_different = 0;
244
-                $sum_missing_different_without_hidden = 0;
245
-                foreach($missing_list as $num => $missing_tab) {
246
-                    if(isset($unique_indis[$missing_tab['indi']])) {
247
-                        unset($missing_list[$num]);
248
-                        continue;
249
-                    }
250
-                    $sum_missing_different += !$missing_tab['has_father'] + !$missing_tab['has_mother'];
251
-                    $person = Individual::getInstance($missing_tab['indi'], $wt_tree);
252
-                    if (!$person || !$person->canShowName()) {
253
-                        unset($missing_list[$num]);
254
-                        continue;
255
-                    }  
256
-                    $sum_missing_different_without_hidden += !$missing_tab['has_father'] + !$missing_tab['has_mother'];
257
-                    $unique_indis[$person->getXref()] = true;
258
-                    $missing_tab['indi'] = $person;
259
-                    $missing_list[$num] = $missing_tab;
260
-                }
261
-                $this->view_bag->set('missing_list', $missing_list);
262
-                $this->view_bag->set('missing_diff_count', $sum_missing_different);
263
-                $this->view_bag->set('missing_hidden', $sum_missing_different - $sum_missing_different_without_hidden);
264
-                $perc_sosa_potential = Functions::safeDivision($this->sosa_provider->getSosaCountAtGeneration($this->generation - 1), pow(2, $this->generation-2));
265
-                $this->view_bag->set('perc_sosa_potential', $perc_sosa_potential);
266
-            }            
267
-        }
242
+				$unique_indis = array();
243
+				$sum_missing_different = 0;
244
+				$sum_missing_different_without_hidden = 0;
245
+				foreach($missing_list as $num => $missing_tab) {
246
+					if(isset($unique_indis[$missing_tab['indi']])) {
247
+						unset($missing_list[$num]);
248
+						continue;
249
+					}
250
+					$sum_missing_different += !$missing_tab['has_father'] + !$missing_tab['has_mother'];
251
+					$person = Individual::getInstance($missing_tab['indi'], $wt_tree);
252
+					if (!$person || !$person->canShowName()) {
253
+						unset($missing_list[$num]);
254
+						continue;
255
+					}  
256
+					$sum_missing_different_without_hidden += !$missing_tab['has_father'] + !$missing_tab['has_mother'];
257
+					$unique_indis[$person->getXref()] = true;
258
+					$missing_tab['indi'] = $person;
259
+					$missing_list[$num] = $missing_tab;
260
+				}
261
+				$this->view_bag->set('missing_list', $missing_list);
262
+				$this->view_bag->set('missing_diff_count', $sum_missing_different);
263
+				$this->view_bag->set('missing_hidden', $sum_missing_different - $sum_missing_different_without_hidden);
264
+				$perc_sosa_potential = Functions::safeDivision($this->sosa_provider->getSosaCountAtGeneration($this->generation - 1), pow(2, $this->generation-2));
265
+				$this->view_bag->set('perc_sosa_potential', $perc_sosa_potential);
266
+			}            
267
+		}
268 268
         
269
-        ViewFactory::make('SosaListMissing', $this, $controller, $this->view_bag)->render();
270
-    }
269
+		ViewFactory::make('SosaListMissing', $this, $controller, $this->view_bag)->render();
270
+	}
271 271
     
272
-    /**
273
-     * SosaList@sosalist
274
-     */
275
-    public function sosalist() {
272
+	/**
273
+	 * SosaList@sosalist
274
+	 */
275
+	public function sosalist() {
276 276
                 
277
-        $type = Filter::get('type', 'indi|fam', null);
277
+		$type = Filter::get('type', 'indi|fam', null);
278 278
         
279
-        $controller = new AjaxController();
280
-        $controller->restrictAccess($this->generation > 0 || !is_null($type));
279
+		$controller = new AjaxController();
280
+		$controller->restrictAccess($this->generation > 0 || !is_null($type));
281 281
         
282
-        switch ($type){
283
-            case 'indi':
284
-                $this->renderSosaListIndi($controller);
285
-                break;
286
-            case 'fam':
287
-                $this->renderFamSosaListIndi($controller);
288
-                break;
289
-            default:
290
-                break;
291
-        }
282
+		switch ($type){
283
+			case 'indi':
284
+				$this->renderSosaListIndi($controller);
285
+				break;
286
+			case 'fam':
287
+				$this->renderFamSosaListIndi($controller);
288
+				break;
289
+			default:
290
+				break;
291
+		}
292 292
 
293
-    }
293
+	}
294 294
     
295
-    /**
296
-     * Render the Ajax response for the sortable table of Sosa individuals
297
-     * @param AjaxController $controller
298
-     */
299
-    protected function renderSosaListIndi(AjaxController $controller) {
300
-        $wt_tree = Globals::getTree();
301
-        $listSosa = $this->sosa_provider->getSosaListAtGeneration($this->generation); 
302
-        $this->view_bag->set('has_sosa', false);
295
+	/**
296
+	 * Render the Ajax response for the sortable table of Sosa individuals
297
+	 * @param AjaxController $controller
298
+	 */
299
+	protected function renderSosaListIndi(AjaxController $controller) {
300
+		$wt_tree = Globals::getTree();
301
+		$listSosa = $this->sosa_provider->getSosaListAtGeneration($this->generation); 
302
+		$this->view_bag->set('has_sosa', false);
303 303
         
304
-        if(count($listSosa) > 0) {
305
-            $this->view_bag->set('has_sosa', true);
306
-            $table_id = 'table-sosa-indi-' . Uuid::uuid4();
307
-            $this->view_bag->set('table_id', $table_id);
304
+		if(count($listSosa) > 0) {
305
+			$this->view_bag->set('has_sosa', true);
306
+			$table_id = 'table-sosa-indi-' . Uuid::uuid4();
307
+			$this->view_bag->set('table_id', $table_id);
308 308
                      
309
-            $controller
310
-            ->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
311
-            ->addInlineJavascript('
309
+			$controller
310
+			->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
311
+			->addInlineJavascript('
312 312
                 jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
313 313
                 jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
314 314
                 
@@ -375,95 +375,95 @@  discard block
 block discarded – undo
375 375
 				jQuery("#btn-toggle-statistics-'.$table_id.'").click();
376 376
            ');
377 377
             
378
-            $stats = new Stats($wt_tree);         
378
+			$stats = new Stats($wt_tree);         
379 379
             
380
-            // Bad data can cause "longest life" to be huge, blowing memory limits
381
-            $max_age = min($wt_tree->getPreference('MAX_ALIVE_AGE'), $stats->LongestLifeAge()) + 1;
382
-            // Inititialise chart data
383
-            $deat_by_age = array();
384
-            for ($age = 0; $age <= $max_age; $age++) {
385
-                $deat_by_age[$age] = '';
386
-            }
387
-            $birt_by_decade = array();
388
-            $deat_by_decade = array();
389
-            for ($year = 1550; $year < 2030; $year += 10) {
390
-                $birt_by_decade[$year] = '';
391
-                $deat_by_decade[$year] = '';
392
-            }
380
+			// Bad data can cause "longest life" to be huge, blowing memory limits
381
+			$max_age = min($wt_tree->getPreference('MAX_ALIVE_AGE'), $stats->LongestLifeAge()) + 1;
382
+			// Inititialise chart data
383
+			$deat_by_age = array();
384
+			for ($age = 0; $age <= $max_age; $age++) {
385
+				$deat_by_age[$age] = '';
386
+			}
387
+			$birt_by_decade = array();
388
+			$deat_by_decade = array();
389
+			for ($year = 1550; $year < 2030; $year += 10) {
390
+				$birt_by_decade[$year] = '';
391
+				$deat_by_decade[$year] = '';
392
+			}
393 393
             
394
-            $unique_indis = array(); // Don't double-count indis with multiple names.
395
-            $nb_displayed = 0;
394
+			$unique_indis = array(); // Don't double-count indis with multiple names.
395
+			$nb_displayed = 0;
396 396
             
397
-            Individual::load($wt_tree, $listSosa);
398
-            foreach($listSosa as $sosa => $pid) {
399
-                $person = Individual::getInstance($pid, $wt_tree);
400
-                if (!$person || !$person->canShowName()) {
401
-                    unset($listSosa[$sosa]);
402
-                    continue;
403
-                }
404
-                $nb_displayed++;
405
-                if ($birth_dates=$person->getAllBirthDates()) {
406
-                    if (
407
-                        FunctionsPrint::isDateWithinChartsRange($birth_dates[0]) &&
408
-                        !isset($unique_indis[$person->getXref()])
409
-                        ) {
410
-                        $birt_by_decade[(int)($birth_dates[0]->gregorianYear()/10)*10] .= $person->getSex();
411
-                    }
412
-                }
413
-                else {
414
-                    $birth_dates[0]=new Date('');
415
-                }
416
-                if ($death_dates = $person->getAllDeathDates()) {
417
-                    if (
418
-                        FunctionsPrint::isDateWithinChartsRange($death_dates[0]) &&
419
-                        !isset($unique_indis[$person->getXref()])
420
-                        ) {
421
-                        $deat_by_decade[(int) ($death_dates[0]->gregorianYear() / 10) * 10] .= $person->getSex();
422
-                    }
423
-                }
424
-                else {
425
-                    $death_dates[0] = new Date('');
426
-                }
427
-                $age = Date::getAge($birth_dates[0], $death_dates[0], 0);
428
-                if (!isset($unique_indis[$person->getXref()]) && $age >= 0 && $age <= $max_age) {
429
-                    $deat_by_age[$age] .= $person->getSex();
430
-                }
431
-                $listSosa[$sosa] = $person;
432
-                $unique_indis[$person->getXref()] = true;
433
-            }
434
-            $this->view_bag->set('sosa_list', $listSosa);   
397
+			Individual::load($wt_tree, $listSosa);
398
+			foreach($listSosa as $sosa => $pid) {
399
+				$person = Individual::getInstance($pid, $wt_tree);
400
+				if (!$person || !$person->canShowName()) {
401
+					unset($listSosa[$sosa]);
402
+					continue;
403
+				}
404
+				$nb_displayed++;
405
+				if ($birth_dates=$person->getAllBirthDates()) {
406
+					if (
407
+						FunctionsPrint::isDateWithinChartsRange($birth_dates[0]) &&
408
+						!isset($unique_indis[$person->getXref()])
409
+						) {
410
+						$birt_by_decade[(int)($birth_dates[0]->gregorianYear()/10)*10] .= $person->getSex();
411
+					}
412
+				}
413
+				else {
414
+					$birth_dates[0]=new Date('');
415
+				}
416
+				if ($death_dates = $person->getAllDeathDates()) {
417
+					if (
418
+						FunctionsPrint::isDateWithinChartsRange($death_dates[0]) &&
419
+						!isset($unique_indis[$person->getXref()])
420
+						) {
421
+						$deat_by_decade[(int) ($death_dates[0]->gregorianYear() / 10) * 10] .= $person->getSex();
422
+					}
423
+				}
424
+				else {
425
+					$death_dates[0] = new Date('');
426
+				}
427
+				$age = Date::getAge($birth_dates[0], $death_dates[0], 0);
428
+				if (!isset($unique_indis[$person->getXref()]) && $age >= 0 && $age <= $max_age) {
429
+					$deat_by_age[$age] .= $person->getSex();
430
+				}
431
+				$listSosa[$sosa] = $person;
432
+				$unique_indis[$person->getXref()] = true;
433
+			}
434
+			$this->view_bag->set('sosa_list', $listSosa);   
435 435
             
436
-            $this->view_bag->set('sosa_count', count($listSosa));
437
-            $this->view_bag->set('sosa_theo', pow(2, $this->generation-1));
438
-            $this->view_bag->set('sosa_ratio', Functions::safeDivision($this->view_bag->get('sosa_count'), $this->view_bag->get('sosa_theo')));
436
+			$this->view_bag->set('sosa_count', count($listSosa));
437
+			$this->view_bag->set('sosa_theo', pow(2, $this->generation-1));
438
+			$this->view_bag->set('sosa_ratio', Functions::safeDivision($this->view_bag->get('sosa_count'), $this->view_bag->get('sosa_theo')));
439 439
             
440
-            $this->view_bag->set('sosa_hidden', $this->view_bag->get('sosa_count') - $nb_displayed);
440
+			$this->view_bag->set('sosa_hidden', $this->view_bag->get('sosa_count') - $nb_displayed);
441 441
             
442
-            $this->view_bag->set('chart_births', FunctionsPrintLists::chartByDecade($birt_by_decade, I18N::translate('Decade of birth')));
443
-            $this->view_bag->set('chart_deaths', FunctionsPrintLists::chartByDecade($deat_by_decade, I18N::translate('Decade of death')));
444
-            $this->view_bag->set('chart_ages', FunctionsPrintLists::chartByAge($deat_by_age, I18N::translate('Age related to death year')));
445
-        }
442
+			$this->view_bag->set('chart_births', FunctionsPrintLists::chartByDecade($birt_by_decade, I18N::translate('Decade of birth')));
443
+			$this->view_bag->set('chart_deaths', FunctionsPrintLists::chartByDecade($deat_by_decade, I18N::translate('Decade of death')));
444
+			$this->view_bag->set('chart_ages', FunctionsPrintLists::chartByAge($deat_by_age, I18N::translate('Age related to death year')));
445
+		}
446 446
         
447
-        ViewFactory::make('SosaListIndi', $this, $controller, $this->view_bag)->render();        
448
-    }
447
+		ViewFactory::make('SosaListIndi', $this, $controller, $this->view_bag)->render();        
448
+	}
449 449
     
450
-    /**
451
-     * Render the Ajax response for the sortable table of Sosa family
452
-     * @param AjaxController $controller
453
-     */
454
-    protected function renderFamSosaListIndi(AjaxController $controller) {
455
-        $wt_tree = Globals::getTree();
456
-        $listFamSosa = $this->sosa_provider->getFamilySosaListAtGeneration($this->generation);;
457
-        $this->view_bag->set('has_sosa', false);
450
+	/**
451
+	 * Render the Ajax response for the sortable table of Sosa family
452
+	 * @param AjaxController $controller
453
+	 */
454
+	protected function renderFamSosaListIndi(AjaxController $controller) {
455
+		$wt_tree = Globals::getTree();
456
+		$listFamSosa = $this->sosa_provider->getFamilySosaListAtGeneration($this->generation);;
457
+		$this->view_bag->set('has_sosa', false);
458 458
         
459
-        if(count($listFamSosa) > 0) {
460
-            $this->view_bag->set('has_sosa', true);
461
-            $table_id = 'table-sosa-fam-' . Uuid::uuid4();
462
-            $this->view_bag->set('table_id', $table_id);
459
+		if(count($listFamSosa) > 0) {
460
+			$this->view_bag->set('has_sosa', true);
461
+			$table_id = 'table-sosa-fam-' . Uuid::uuid4();
462
+			$this->view_bag->set('table_id', $table_id);
463 463
              
464
-            $controller
465
-            ->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
466
-            ->addInlineJavascript('
464
+			$controller
465
+			->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
466
+			->addInlineJavascript('
467 467
 				jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
468 468
 				jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
469 469
                 
@@ -527,67 +527,67 @@  discard block
 block discarded – undo
527 527
 				jQuery("#btn-toggle-statistics-'.$table_id.'").click();
528 528
            ');
529 529
         
530
-            $stats = new Stats($wt_tree);        
531
-            $max_age = max($stats->oldestMarriageMaleAge(), $stats->oldestMarriageFemaleAge()) + 1;
530
+			$stats = new Stats($wt_tree);        
531
+			$max_age = max($stats->oldestMarriageMaleAge(), $stats->oldestMarriageFemaleAge()) + 1;
532 532
             
533
-            //-- init chart data
534
-    		$marr_by_age = array();
535
-    		for ($age=0; $age<=$max_age; $age++) {
536
-    			$marr_by_age[$age] = '';
537
-    		}
538
-    		$birt_by_decade = array();
539
-    		$marr_by_decade = array();
540
-    		for ($year=1550; $year<2030; $year+=10) {
541
-    			$birt_by_decade[$year] = '';
542
-    			$marr_by_decade[$year] = '';
543
-    		}
533
+			//-- init chart data
534
+			$marr_by_age = array();
535
+			for ($age=0; $age<=$max_age; $age++) {
536
+				$marr_by_age[$age] = '';
537
+			}
538
+			$birt_by_decade = array();
539
+			$marr_by_decade = array();
540
+			for ($year=1550; $year<2030; $year+=10) {
541
+				$birt_by_decade[$year] = '';
542
+				$marr_by_decade[$year] = '';
543
+			}
544 544
     		
545
-            foreach($listFamSosa as $sosa => $fid) {
546
-                $sfamily = Family::getInstance($fid, $wt_tree);
547
-                if(!$sfamily || !$sfamily->canShow()) {
548
-                    unset($listFamSosa[$sosa]);
549
-                    continue;
550
-                }
551
-                $mdate=$sfamily->getMarriageDate();
545
+			foreach($listFamSosa as $sosa => $fid) {
546
+				$sfamily = Family::getInstance($fid, $wt_tree);
547
+				if(!$sfamily || !$sfamily->canShow()) {
548
+					unset($listFamSosa[$sosa]);
549
+					continue;
550
+				}
551
+				$mdate=$sfamily->getMarriageDate();
552 552
                 
553
-                if( ($husb = $sfamily->getHusband()) && 
554
-                    ($hdate = $husb->getBirthDate()) && 
555
-                    $hdate->isOK() && $mdate->isOK()) {
556
-                    if (FunctionsPrint::isDateWithinChartsRange($hdate)) {
557
-                        $birt_by_decade[(int) ($hdate->gregorianYear() / 10) * 10] .= $husb->getSex();
558
-                    }
559
-                    $hage = Date::getAge($hdate, $mdate, 0);
560
-                    if ($hage >= 0 && $hage <= $max_age) {
561
-                        $marr_by_age[$hage] .= $husb->getSex();
562
-                    }
563
-                }
553
+				if( ($husb = $sfamily->getHusband()) && 
554
+					($hdate = $husb->getBirthDate()) && 
555
+					$hdate->isOK() && $mdate->isOK()) {
556
+					if (FunctionsPrint::isDateWithinChartsRange($hdate)) {
557
+						$birt_by_decade[(int) ($hdate->gregorianYear() / 10) * 10] .= $husb->getSex();
558
+					}
559
+					$hage = Date::getAge($hdate, $mdate, 0);
560
+					if ($hage >= 0 && $hage <= $max_age) {
561
+						$marr_by_age[$hage] .= $husb->getSex();
562
+					}
563
+				}
564 564
                 
565
-                if(($wife = $sfamily->getWife()) &&
566
-                    ($wdate=$wife->getBirthDate()) &&
567
-                    $wdate->isOK() && $mdate->isOK()) {
568
-                    if (FunctionsPrint::isDateWithinChartsRange($wdate)) {
569
-                        $birt_by_decade[(int) ($wdate->gregorianYear() / 10) * 10] .= $wife->getSex();
570
-                    }
571
-                    $wage = Date::getAge($wdate, $mdate, 0);
572
-                    if ($wage >= 0 && $wage <= $max_age) {
573
-                        $marr_by_age[$wage] .= $wife->getSex();
574
-                    }
575
-                }                
565
+				if(($wife = $sfamily->getWife()) &&
566
+					($wdate=$wife->getBirthDate()) &&
567
+					$wdate->isOK() && $mdate->isOK()) {
568
+					if (FunctionsPrint::isDateWithinChartsRange($wdate)) {
569
+						$birt_by_decade[(int) ($wdate->gregorianYear() / 10) * 10] .= $wife->getSex();
570
+					}
571
+					$wage = Date::getAge($wdate, $mdate, 0);
572
+					if ($wage >= 0 && $wage <= $max_age) {
573
+						$marr_by_age[$wage] .= $wife->getSex();
574
+					}
575
+				}                
576 576
 
577
-                if ($mdate->isOK() && FunctionsPrint::isDateWithinChartsRange($mdate) && $husb && $wife) {
578
-                    $marr_by_decade[(int) ($mdate->gregorianYear() / 10) * 10] .= $husb->getSex() . $wife->getSex();
579
-                }
577
+				if ($mdate->isOK() && FunctionsPrint::isDateWithinChartsRange($mdate) && $husb && $wife) {
578
+					$marr_by_decade[(int) ($mdate->gregorianYear() / 10) * 10] .= $husb->getSex() . $wife->getSex();
579
+				}
580 580
                 
581
-                $listFamSosa[$sosa] = $sfamily;
582
-            }
583
-            $this->view_bag->set('sosa_list', $listFamSosa);
581
+				$listFamSosa[$sosa] = $sfamily;
582
+			}
583
+			$this->view_bag->set('sosa_list', $listFamSosa);
584 584
         
585
-            $this->view_bag->set('chart_births', FunctionsPrintLists::chartByDecade($birt_by_decade, I18N::translate('Decade of birth')));
586
-            $this->view_bag->set('chart_marriages', FunctionsPrintLists::chartByDecade($marr_by_decade, I18N::translate('Decade of marriage')));
587
-            $this->view_bag->set('chart_ages', FunctionsPrintLists::chartByAge($marr_by_age, I18N::translate('Age in year of marriage')));
588
-        }
585
+			$this->view_bag->set('chart_births', FunctionsPrintLists::chartByDecade($birt_by_decade, I18N::translate('Decade of birth')));
586
+			$this->view_bag->set('chart_marriages', FunctionsPrintLists::chartByDecade($marr_by_decade, I18N::translate('Decade of marriage')));
587
+			$this->view_bag->set('chart_ages', FunctionsPrintLists::chartByAge($marr_by_age, I18N::translate('Age in year of marriage')));
588
+		}
589 589
         
590
-        ViewFactory::make('SosaListFam', $this, $controller, $this->view_bag)->render();
591
-    }
590
+		ViewFactory::make('SosaListFam', $this, $controller, $this->view_bag)->render();
591
+	}
592 592
     
593 593
 }
594 594
\ No newline at end of file
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/Sosa/SosaStatsController.php 1 patch
Indentation   +179 added lines, -179 removed lines patch added patch discarded remove patch
@@ -26,215 +26,215 @@
 block discarded – undo
26 26
  */
27 27
 class SosaStatsController extends MvcController
28 28
 {
29
-    /**
30
-     * Sosa Provider for the controller
31
-     * @var SosaProvider $sosa_provider
32
-     */
33
-    protected $sosa_provider;
29
+	/**
30
+	 * Sosa Provider for the controller
31
+	 * @var SosaProvider $sosa_provider
32
+	 */
33
+	protected $sosa_provider;
34 34
     
35
-    /**
36
-     * Constructor for SosaStatsController
37
-     * @param AbstractModule $module
38
-     */
39
-    public function __construct(AbstractModule $module) {
40
-        parent::__construct($module);
35
+	/**
36
+	 * Constructor for SosaStatsController
37
+	 * @param AbstractModule $module
38
+	 */
39
+	public function __construct(AbstractModule $module) {
40
+		parent::__construct($module);
41 41
         
42
-        $this->sosa_provider = new SosaProvider(Globals::getTree(), Auth::user());
43
-    }
42
+		$this->sosa_provider = new SosaProvider(Globals::getTree(), Auth::user());
43
+	}
44 44
     
45
-    /**
46
-     * Pages
47
-     */
45
+	/**
46
+	 * Pages
47
+	 */
48 48
     
49
-    /**
50
-     * SosaStats@index
51
-     */
52
-    public function index() {
53
-        $wt_tree = Globals::getTree();
54
-        $controller = new PageController();
55
-        $controller
56
-            ->setPageTitle(I18N::translate('Sosa Statistics'))
57
-            ->addInlineJavascript('$(".help_tooltip").tooltip();')
58
-        ;
49
+	/**
50
+	 * SosaStats@index
51
+	 */
52
+	public function index() {
53
+		$wt_tree = Globals::getTree();
54
+		$controller = new PageController();
55
+		$controller
56
+			->setPageTitle(I18N::translate('Sosa Statistics'))
57
+			->addInlineJavascript('$(".help_tooltip").tooltip();')
58
+		;
59 59
 
60
-        $view_bag = new ViewBag();
61
-        $view_bag->set('title', $controller->getPageTitle());
62
-        $view_bag->set('is_setup', false);
60
+		$view_bag = new ViewBag();
61
+		$view_bag->set('title', $controller->getPageTitle());
62
+		$view_bag->set('is_setup', false);
63 63
         
64
-        if($this->sosa_provider->isSetup()) {
65
-            $view_bag->set('is_setup', true);
64
+		if($this->sosa_provider->isSetup()) {
65
+			$view_bag->set('is_setup', true);
66 66
             
67
-            $view_bag->set('root_indi', $this->sosa_provider->getRootIndi());
67
+			$view_bag->set('root_indi', $this->sosa_provider->getRootIndi());
68 68
             
69
-            $sosaCount = $this->sosa_provider->getSosaCount();
70
-            $diffSosaCount = $this->sosa_provider->getDifferentSosaCount();
69
+			$sosaCount = $this->sosa_provider->getSosaCount();
70
+			$diffSosaCount = $this->sosa_provider->getDifferentSosaCount();
71 71
             
72
-            $general_stats = array(
73
-                'sosa_count' => $sosaCount,
74
-                'distinct_count' => $diffSosaCount,
75
-                'sosa_rate' => Functions::safeDivision($diffSosaCount, $this->sosa_provider->getTotalIndividuals()),
76
-                'pedi_collapse' => 1 - Functions::safeDivision($diffSosaCount, $sosaCount),
77
-                'mean_gen_time' => $this->sosa_provider->getMeanGenerationTime()
78
-            );
79
-            $view_bag->set('general_stats', $general_stats);
72
+			$general_stats = array(
73
+				'sosa_count' => $sosaCount,
74
+				'distinct_count' => $diffSosaCount,
75
+				'sosa_rate' => Functions::safeDivision($diffSosaCount, $this->sosa_provider->getTotalIndividuals()),
76
+				'pedi_collapse' => 1 - Functions::safeDivision($diffSosaCount, $sosaCount),
77
+				'mean_gen_time' => $this->sosa_provider->getMeanGenerationTime()
78
+			);
79
+			$view_bag->set('general_stats', $general_stats);
80 80
             
81
-            $stats_gen = $this->sosa_provider->getStatisticsByGeneration();
82
-            $view_bag->set('missinganc_url', 'module.php?mod='.$this->module->getName().'&mod_action=SosaList@missing&ged='.$wt_tree->getNameUrl().'&gen=');
83
-            $view_bag->set('sosaanc_url', 'module.php?mod='.$this->module->getName().'&mod_action=SosaList&ged='.$wt_tree->getNameUrl().'&gen=');
81
+			$stats_gen = $this->sosa_provider->getStatisticsByGeneration();
82
+			$view_bag->set('missinganc_url', 'module.php?mod='.$this->module->getName().'&mod_action=SosaList@missing&ged='.$wt_tree->getNameUrl().'&gen=');
83
+			$view_bag->set('sosaanc_url', 'module.php?mod='.$this->module->getName().'&mod_action=SosaList&ged='.$wt_tree->getNameUrl().'&gen=');
84 84
             
85
-            $gen_theoretical=1;
86
-            $total_theoretical=0;
87
-            $prev_diff=0;
88
-            $prev_known=0.5;
89
-            $gen_equiv=0;            
90
-            $generation_stats = array();
85
+			$gen_theoretical=1;
86
+			$total_theoretical=0;
87
+			$prev_diff=0;
88
+			$prev_known=0.5;
89
+			$gen_equiv=0;            
90
+			$generation_stats = array();
91 91
             
92
-            foreach($stats_gen as $gen => $tab){
93
-                $genY1= I18N::translate('-');
94
-                $genY2= I18N::translate('-');
95
-                if($tab['firstBirth']>0) $genY1=$tab['firstBirth'];
96
-                if($tab['lastBirth']>0) $genY2=$tab['lastBirth'];
97
-                $total_theoretical += $gen_theoretical;
98
-                $perc_sosa_count_theor = Functions::safeDivision($tab['sosaCount'], $gen_theoretical);
99
-                $gen_equiv += $perc_sosa_count_theor;
100
-                $missing=2*$prev_known - $tab['sosaCount'];
101
-                $gen_diff=$tab['diffSosaTotalCount']-$prev_diff;
92
+			foreach($stats_gen as $gen => $tab){
93
+				$genY1= I18N::translate('-');
94
+				$genY2= I18N::translate('-');
95
+				if($tab['firstBirth']>0) $genY1=$tab['firstBirth'];
96
+				if($tab['lastBirth']>0) $genY2=$tab['lastBirth'];
97
+				$total_theoretical += $gen_theoretical;
98
+				$perc_sosa_count_theor = Functions::safeDivision($tab['sosaCount'], $gen_theoretical);
99
+				$gen_equiv += $perc_sosa_count_theor;
100
+				$missing=2*$prev_known - $tab['sosaCount'];
101
+				$gen_diff=$tab['diffSosaTotalCount']-$prev_diff;
102 102
                 
103
-                $generation_stats[$gen] = array(
104
-                    'gen_min_birth' => $genY1,
105
-                    'gen_max_birth' => $genY2,
106
-                    'theoretical' => $gen_theoretical,
107
-                    'known' => $tab['sosaCount'],
108
-                    'perc_known' => $perc_sosa_count_theor,
109
-                    'missing' => $missing,
110
-                    'perc_missing' => 1-Functions::safeDivision($tab['sosaCount'], 2*$prev_known),
111
-                    'total_known' => $tab['sosaTotalCount'],
112
-                    'perc_total_known' => Functions::safeDivision($tab['sosaTotalCount'], $total_theoretical),
113
-                    'different' => $gen_diff,
114
-                    'perc_different' => Functions::safeDivision($gen_diff, $tab['sosaCount']),
115
-                    'total_different' => $tab['diffSosaTotalCount'],
116
-                    'pedi_collapse' => 1 - Functions::safeDivision($tab['diffSosaTotalCount'], $tab['sosaTotalCount'])
117
-                );
103
+				$generation_stats[$gen] = array(
104
+					'gen_min_birth' => $genY1,
105
+					'gen_max_birth' => $genY2,
106
+					'theoretical' => $gen_theoretical,
107
+					'known' => $tab['sosaCount'],
108
+					'perc_known' => $perc_sosa_count_theor,
109
+					'missing' => $missing,
110
+					'perc_missing' => 1-Functions::safeDivision($tab['sosaCount'], 2*$prev_known),
111
+					'total_known' => $tab['sosaTotalCount'],
112
+					'perc_total_known' => Functions::safeDivision($tab['sosaTotalCount'], $total_theoretical),
113
+					'different' => $gen_diff,
114
+					'perc_different' => Functions::safeDivision($gen_diff, $tab['sosaCount']),
115
+					'total_different' => $tab['diffSosaTotalCount'],
116
+					'pedi_collapse' => 1 - Functions::safeDivision($tab['diffSosaTotalCount'], $tab['sosaTotalCount'])
117
+				);
118 118
                 
119
-                $gen_theoretical = $gen_theoretical * 2;
120
-                $prev_known=$tab['sosaCount'];
121
-                $prev_diff=$tab['diffSosaTotalCount'];
122
-            }
119
+				$gen_theoretical = $gen_theoretical * 2;
120
+				$prev_known=$tab['sosaCount'];
121
+				$prev_diff=$tab['diffSosaTotalCount'];
122
+			}
123 123
             
124
-            $view_bag->set('generation_stats', $generation_stats);
125
-            $view_bag->set('equivalent_gen', $gen_equiv);
124
+			$view_bag->set('generation_stats', $generation_stats);
125
+			$view_bag->set('equivalent_gen', $gen_equiv);
126 126
                         
127
-            $view_bag->set('chart_img_g2', $this->htmlAncestorDispersionG2());
128
-            $view_bag->set('chart_img_g3', $this->htmlAncestorDispersionG3());
127
+			$view_bag->set('chart_img_g2', $this->htmlAncestorDispersionG2());
128
+			$view_bag->set('chart_img_g3', $this->htmlAncestorDispersionG3());
129 129
             
130
-        }
130
+		}
131 131
         
132
-        ViewFactory::make('SosaStats', $this, $controller, $view_bag)->render();   
133
-    }
132
+		ViewFactory::make('SosaStats', $this, $controller, $view_bag)->render();   
133
+	}
134 134
     
135
-    /**
136
-     * Returns HTML code for a graph showing the dispersion of ancestors across father & mother
137
-     * @return string HTML code
138
-     */
139
-     private function htmlAncestorDispersionG2()
140
-    {
141
-        $ancestorsDispGen2 = $this->sosa_provider->getAncestorDispersionForGen(2);
142
-        if(count($ancestorsDispGen2) == 0) return;
135
+	/**
136
+	 * Returns HTML code for a graph showing the dispersion of ancestors across father & mother
137
+	 * @return string HTML code
138
+	 */
139
+	 private function htmlAncestorDispersionG2()
140
+	{
141
+		$ancestorsDispGen2 = $this->sosa_provider->getAncestorDispersionForGen(2);
142
+		if(count($ancestorsDispGen2) == 0) return;
143 143
         
144
-        $size = '600x300';
144
+		$size = '600x300';
145 145
         
146
-        $total = array_sum($ancestorsDispGen2);
147
-        $father_count = array_key_exists(1, $ancestorsDispGen2) ? $ancestorsDispGen2[1] : 0;
148
-        $father = array (
149
-            'color' => '84beff', 
150
-            'count' => $father_count, 
151
-            'perc' => Functions::safeDivision($father_count, $total), 
152
-            'name' => \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('fat')            
153
-        );
154
-        $mother_count = array_key_exists(2, $ancestorsDispGen2) ? $ancestorsDispGen2[2] : 0;
155
-        $mother = array (
156
-            'color' => 'ffd1dc', 
157
-            'count' => $mother_count, 
158
-            'perc' => Functions::safeDivision($mother_count, $total),
159
-            'name' => \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('mot')
160
-        );
161
-        $shared_count = array_key_exists(-1, $ancestorsDispGen2) ? $ancestorsDispGen2[-1] : 0;
162
-        $shared = array (
163
-            'color' => '777777', 
164
-            'count' => $shared_count, 
165
-            'perc' => Functions::safeDivision($shared_count, $total),
166
-            'name' => I18N::translate('Shared')
167
-        );
146
+		$total = array_sum($ancestorsDispGen2);
147
+		$father_count = array_key_exists(1, $ancestorsDispGen2) ? $ancestorsDispGen2[1] : 0;
148
+		$father = array (
149
+			'color' => '84beff', 
150
+			'count' => $father_count, 
151
+			'perc' => Functions::safeDivision($father_count, $total), 
152
+			'name' => \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('fat')            
153
+		);
154
+		$mother_count = array_key_exists(2, $ancestorsDispGen2) ? $ancestorsDispGen2[2] : 0;
155
+		$mother = array (
156
+			'color' => 'ffd1dc', 
157
+			'count' => $mother_count, 
158
+			'perc' => Functions::safeDivision($mother_count, $total),
159
+			'name' => \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('mot')
160
+		);
161
+		$shared_count = array_key_exists(-1, $ancestorsDispGen2) ? $ancestorsDispGen2[-1] : 0;
162
+		$shared = array (
163
+			'color' => '777777', 
164
+			'count' => $shared_count, 
165
+			'perc' => Functions::safeDivision($shared_count, $total),
166
+			'name' => I18N::translate('Shared')
167
+		);
168 168
         
169
-        $chd = $this->arrayToExtendedEncoding(array(4095 * $father['perc'], 4095 * $shared['perc'], 4095 * $mother['perc']));
170
-        $chart_title = I18N::translate('Known Sosa ancestors\' dispersion');
171
-        $chl = 
172
-             $father['name'] . ' - ' . I18N::percentage($father['perc'], 1) . '|' .
173
-             $shared['name'] . ' - ' . I18N::percentage($shared['perc'], 1) . '|' .
174
-             $mother['name'] . ' - ' . I18N::percentage($mother['perc'], 1);
175
-        return "<img src=\"https://chart.googleapis.com/chart?cht=p&chp=1.5708&amp;chd=e:{$chd}&amp;chs={$size}&amp;chco={$father['color']},{$shared['color']},{$mother['color']}&amp;chf=bg,s,ffffff00&amp;chl={$chl}\" alt=\"" . $chart_title . "\" title=\"" . $chart_title . "\" />";
176
-    }
169
+		$chd = $this->arrayToExtendedEncoding(array(4095 * $father['perc'], 4095 * $shared['perc'], 4095 * $mother['perc']));
170
+		$chart_title = I18N::translate('Known Sosa ancestors\' dispersion');
171
+		$chl = 
172
+			 $father['name'] . ' - ' . I18N::percentage($father['perc'], 1) . '|' .
173
+			 $shared['name'] . ' - ' . I18N::percentage($shared['perc'], 1) . '|' .
174
+			 $mother['name'] . ' - ' . I18N::percentage($mother['perc'], 1);
175
+		return "<img src=\"https://chart.googleapis.com/chart?cht=p&chp=1.5708&amp;chd=e:{$chd}&amp;chs={$size}&amp;chco={$father['color']},{$shared['color']},{$mother['color']}&amp;chf=bg,s,ffffff00&amp;chl={$chl}\" alt=\"" . $chart_title . "\" title=\"" . $chart_title . "\" />";
176
+	}
177 177
     
178
-    /**
179
-     * Returns HTML code for a graph showing the dispersion of ancestors across grand-parents
180
-     * @return string HTML code
181
-     */
182
-    private function htmlAncestorDispersionG3()
183
-    {
184
-        $ancestorsDispGen2 = $this->sosa_provider->getAncestorDispersionForGen(3);
178
+	/**
179
+	 * Returns HTML code for a graph showing the dispersion of ancestors across grand-parents
180
+	 * @return string HTML code
181
+	 */
182
+	private function htmlAncestorDispersionG3()
183
+	{
184
+		$ancestorsDispGen2 = $this->sosa_provider->getAncestorDispersionForGen(3);
185 185
         
186
-        $size = '700x300';
186
+		$size = '700x300';
187 187
         
188
-        $color_motmot = 'ffd1dc';
189
-        $color_motfat = 'b998a0';
190
-        $color_fatfat = '577292';
191
-        $color_fatmot = '84beff';
192
-        $color_shared = '777777';
188
+		$color_motmot = 'ffd1dc';
189
+		$color_motfat = 'b998a0';
190
+		$color_fatfat = '577292';
191
+		$color_fatmot = '84beff';
192
+		$color_shared = '777777';
193 193
     
194
-        $total_fatfat = array_key_exists(1, $ancestorsDispGen2) ? $ancestorsDispGen2[1] : 0;
195
-        $total_fatmot = array_key_exists(2, $ancestorsDispGen2) ? $ancestorsDispGen2[2] : 0;
196
-        $total_motfat = array_key_exists(4, $ancestorsDispGen2) ? $ancestorsDispGen2[4] : 0;
197
-        $total_motmot = array_key_exists(8, $ancestorsDispGen2) ? $ancestorsDispGen2[8] : 0;
198
-        $total_sha = array_key_exists(-1, $ancestorsDispGen2) ? $ancestorsDispGen2[-1] : 0;
199
-        $total = $total_fatfat + $total_fatmot + $total_motfat+ $total_motmot + $total_sha;
194
+		$total_fatfat = array_key_exists(1, $ancestorsDispGen2) ? $ancestorsDispGen2[1] : 0;
195
+		$total_fatmot = array_key_exists(2, $ancestorsDispGen2) ? $ancestorsDispGen2[2] : 0;
196
+		$total_motfat = array_key_exists(4, $ancestorsDispGen2) ? $ancestorsDispGen2[4] : 0;
197
+		$total_motmot = array_key_exists(8, $ancestorsDispGen2) ? $ancestorsDispGen2[8] : 0;
198
+		$total_sha = array_key_exists(-1, $ancestorsDispGen2) ? $ancestorsDispGen2[-1] : 0;
199
+		$total = $total_fatfat + $total_fatmot + $total_motfat+ $total_motmot + $total_sha;
200 200
     
201
-        $chd = $this->arrayToExtendedEncoding(array(
202
-	    4095 * Functions::safeDivision($total_fatfat, $total), 
203
-            4095 * Functions::safeDivision($total_fatmot, $total),
204
-            4095 * Functions::safeDivision($total_sha, $total), 
205
-            4095 * Functions::safeDivision($total_motfat, $total),
206
-            4095 * Functions::safeDivision($total_motmot, $total)          
207
-        ));
208
-        $chart_title = I18N::translate('Known Sosa ancestors\' dispersion - G3');
209
-        $chl =
210
-            \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('fatfat') . ' - ' . I18N::percentage(Functions::safeDivision($total_fatfat, $total), 1) . '|' .
211
-            \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('fatmot') . ' - ' . I18N::percentage(Functions::safeDivision($total_fatmot, $total), 1) . '|' .
212
-            I18N::translate('Shared') . ' - ' . I18N::percentage(Functions::safeDivision($total_sha, $total), 1) . '|' .
213
-            \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('motfat') . ' - ' . I18N::percentage(Functions::safeDivision($total_motfat, $total), 1) . '|' .
214
-            \Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('motmot') . ' - ' . I18N::percentage(Functions::safeDivision($total_motmot, $total), 1);
215
-         return "<img src=\"https://chart.googleapis.com/chart?cht=p&chp=1.5708&amp;chd=e:{$chd}&amp;chs={$size}&amp;chco={$color_fatfat},{$color_fatmot},{$color_shared},{$color_motfat},{$color_motmot}&amp;chf=bg,s,ffffff00&amp;chl={$chl}\" alt=\"" . $chart_title . "\" title=\"" . $chart_title . "\" />";
216
-    }
201
+		$chd = $this->arrayToExtendedEncoding(array(
202
+		4095 * Functions::safeDivision($total_fatfat, $total), 
203
+			4095 * Functions::safeDivision($total_fatmot, $total),
204
+			4095 * Functions::safeDivision($total_sha, $total), 
205
+			4095 * Functions::safeDivision($total_motfat, $total),
206
+			4095 * Functions::safeDivision($total_motmot, $total)          
207
+		));
208
+		$chart_title = I18N::translate('Known Sosa ancestors\' dispersion - G3');
209
+		$chl =
210
+			\Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('fatfat') . ' - ' . I18N::percentage(Functions::safeDivision($total_fatfat, $total), 1) . '|' .
211
+			\Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('fatmot') . ' - ' . I18N::percentage(Functions::safeDivision($total_fatmot, $total), 1) . '|' .
212
+			I18N::translate('Shared') . ' - ' . I18N::percentage(Functions::safeDivision($total_sha, $total), 1) . '|' .
213
+			\Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('motfat') . ' - ' . I18N::percentage(Functions::safeDivision($total_motfat, $total), 1) . '|' .
214
+			\Fisharebest\Webtrees\Functions\Functions::getRelationshipNameFromPath('motmot') . ' - ' . I18N::percentage(Functions::safeDivision($total_motmot, $total), 1);
215
+		 return "<img src=\"https://chart.googleapis.com/chart?cht=p&chp=1.5708&amp;chd=e:{$chd}&amp;chs={$size}&amp;chco={$color_fatfat},{$color_fatmot},{$color_shared},{$color_motfat},{$color_motmot}&amp;chf=bg,s,ffffff00&amp;chl={$chl}\" alt=\"" . $chart_title . "\" title=\"" . $chart_title . "\" />";
216
+	}
217 217
 
218
-    /**
219
-     * Convert an array to Google Chart encoding
220
-     * @param arrat $a Array to encode
221
-     * @return string
222
-     */
223
-    private function arrayToExtendedEncoding($a) {
224
-        $xencoding = WT_GOOGLE_CHART_ENCODING;
218
+	/**
219
+	 * Convert an array to Google Chart encoding
220
+	 * @param arrat $a Array to encode
221
+	 * @return string
222
+	 */
223
+	private function arrayToExtendedEncoding($a) {
224
+		$xencoding = WT_GOOGLE_CHART_ENCODING;
225 225
     
226
-        $encoding = '';
227
-        foreach ($a as $value) {
228
-            if ($value < 0) {
229
-                $value = 0;
230
-            }
231
-            $first  = (int) ($value / 64);
232
-            $second = $value % 64;
233
-            $encoding .= $xencoding[(int) $first] . $xencoding[(int) $second];
234
-        }
226
+		$encoding = '';
227
+		foreach ($a as $value) {
228
+			if ($value < 0) {
229
+				$value = 0;
230
+			}
231
+			$first  = (int) ($value / 64);
232
+			$second = $value % 64;
233
+			$encoding .= $xencoding[(int) $first] . $xencoding[(int) $second];
234
+		}
235 235
     
236
-        return $encoding;
237
-    }
236
+		return $encoding;
237
+	}
238 238
     
239 239
     
240 240
 }
241 241
\ 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.
src/Webtrees/Module/Hooks/AdminConfigController.php 1 patch
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -30,87 +30,87 @@  discard block
 block discarded – undo
30 30
  */
31 31
 class AdminConfigController extends MvcController
32 32
 {
33
-    /**
34
-     * Manage updates sent from the AdminConfig@index form.
35
-     */
36
-    protected function update() {
37
-        if(Auth::isAdmin()){
38
-            $ihooks = HookProvider::getInstance()->getInstalledHooks();
33
+	/**
34
+	 * Manage updates sent from the AdminConfig@index form.
35
+	 */
36
+	protected function update() {
37
+		if(Auth::isAdmin()){
38
+			$ihooks = HookProvider::getInstance()->getInstalledHooks();
39 39
             	
40
-            $module_names= Database::prepare(
41
-                "SELECT module_name FROM `##module` WHERE status='disabled'"
42
-            )->fetchOneColumn();
40
+			$module_names= Database::prepare(
41
+				"SELECT module_name FROM `##module` WHERE status='disabled'"
42
+			)->fetchOneColumn();
43 43
             	
44
-            if($ihooks !== null){
45
-                foreach ($ihooks as $ihook => $params) {
46
-                    if(Filter::post('hook-' . $params['id']) === 'yes') {                    
47
-                        $array_hook = explode('#', $ihook);
48
-                        //Update status
49
-                        $new_status= Filter::postBool('status-' . $params['id']);
50
-                        if(in_array($array_hook[0], $module_names)) $new_status = false;
51
-                        $previous_status = $params['status'];
52
-                        if ($new_status !== null) {
53
-                            $new_status= $new_status ? 'enabled' : 'disabled';
54
-                            if($new_status != $previous_status){
55
-                                $chook = new Hook($array_hook[1], $array_hook[2]);
56
-                                switch($new_status){
57
-                                    case 'enabled':
58
-                                        $chook->enable($array_hook[0]);
59
-                                        break;
60
-                                    case 'disabled':
61
-                                        $chook->disable($array_hook[0]);
62
-                                        break;
63
-                                    default:
64
-                                        break;
65
-                                }
66
-                            }
67
-                        }
44
+			if($ihooks !== null){
45
+				foreach ($ihooks as $ihook => $params) {
46
+					if(Filter::post('hook-' . $params['id']) === 'yes') {                    
47
+						$array_hook = explode('#', $ihook);
48
+						//Update status
49
+						$new_status= Filter::postBool('status-' . $params['id']);
50
+						if(in_array($array_hook[0], $module_names)) $new_status = false;
51
+						$previous_status = $params['status'];
52
+						if ($new_status !== null) {
53
+							$new_status= $new_status ? 'enabled' : 'disabled';
54
+							if($new_status != $previous_status){
55
+								$chook = new Hook($array_hook[1], $array_hook[2]);
56
+								switch($new_status){
57
+									case 'enabled':
58
+										$chook->enable($array_hook[0]);
59
+										break;
60
+									case 'disabled':
61
+										$chook->disable($array_hook[0]);
62
+										break;
63
+									default:
64
+										break;
65
+								}
66
+							}
67
+						}
68 68
                         
69
-                        //Update priority
70
-                        $new_priority = Filter::postInteger("moduleorder-{$params['id']}");
71
-                        $previous_priority = $params['priority'];
72
-                        if ($new_priority !== null) {
73
-                            if($new_priority != $previous_priority){
74
-                                $chook = new Hook($array_hook[1], $array_hook[2]);
75
-                                $chook->setPriority($array_hook[0], $new_priority);
76
-                            }
77
-                        }
78
-                    }
79
-                }
80
-            }
81
-        }
82
-    }
69
+						//Update priority
70
+						$new_priority = Filter::postInteger("moduleorder-{$params['id']}");
71
+						$previous_priority = $params['priority'];
72
+						if ($new_priority !== null) {
73
+							if($new_priority != $previous_priority){
74
+								$chook = new Hook($array_hook[1], $array_hook[2]);
75
+								$chook->setPriority($array_hook[0], $new_priority);
76
+							}
77
+						}
78
+					}
79
+				}
80
+			}
81
+		}
82
+	}
83 83
     
84
-    /**
85
-     * Pages
86
-     */
84
+	/**
85
+	 * Pages
86
+	 */
87 87
         
88
-    /**
89
-     * AdminConfig@index
90
-     */
91
-    public function index() {            
92
-        HookProvider::getInstance()->updateHooks();
88
+	/**
89
+	 * AdminConfig@index
90
+	 */
91
+	public function index() {            
92
+		HookProvider::getInstance()->updateHooks();
93 93
         
94
-        $action = Filter::post('action');        
95
-        if($action == 'update' && Filter::checkCsrf()) $this->update();
94
+		$action = Filter::post('action');        
95
+		if($action == 'update' && Filter::checkCsrf()) $this->update();
96 96
         
97
-        Theme::theme(new AdministrationTheme)->init(Globals::getTree());        
98
-        $ctrl = new PageController();
99
-        $ctrl
100
-            ->restrictAccess(Auth::isAdmin())
101
-            ->setPageTitle($this->module->getTitle());
97
+		Theme::theme(new AdministrationTheme)->init(Globals::getTree());        
98
+		$ctrl = new PageController();
99
+		$ctrl
100
+			->restrictAccess(Auth::isAdmin())
101
+			->setPageTitle($this->module->getTitle());
102 102
         
103
-        $table_id = 'table-installedhooks-' . Uuid::uuid4();
103
+		$table_id = 'table-installedhooks-' . Uuid::uuid4();
104 104
 
105
-        $view_bag = new ViewBag();
106
-        $view_bag->set('title', $ctrl->getPageTitle());
107
-        $view_bag->set('table_id', $table_id);
108
-        $view_bag->set('hook_list', HookProvider::getInstance()->getRawInstalledHooks());
105
+		$view_bag = new ViewBag();
106
+		$view_bag->set('title', $ctrl->getPageTitle());
107
+		$view_bag->set('table_id', $table_id);
108
+		$view_bag->set('hook_list', HookProvider::getInstance()->getRawInstalledHooks());
109 109
         
110
-        $ctrl
111
-        ->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
112
-        ->addExternalJavascript(WT_DATATABLES_BOOTSTRAP_JS_URL)
113
-        ->addInlineJavascript('
110
+		$ctrl
111
+		->addExternalJavascript(WT_JQUERY_DATATABLES_JS_URL)
112
+		->addExternalJavascript(WT_DATATABLES_BOOTSTRAP_JS_URL)
113
+		->addInlineJavascript('
114 114
 		  	jQuery(document).ready(function() {
115 115
 				jQuery("#'.$table_id.'").dataTable( {
116 116
 					'.I18N::datatablesI18N().',		
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
 			});
131 131
 		');
132 132
         
133
-        ViewFactory::make('AdminConfig', $this, $ctrl, $view_bag)->render();
134
-    }
133
+		ViewFactory::make('AdminConfig', $this, $ctrl, $view_bag)->render();
134
+	}
135 135
         
136 136
 }
137 137
\ No newline at end of file
Please login to merge, or discard this patch.
src/Webtrees/Module/MiscExtensionsModule.php 1 patch
Indentation   +72 added lines, -72 removed lines patch added patch discarded remove patch
@@ -32,49 +32,49 @@  discard block
 block discarded – undo
32 32
 class MiscExtensionsModule extends AbstractModule 
33 33
 implements HookSubscriberInterface, IndividualHeaderExtenderInterface, PageHeaderExtenderInterface, PageFooterExtenderInterface, ModuleConfigInterface
34 34
 {    
35
-    /** @var string For custom modules - link for support, upgrades, etc. */
36
-    const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
35
+	/** @var string For custom modules - link for support, upgrades, etc. */
36
+	const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
37 37
     
38
-    /**
39
-     * {@inheritDoc}
40
-     * @see \Fisharebest\Webtrees\Module\AbstractModule::getTitle()
41
-     */
42
-    public function getTitle() {
43
-        return I18N::translate('Miscellaneous extensions');
44
-    }
38
+	/**
39
+	 * {@inheritDoc}
40
+	 * @see \Fisharebest\Webtrees\Module\AbstractModule::getTitle()
41
+	 */
42
+	public function getTitle() {
43
+		return I18N::translate('Miscellaneous extensions');
44
+	}
45 45
     
46 46
    /**
47 47
     * {@inheritDoc}
48 48
     * @see \Fisharebest\Webtrees\Module\AbstractModule::getDescription()
49 49
     */
50
-    public function getDescription() {
51
-        return I18N::translate('Miscellaneous extensions for <strong>webtrees</strong>.');
52
-    }
50
+	public function getDescription() {
51
+		return I18N::translate('Miscellaneous extensions for <strong>webtrees</strong>.');
52
+	}
53 53
     
54
-    /**
55
-     * {@inhericDoc}
56
-     */
57
-    public function modAction($mod_action) {
58
-        \MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
59
-    }
54
+	/**
55
+	 * {@inhericDoc}
56
+	 */
57
+	public function modAction($mod_action) {
58
+		\MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
59
+	}
60 60
     
61
-    /**
62
-     * {@inhericDoc}
63
-     * @see \Fisharebest\Webtrees\Module\ModuleConfigInterface::getConfigLink()
64
-     */
65
-    public function getConfigLink() {
66
-        return 'module.php?mod=' . $this->getName() . '&amp;mod_action=AdminConfig';
67
-    }
61
+	/**
62
+	 * {@inhericDoc}
63
+	 * @see \Fisharebest\Webtrees\Module\ModuleConfigInterface::getConfigLink()
64
+	 */
65
+	public function getConfigLink() {
66
+		return 'module.php?mod=' . $this->getName() . '&amp;mod_action=AdminConfig';
67
+	}
68 68
     
69
-    /**
70
-     * {@inheritDoc}
71
-     * @see \MyArtJaub\Webtrees\Hook\HookSubscriberInterface::getSubscribedHooks()
72
-     */
69
+	/**
70
+	 * {@inheritDoc}
71
+	 * @see \MyArtJaub\Webtrees\Hook\HookSubscriberInterface::getSubscribedHooks()
72
+	 */
73 73
 	public function getSubscribedHooks() {
74 74
 		return array(
75
-		    'hExtendIndiHeaderLeft' => 20,
76
-		    'hPrintHeader' => 20,
77
-		    'hPrintFooter' => 20
75
+			'hExtendIndiHeaderLeft' => 20,
76
+			'hPrintHeader' => 20,
77
+			'hPrintFooter' => 20
78 78
 		);
79 79
 	}
80 80
 	
@@ -89,22 +89,22 @@  discard block
 block discarded – undo
89 89
 	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\IndividualHeaderExtenderInterface::hExtendIndiHeaderLeft()
90 90
 	 */
91 91
 	public function hExtendIndiHeaderLeft(IndividualController $ctrlIndi) { 
92
-	    $res = '';
93
-	    $dindi = new Individual($ctrlIndi->getSignificantIndividual());
94
-	    $titles = $dindi->getTitles();
95
-	    if(count($titles)>0){
96
-	        $res = '
92
+		$res = '';
93
+		$dindi = new Individual($ctrlIndi->getSignificantIndividual());
94
+		$titles = $dindi->getTitles();
95
+		if(count($titles)>0){
96
+			$res = '
97 97
 	            <dl>
98 98
 	               <dt class="label">'.I18N::translate('Titles').'</dt>';
99
-            foreach($titles as $title=>$props){
100
-                $res .= 
101
-                    '<dd class="field">' . $title. ' ' .
102
-                    FunctionsPrint::getListFromArray($props) .
103
-                    '</dd>';
104
-            }
105
-            $res .=  '</dl>';
106
-        }
107
-	    return array( 'indi-header-titles' , $res);	    
99
+			foreach($titles as $title=>$props){
100
+				$res .= 
101
+					'<dd class="field">' . $title. ' ' .
102
+					FunctionsPrint::getListFromArray($props) .
103
+					'</dd>';
104
+			}
105
+			$res .=  '</dl>';
106
+		}
107
+		return array( 'indi-header-titles' , $res);	    
108 108
 	}
109 109
 	
110 110
 	/**
@@ -118,13 +118,13 @@  discard block
 block discarded – undo
118 118
 	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\PageHeaderExtenderInterface::hPrintHeader()
119 119
 	 */
120 120
 	public function hPrintHeader() {
121
-	    $html = '';
122
-	    if($this->getSetting('MAJ_ADD_HTML_HEADER', 0) == 1){
123
-	        if(Auth::accessLevel(Globals::getTree()) >= $this->getSetting('MAJ_SHOW_HTML_HEADER', Auth::PRIV_HIDE)  && !Filter::getBool('noheader')){
124
-	            $html .= $this->getSetting('MAJ_HTML_HEADER', '');
125
-	        }
126
-	    }	
127
-	    return $html;
121
+		$html = '';
122
+		if($this->getSetting('MAJ_ADD_HTML_HEADER', 0) == 1){
123
+			if(Auth::accessLevel(Globals::getTree()) >= $this->getSetting('MAJ_SHOW_HTML_HEADER', Auth::PRIV_HIDE)  && !Filter::getBool('noheader')){
124
+				$html .= $this->getSetting('MAJ_HTML_HEADER', '');
125
+			}
126
+		}	
127
+		return $html;
128 128
 	}
129 129
 	
130 130
 	/**
@@ -132,26 +132,26 @@  discard block
 block discarded – undo
132 132
 	 * @see \MyArtJaub\Webtrees\Hook\HookInterfaces\PageFooterExtenderInterface::hPrintFooter()
133 133
 	 */
134 134
 	public function hPrintFooter() {
135
-	    $wt_tree = Globals::getTree();
136
-	    $html = '';
137
-	    if($this->getSetting('MAJ_DISPLAY_CNIL', 0) == 1){
138
-	        $html .= '<br/>';
139
-	        $html .= '<div class="center">';
140
-	        $cnil_ref = $this->getSetting('MAJ_CNIL_REFERENCE', '');
141
-	        if($cnil_ref != ''){
142
-	            $html .= I18N::translate('This site has been notified to the French National Commission for Data protection (CNIL) and registered under number %s. ', $cnil_ref);
143
-	        }
144
-	        $html .= I18N::translate('In accordance with the French Data protection Act (<em>Loi Informatique et Libertés</em>) of January 6th, 1978, you have the right to access, modify, rectify and delete personal information that pertains to you. To exercice this right, please contact %s, and provide your name, address and a proof of your identity.',
145
-	            Theme::theme()->contactLink(User::find($wt_tree->getPreference('WEBMASTER_USER_ID'))));
146
-	        $html .= '</div>';
147
-	    }
135
+		$wt_tree = Globals::getTree();
136
+		$html = '';
137
+		if($this->getSetting('MAJ_DISPLAY_CNIL', 0) == 1){
138
+			$html .= '<br/>';
139
+			$html .= '<div class="center">';
140
+			$cnil_ref = $this->getSetting('MAJ_CNIL_REFERENCE', '');
141
+			if($cnil_ref != ''){
142
+				$html .= I18N::translate('This site has been notified to the French National Commission for Data protection (CNIL) and registered under number %s. ', $cnil_ref);
143
+			}
144
+			$html .= I18N::translate('In accordance with the French Data protection Act (<em>Loi Informatique et Libertés</em>) of January 6th, 1978, you have the right to access, modify, rectify and delete personal information that pertains to you. To exercice this right, please contact %s, and provide your name, address and a proof of your identity.',
145
+				Theme::theme()->contactLink(User::find($wt_tree->getPreference('WEBMASTER_USER_ID'))));
146
+			$html .= '</div>';
147
+		}
148 148
 	    
149
-	    if($this->getSetting('MAJ_ADD_HTML_FOOTER', 0) == 1){
150
-	        if(Auth::accessLevel($wt_tree) >= $this->getSetting('MAJ_SHOW_HTML_FOOTER', Auth::PRIV_HIDE)  && !Filter::getBool('nofooter')){
151
-	            $html .= $this->getSetting('MAJ_HTML_FOOTER', '');
152
-	        }
153
-	    }
154
-	    return $html;
149
+		if($this->getSetting('MAJ_ADD_HTML_FOOTER', 0) == 1){
150
+			if(Auth::accessLevel($wt_tree) >= $this->getSetting('MAJ_SHOW_HTML_FOOTER', Auth::PRIV_HIDE)  && !Filter::getBool('nofooter')){
151
+				$html .= $this->getSetting('MAJ_HTML_FOOTER', '');
152
+			}
153
+		}
154
+		return $html;
155 155
 	}
156 156
 	
157 157
 }
Please login to merge, or discard this patch.
src/Webtrees/Module/GeoDispersionModule.php 1 patch
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -25,86 +25,86 @@
 block discarded – undo
25 25
 class GeoDispersionModule extends AbstractModule implements ModuleConfigInterface, DependentInterface {
26 26
     
27 27
 	// How to update the database schema for this module
28
-    const SCHEMA_TARGET_VERSION   = 1;
29
-    const SCHEMA_SETTING_NAME     = 'MAJ_GEODISP_SCHEMA_VERSION';
30
-    const SCHEMA_MIGRATION_PREFIX = '\MyArtJaub\Webtrees\Module\GeoDispersion\Schema';
28
+	const SCHEMA_TARGET_VERSION   = 1;
29
+	const SCHEMA_SETTING_NAME     = 'MAJ_GEODISP_SCHEMA_VERSION';
30
+	const SCHEMA_MIGRATION_PREFIX = '\MyArtJaub\Webtrees\Module\GeoDispersion\Schema';
31 31
     
32
-    /** @var string For custom modules - link for support, upgrades, etc. */
33
-    const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
32
+	/** @var string For custom modules - link for support, upgrades, etc. */
33
+	const CUSTOM_WEBSITE = 'https://github.com/jon48/webtrees-lib';
34 34
         
35
-    /**
36
-     * GeoDispersion analysis provider
37
-     * @var \MyArtJaub\Webtrees\Module\GeoDispersion\Model\GeoAnalysisProvider $provider
38
-     */
39
-    protected $provider;
35
+	/**
36
+	 * GeoDispersion analysis provider
37
+	 * @var \MyArtJaub\Webtrees\Module\GeoDispersion\Model\GeoAnalysisProvider $provider
38
+	 */
39
+	protected $provider;
40 40
     
41
-    /**
42
-     * {@inhericDoc}
43
-     */
44
-    public function getTitle() {
45
-        return /* I18N: Name of the “Hooks” module */ I18N::translate('Geographical Dispersion');
46
-    }
41
+	/**
42
+	 * {@inhericDoc}
43
+	 */
44
+	public function getTitle() {
45
+		return /* I18N: Name of the “Hooks” module */ I18N::translate('Geographical Dispersion');
46
+	}
47 47
     
48
-    /**
49
-     * {@inhericDoc}
50
-     */
51
-    public function getDescription() {
52
-        return /* I18N: Description of the “Hooks” module */ I18N::translate('Display the geographical dispersion of the root person’s Sosa ancestors.');
53
-    }
48
+	/**
49
+	 * {@inhericDoc}
50
+	 */
51
+	public function getDescription() {
52
+		return /* I18N: Description of the “Hooks” module */ I18N::translate('Display the geographical dispersion of the root person’s Sosa ancestors.');
53
+	}
54 54
     
55
-    /**
56
-     * {@inhericDoc}
57
-     */
58
-    public function modAction($mod_action) {
59
-        Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
55
+	/**
56
+	 * {@inhericDoc}
57
+	 */
58
+	public function modAction($mod_action) {
59
+		Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
60 60
         
61
-        \MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
62
-    }
61
+		\MyArtJaub\Webtrees\Mvc\Dispatcher::getInstance()->handle($this, $mod_action);
62
+	}
63 63
     
64
-    /**
65
-     * {@inhericDoc}
66
-     * @see \Fisharebest\Webtrees\Module\ModuleConfigInterface::getConfigLink()
67
-     */
68
-    public function getConfigLink() {
69
-        Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
64
+	/**
65
+	 * {@inhericDoc}
66
+	 * @see \Fisharebest\Webtrees\Module\ModuleConfigInterface::getConfigLink()
67
+	 */
68
+	public function getConfigLink() {
69
+		Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
70 70
         
71
-        return 'module.php?mod=' . $this->getName() . '&amp;mod_action=AdminConfig';
72
-    }
71
+		return 'module.php?mod=' . $this->getName() . '&amp;mod_action=AdminConfig';
72
+	}
73 73
     
74
-    /**
75
-     * {@inhericDoc}
76
-     * @see \MyArtJaub\Webtrees\Module\DependentInterface::validatePrerequisites()
77
-     */
78
-    public function validatePrerequisites() {
79
-        try {
80
-            Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
74
+	/**
75
+	 * {@inhericDoc}
76
+	 * @see \MyArtJaub\Webtrees\Module\DependentInterface::validatePrerequisites()
77
+	 */
78
+	public function validatePrerequisites() {
79
+		try {
80
+			Database::updateSchema(self::SCHEMA_MIGRATION_PREFIX, self::SCHEMA_SETTING_NAME, self::SCHEMA_TARGET_VERSION);
81 81
             
82
-            return !is_null(Module::getModuleByName(Constants::MODULE_MAJ_SOSA_NAME));
83
-        }
84
-        catch (\Exception $ex) {  }
85
-        return false;
86
-    }
82
+			return !is_null(Module::getModuleByName(Constants::MODULE_MAJ_SOSA_NAME));
83
+		}
84
+		catch (\Exception $ex) {  }
85
+		return false;
86
+	}
87 87
     
88 88
 	/**
89 89
 	 * Get the GeoAnalysis Provider (initialise it if not done yet).
90 90
 	 *
91 91
 	 * @return \MyArtJaub\Webtrees\Module\GeoDispersion\Model\GeoAnalysisProvider
92 92
 	 */
93
-    public function getProvider() {
94
-        if(!$this->provider) {
95
-            $this->provider = new GeoAnalysisProvider(Globals::getTree());
96
-        }
97
-        return $this->provider;
98
-    }
93
+	public function getProvider() {
94
+		if(!$this->provider) {
95
+			$this->provider = new GeoAnalysisProvider(Globals::getTree());
96
+		}
97
+		return $this->provider;
98
+	}
99 99
 	
100 100
 	/**
101 101
 	 * Set the GeoAnalysis Provider.
102 102
 	 *
103 103
 	 * @return \MyArtJaub\Webtrees\Module\GeoDispersion\Model\GeoAnalysisProvider
104 104
 	 */
105
-    public function setProvider(GeoAnalysisProvider $provider) {
106
-        $this->provider = $provider;
107
-    }
105
+	public function setProvider(GeoAnalysisProvider $provider) {
106
+		$this->provider = $provider;
107
+	}
108 108
     
109 109
 
110 110
 }
Please login to merge, or discard this patch.
src/Webtrees/Globals.php 1 patch
Indentation   +36 added lines, -36 removed lines patch added patch discarded remove patch
@@ -16,48 +16,48 @@
 block discarded – undo
16 16
  */
17 17
 class Globals {
18 18
     
19
-    /**
20
-     * Get global $WT_TREE variable.
21
-     * 
22
-     * @return \Fisharebest\Webtrees\Tree|NULL
23
-     */
24
-    public static function getTree() {
25
-        global $WT_TREE;
19
+	/**
20
+	 * Get global $WT_TREE variable.
21
+	 * 
22
+	 * @return \Fisharebest\Webtrees\Tree|NULL
23
+	 */
24
+	public static function getTree() {
25
+		global $WT_TREE;
26 26
         
27
-        return $WT_TREE;
28
-    }
27
+		return $WT_TREE;
28
+	}
29 29
     
30
-    /**
31
-     * Check whether the visitor is a bot.
32
-     * 
33
-     * @return boolean
34
-     */
35
-    public static function isSearchSpider() {
36
-        global $SEARCH_SPIDER;
30
+	/**
31
+	 * Check whether the visitor is a bot.
32
+	 * 
33
+	 * @return boolean
34
+	 */
35
+	public static function isSearchSpider() {
36
+		global $SEARCH_SPIDER;
37 37
         
38
-        return $SEARCH_SPIDER;
39
-    }
38
+		return $SEARCH_SPIDER;
39
+	}
40 40
     
41
-    /**
42
-     * Get the current controller.
43
-     * 
44
-     * @return \Fisharebest\Webtrees\BaseController
45
-     */
46
-    public static function getController() {
47
-        global $controller;
41
+	/**
42
+	 * Get the current controller.
43
+	 * 
44
+	 * @return \Fisharebest\Webtrees\BaseController
45
+	 */
46
+	public static function getController() {
47
+		global $controller;
48 48
         
49
-        return $controller;
50
-    }
49
+		return $controller;
50
+	}
51 51
     
52
-    /**
53
-     * Get the global facts
54
-     * 
55
-     * @return array
56
-     */
57
-    public static function getGlobalFacts() {
58
-        global $global_facts;
52
+	/**
53
+	 * Get the global facts
54
+	 * 
55
+	 * @return array
56
+	 */
57
+	public static function getGlobalFacts() {
58
+		global $global_facts;
59 59
         
60
-        return $global_facts;
61
-    }
60
+		return $global_facts;
61
+	}
62 62
     
63 63
 }
64 64
\ No newline at end of file
Please login to merge, or discard this patch.