|  | @@ 226-236 (lines=11) @@ | 
                                                            
                                    | 223 |  |      * @param Individual $indi | 
                                                            
                                    | 224 |  |      * @return array Array of sosa numbers | 
                                                            
                                    | 225 |  |      */ | 
                                                            
                                    | 226 |  |     public function getSosaNumbers(Individual $indi) { | 
                                                            
                                    | 227 |  |         if(!$this->is_setup) return array(); | 
                                                            
                                    | 228 |  |         return Database::prepare( | 
                                                            
                                    | 229 |  |                 'SELECT majs_sosa, majs_gen FROM `##maj_sosa`'. | 
                                                            
                                    | 230 |  |                 ' WHERE majs_i_id=:indi_id AND majs_gedcom_id=:tree_id AND majs_user_id=:user_id' | 
                                                            
                                    | 231 |  |             )->execute(array( | 
                                                            
                                    | 232 |  |                 'indi_id' => $indi->getXref(),  | 
                                                            
                                    | 233 |  |                 'tree_id' => $this->tree->getTreeId(),  | 
                                                            
                                    | 234 |  |                 'user_id' => $this->user->getUserId() | 
                                                            
                                    | 235 |  |             ))->fetchAssoc(); | 
                                                            
                                    | 236 |  |     } | 
                                                            
                                    | 237 |  |      | 
                                                            
                                    | 238 |  |     /** | 
                                                            
                                    | 239 |  |      * Get the last generation of Sosa ancestors | 
                                                                                
                                |  | @@ 243-252 (lines=10) @@ | 
                                                            
                                    | 240 |  |      * | 
                                                            
                                    | 241 |  |      * @return number Last generation if found, 1 otherwise | 
                                                            
                                    | 242 |  |      */ | 
                                                            
                                    | 243 |  |     public function getLastGeneration() { | 
                                                            
                                    | 244 |  |         if(!$this->is_setup) return; | 
                                                            
                                    | 245 |  |         return Database::prepare( | 
                                                            
                                    | 246 |  |                 'SELECT MAX(majs_gen) FROM `##maj_sosa`'. | 
                                                            
                                    | 247 |  |                 ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id' | 
                                                            
                                    | 248 |  |             )->execute(array( | 
                                                            
                                    | 249 |  |                 'tree_id' => $this->tree->getTreeId(),  | 
                                                            
                                    | 250 |  |                 'user_id' => $this->user->getUserId()                 | 
                                                            
                                    | 251 |  |             ))->fetchOne() ?: 1; | 
                                                            
                                    | 252 |  |     } | 
                                                            
                                    | 253 |  |      | 
                                                            
                                    | 254 |  |     /************* | 
                                                            
                                    | 255 |  |      * SOSA LISTS | 
                                                                                
                                |  | @@ 429-438 (lines=10) @@ | 
                                                            
                                    | 426 |  |      * | 
                                                            
                                    | 427 |  |      * @return number Number of Sosas | 
                                                            
                                    | 428 |  |      */ | 
                                                            
                                    | 429 |  |     public function getSosaCount(){ | 
                                                            
                                    | 430 |  |         if(!$this->is_setup) return 0; | 
                                                            
                                    | 431 |  |         return Database::prepare( | 
                                                            
                                    | 432 |  |             'SELECT SQL_CACHE COUNT(majs_sosa) FROM `##maj_sosa`' . | 
                                                            
                                    | 433 |  |             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id') | 
                                                            
                                    | 434 |  |             ->execute(array( | 
                                                            
                                    | 435 |  |                 'tree_id' => $this->tree->getTreeId(),  | 
                                                            
                                    | 436 |  |                 'user_id' => $this->user->getUserId()  | 
                                                            
                                    | 437 |  |             ))->fetchOne() ?: 0; | 
                                                            
                                    | 438 |  |     } | 
                                                            
                                    | 439 |  |      | 
                                                            
                                    | 440 |  |     /** | 
                                                            
                                    | 441 |  |      * Get the number of Sosa in a specific generation. | 
                                                                                
                                |  | @@ 483-492 (lines=10) @@ | 
                                                            
                                    | 480 |  |      * | 
                                                            
                                    | 481 |  |      * @return number Total number of distinct individual | 
                                                            
                                    | 482 |  |      */ | 
                                                            
                                    | 483 |  |     public function getDifferentSosaCount(){ | 
                                                            
                                    | 484 |  |         if(!$this->is_setup) return 0; | 
                                                            
                                    | 485 |  |         return Database::prepare( | 
                                                            
                                    | 486 |  |             'SELECT SQL_CACHE COUNT(DISTINCT majs_i_id) FROM `##maj_sosa`' . | 
                                                            
                                    | 487 |  |             ' WHERE majs_gedcom_id=:tree_id AND majs_user_id=:user_id') | 
                                                            
                                    | 488 |  |         ->execute(array( | 
                                                            
                                    | 489 |  |                 'tree_id' => $this->tree->getTreeId(),  | 
                                                            
                                    | 490 |  |                 'user_id' => $this->user->getUserId() | 
                                                            
                                    | 491 |  |         ))->fetchOne() ?: 0; | 
                                                            
                                    | 492 |  |     } | 
                                                            
                                    | 493 |  |      | 
                                                            
                                    | 494 |  |     /** | 
                                                            
                                    | 495 |  |      * Get the number of distinct Sosa individual up to a specific generation. |