$numberPage = intval($_GET["page"]); $sortType = $_GET["sort"]; $simpleKeyword = $_GET["keyword"]; $kid = $_GET["kid"]; if ($sortType == NULL || $sortType == '') { $sortType = 'id DESC'; } if ($numberPage === NULL || $numberPage < 0) { echo "<script src='../JS/functions.js'></script><script>nextPage('set', '0')</script>"; } //Getting all registries if ($simpleKeyword !== NULL) { $defuntionRegistries = DefuntionManager::simpleSearchDefuntion($simpleKeyword, $sortType, $numberPage); } else { if ($kid !== NULL) { $defuntionSearch = new Defuntion(); $kcelebration = DatabaseManager::singleDateToDatabaseDate($_GET["kcelebration"]); $kbornp = $_GET["kbornp"]; $kbornd = DatabaseManager::singleDateToDatabaseDate($_GET["kbornd"]); $knamec = $_GET["knamec"]; $klastname1c = $_GET["klastname1c"]; $klastname2c = $_GET["klastname2c"]; $knamef = $_GET["knamef"]; $kchurch = $_GET["kchurch"]; $defuntionSearch->setId($kid); $defuntionSearch->setDeadDate($kcelebration); $posibleNames[0] = PersonManager::searchPersonsByNames($knamec, $klastname1c, $klastname2c, false); $defuntionSearch->setIdOwner($posibleNames); $posibleChurch = ChurchManager::simpleSearchChurch($kchurch, 'id', -1); $defuntionSearch->setIdChurch($posibleChurch); $defuntionRegistries = DefuntionManager::advancedSearchDefuntion($defuntionSearch, 'AND', $sortType, $numberPage);
/** * Search one defuntion by one similar name * * @author Jonathan Sandoval <*****@*****.**> * @param Defuntion $defuntion Pseudo-defuntion with the data to search * @param string $operator To search with 'or' or 'and' * @param string $order The type of sort of the Defuntion * @param integer $begin The number of page to display the registry * @return Array[Defuntion] $defuntions Defuntion objects with the similar name or null */ static function advancedSearchDefuntion($defuntion = null, $operator = 'AND', $order = 'id', $begin = 0) { if ($defuntion === null) { return null; } $tableDefuntion = DatabaseManager::getNameTable('TABLE_DEFUNTION'); $tablePerson = DatabaseManager::getNameTable('TABLE_PERSON'); $tableChurch = DatabaseManager::getNameTable('TABLE_CHURCH'); $celebrationDate = $defuntion->getDeadDate(); $queryOwner = "("; $posibleOwner = $defuntion->getIdOwner()[0]; $queryChurch = "("; $posibleChurch = $defuntion->getIdChurch(); if ($posibleOwner !== NULL) { for ($i = 0; $i < sizeof($posibleOwner) - 1; $i++) { $queryOwner = $queryOwner . $posibleOwner[$i]->getId() . ","; } $queryOwner = $queryOwner . $posibleOwner[sizeof($posibleOwner) - 1]->getId() . ")"; $queryOwner = "(o.id IN " . $queryOwner . ")"; } if ($posibleChurch !== NULL) { for ($i = 0; $i < sizeof($posibleChurch) - 1; $i++) { $queryChurch = $queryChurch . $posibleChurch[$i]->getId() . ","; } $queryChurch = $queryChurch . $posibleChurch[sizeof($posibleChurch) - 1]->getId() . ")"; $queryChurch = "(c.id IN " . $queryChurch . ")"; } $defuntion->getId() == 0 ? $id = '' : ($id = $defuntion->getId()); $query = "SELECT b.* \r\n FROM {$tableDefuntion} AS b LEFT JOIN {$tablePerson} AS o ON b.idOwner = o.id \r\n JOIN {$tableChurch} AS c ON b.idChurch = c.id\r\n WHERE b.id LIKE '%{$id}%' {$operator}\r\n b.deadDate LIKE '%{$celebrationDate}%' {$operator} "; //Join the Query with the posibiitation query if ($queryOwner != '(') { $query = $query . $queryOwner . " " . $operator . " "; } else { $query = $query . "(o.id IN ())" . $operator . " "; } if ($queryChurch != '(') { $query = $query . $queryChurch . " "; } else { $query = $query . "(c.id IN ())" . " "; } if ($order == 'nameChild') { $query = $query . " ORDER BY o.names"; } else { if ($order == 'nameChurch') { $query = $query . " ORDER BY c.name"; } else { $query = $query . " ORDER BY b.id DESC"; } } $query = $query . " LIMIT " . strval($begin * 10) . ", 11 "; $arrayDefuntions = DatabaseManager::multiFetchAssoc($query); $defuntions = array(); if ($arrayDefuntions !== NULL) { $i = 0; foreach ($arrayDefuntions as $defuntion) { if ($i == 10) { continue; } $defuntions[] = self::ArrayToDefuntion($defuntion); $i++; } return $defuntions; } else { return null; } }
require_once __DIR__ . "/../../../Backend/DefuntionManager.php"; require_once __DIR__ . "/../../../Backend/PersonManager.php"; if (!isset($_POST) || $_POST["idChild"] === NULL) { echo "KO"; die; } $church = ChurchManager::getSingleChurch('name', $_POST["celebrationChurch"]); $child = new Person(); if ($_POST["idChild"] !== '0') { $child = PersonManager::getSinglePerson('id', $_POST["idChild"]); } $child->setId($_POST["idChild"]); $child->setNames($_POST["nameChild"]); $child->setLastname1($_POST["lastname1Child"]); $child->setLastname2($_POST["lastname2Child"]); $defuntion = new Defuntion(); $defuntion->setId($_POST["idDefuntion"]); $defuntion->setDeadDate(DatabaseManager::singleDateToDatabaseDate($_POST["celebrationDate"])); $defuntion->setIdChurch($church->getId()); $defuntion->setIdOwner($child->getId()); //Get the defuntion Crypt if ($_POST["idCrypt"] == '0') { if ($_POST["inCrypt"] == "true") { $myCrypt = new Crypt(); $myCrypt->setIdNiche($church->getIdNiche()); $myCrypt->setCol($_POST["cryptColumn"]); $myCrypt->setRow($_POST["cryptRow"]); $myCrypt->setNumber($_POST["cryptNumber"]); DefuntionManager::addCrypt($myCrypt); $singleCrypt = DefuntionManager::getSingleCrypt('col', $myCrypt->getCol(), 'row', $myCrypt->getRow(), 'idNiche', $myCrypt->getIdNiche(), 'number', $myCrypt->getNumber()); $defuntion->setIdCrypt($singleCrypt->getId());