Per sistemare quella ricerca dovresti agire sul questo codice in WHERE SQL della connessione
ricerca_albo_pretorio, consiglio di fare una copia uguale e poi fare dei tentativi.
if (JRequest::getVar('datainizio_atto','','post') <> "" && JRequest::getVar('datafine_atto','','post')<>"") {
$cerca[] = "(((`datainizio_atto` >= '".$inizio."') AND
(`datainizio_atto` <= '".$fine."') ) OR
"."((`datafine_atto` >= '".$inizio."') AND
(`datafine_atto` <= '".$fine."' )) OR "
."((`datainizio_atto` >= '".$inizio."') AND
(`datafine_atto` <= '".$fine."' )) OR "
."((`datainizio_atto` <= '".$inizio."') AND
(`datafine_atto` >= '".$fine."' ))) ";
}
if (JRequest::getVar('datainizio_atto','','post') <> "" && JRequest::getVar('datafine_atto','','post')=="") {
$cerca[] = "((`datainizio_atto` <= '".$inizio."' AND `datafine_atto` >= '".$inizio."' ) OR (`datainizio_atto` = '".$inizio."' AND `datafine_atto` IS NULL ))";
}
penso dovresti togliere tutti i casi in cui datainizio_atto è minore di $inizio.
L'altro tipo di ricerca al momento non è possibile perchè non fa la ricerca parola per parola ma solo se tutto quello che è inserito nel campo di ricerca inteso con frase o stringa intera è contenuto nel campo nel database.