Skip to content
Snippets Groups Projects

Rf13038 Front

Closed Patrick Barroca requested to merge RF13038-front into WIP
Compare and
+ 2001
757
Preferences
Compare changes
Files
@@ -18,57 +18,30 @@
* along with AFI-OPAC 2.0; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
//////////////////////////////////////////////////////////////////////////////////////////
// OPAC3 - Appels Ajax
//
//////////////////////////////////////////////////////////////////////////////////////////
class Admin_AjaxController extends Zend_Controller_Action
{
//------------------------------------------------------------------------------------------------------
// Initialisation des parametres et du layout
//------------------------------------------------------------------------------------------------------
function init()
{
// Désactiver le view renderer
$viewRenderer = $this->getHelper('ViewRenderer');
$viewRenderer->setNoRender();
class Admin_AjaxController extends Zend_Controller_Action {
public function preDispatch() {
$this->getHelper('ViewRenderer')->setNoRender();
}
//------------------------------------------------------------------------------------------------------
// Initialisation des parametres et du layout
//------------------------------------------------------------------------------------------------------
function listesuggestionAction() {
// Parametres
$autorite=$this->_getParam('type_autorite');
$id_champ=$this->_getParam('id_champ');
$mode_recherche=$this->_getParam('mode');
$recherche=$this->_getParam('valeur');
$limite_resultat=100;
// Lancer la recherche en fonction du type d'autorite
$theme='';
switch($autorite)
{
case "auteur" : $cls=new Class_Auteur(); break;
case "matiere" : $cls=new Class_Matiere(); break;
case "interet" : $cls=new Class_CentreInteret(); break;
case "dewey" : $cls=new Class_Dewey(); break;
case "pcdm4" : $cls=new Class_Pcdm4(); break;
case "thesaurus" : $cls=new Class_CodifThesaurus();
$theme=$id_champ; break;
case "tag" : $cls=new Class_TagNotice(); break;
default: print("mauvais code rubrique"); exit;
}
if ($theme) {
$liste=$cls->getListeSuggestion($recherche,$mode_recherche,$limite_resultat,$theme);
public function listesuggestionAction() {
$autorite = $this->_getParam('type_autorite');
$id_champ = $this->_getParam('id_champ');
$mode_recherche = $this->_getParam('mode');
$recherche = $this->_getParam('valeur');
$limite_resultat = 100;
if (!$authority = $this->getAuthorityFor($autorite)) {
print('mauvais code rubrique');
return;
}
else
$liste=$cls->getListeSuggestion($recherche,$mode_recherche,$limite_resultat);
// Renvoi de la liste
if(!$liste) {
echo '';
$params = [$recherche, $mode_recherche, $limite_resultat];
if ('thesaurus' == $autorite)
$params[] = $id_champ;
if (!$liste = call_user_func_array([$authority, 'getListeSuggestion'], $params)) {
echo '';
return;
}
@@ -76,5 +49,20 @@ class Admin_AjaxController extends Zend_Controller_Action
echo '<div class="tag_liste" clef="'.$item[0].'" onclick="selectSuggest(\''.$id_champ.'\',this)">'.$item[1].'</div>';
}
}
}
\ No newline at end of file
protected function getAuthorityFor($code) {
$authorities = ['auteur' => new Class_Auteur(),
'matiere' => new Class_Matiere(),
'interet' => new Class_CentreInteret(),
'dewey' => new Class_Dewey(),
'pcdm4' => new Class_Pcdm4(),
'thesaurus' => new Class_CodifThesaurus(),
'tag' => new Class_TagNotice()];
if (isset($authorities[$code]))
return $authorities[$code];
}
}
?>
\ No newline at end of file