/**
     * [FONCTIONS MODE LISTE]
     */
    function pi_list_row($c)
    {
        $editPanel = $this->pi_getEditPanel();
        if ($editPanel) {
            $editPanel = "<TD>" . $editPanel . "</TD>";
        }
        $lConf = $this->conf["listView."];
        $loupe = '<img src="' . $this->conf["extCurDir"] . 'loupe_plus.gif" border="0" title="' . $this->pi_getLL("details", "[details]") . '">';
        /*
        la fonction pi_list_linkSingle possède u dernier argument aoptionel qui permet de passer un tableau de hachage contenant autant d'arguments supplémentaires que l'on veut !
        ici on y passe l'uid du tt_content contenant le plugin de façon à les différencier
         		!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-
        */
        $Margt['ttc_uid'] = $this->uid;
        // petites corrections: on passe aussi le pointer, qui indique la position dans les enregistrements, sinon il est perdu
        $Margt['pointer'] = $this->piVars["pointer"];
        // ainsi que le classement qui n'était pas mémorisé si on passait en singleview
        $Margt['sort'] = $this->piVars["sort"];
        $loupe = $this->pi_list_linkSingle($loupe, $this->internal["currentRow"]["uid"], 1, $Margt) . '&nbsp;';
        // The "1" means that the display of single items is CACHED! Set to zero to disable caching.
        // la puce par défaut, c'est tux
        $puce = '<img src="' . $this->conf["extCurDir"] . 'tux.gif" border="0" title="' . $this->pi_getLL("other_doc", "[other_doc]") . '">';
        $file_name = $this->getFieldContent("document");
        $CfN = $this->upload_doc_folder . '/' . $file_name;
        // test existance document
        if (file_exists($CfN) && $file_name != "") {
            //$CDocN=$this->getFileIconHTML($file_name,$file_name).' <a href="'.$CfN.'" target="_blank">'.$file_name.'</a>'.DFSIL($CfN);}
            // Plus que l'icone
            $puce = $this->getFileIconHTML($file_name, $file_name);
            $CDocN = '&nbsp;<a href="' . $CfN . '" target="_blank"><img src="' . $this->conf["extCurDir"] . 'b_oeil.gif" border="0" title="' . $this->pi_getLL("download", "[download]") . '"></a>&nbsp;' . DFSIL($CfN);
        }
        return '<tr"' . ($c % 2 ? ' class="rowodd"' : "") . '>
				<td align="center">' . $puce . '</td>
				<td valign="center">' . $this->getFieldContent("title") . '</td>
				<td valign="center">' . $this->getFieldContent("tstamp") . '</td>
				<td valign="center">' . $loupe . $CDocN . '</td>
				' . $editPanel . '
			</tr>';
    }
    /**
     * [FONCTIONS MODE LISTE]
     */
    function pi_list_row($c)
    {
        $editPanel = $this->pi_getEditPanel();
        if ($editPanel) {
            $editPanel = "<TD>" . $editPanel . "</TD>";
        }
        $lConf = $this->conf["listView."];
        $loupe = '<img src="' . $this->conf["extCurDir"] . 'loupe_plus.gif" border="0" title="' . $this->pi_getLL("details", "[details]") . '">';
        /*
        la fonction pi_list_linkSingle poss�e u dernier argument aoptionel qui permet de passer un tableau de hachage contenant autant d'arguments suppl�entaires que l'on veut !
        ici on y passe l'uid du tt_content contenant le plugin de fa�n �les diff�encier
         		!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-
        */
        $Margt['ttc_uid'] = $this->uid;
        // petites corrections: on passe aussi le pointer, qui indique la position dans les enregistrements, sinon il est perdu
        $Margt['pointer'] = $this->piVars["pointer"];
        // ainsi que le classement qui n'�ait pas m�oris�si on passait en singleview
        $Margt['sort'] = $this->piVars["sort"];
        // asctuce pour rajouter une ancre � la fin du lien
        $mylink = $this->pi_list_linkSingle("salut_blaireau", $this->internal["currentRow"]["uid"], 1, $Margt);
        $mylink = str_replace('">salut_blaireau', "#Anc" . $this->internal["currentRow"]["uid"] . '">salut_blaireau', $mylink);
        $loupe = '&nbsp;&nbsp;' . str_replace("salut_blaireau", $loupe, $mylink) . '&nbsp;';
        //$loupe=$this->pi_list_linkSingle($loupe,$this->internal["currentRow"]["uid"],1,$Margt).'&nbsp;';	// The "1" means that the display of single items is CACHED! Set to zero to disable caching.
        // la puce par d�aut, c'est tux
        $puce = '<img src="' . $this->conf["extCurDir"] . 'tux.gif" border="0" title="' . $this->pi_getLL("other_doc", "[other_doc]") . '">';
        $file_name = $this->getFieldContent("document");
        $CfN = $this->upload_doc_folder . '/' . $file_name;
        // test existance document
        if (file_exists($CfN) && $file_name != "") {
            //$CDocN=$this->getFileIconHTML($file_name,$file_name).' <a href="'.$CfN.'" target="_blank">'.$file_name.'</a>'.DFSIL($CfN);}
            // Plus que l'icone
            $puce = $this->getFileIconHTML($file_name, $file_name);
            $CDocN = '&nbsp;<a href="' . $CfN . '" target="_blank"><img src="' . $this->conf["extCurDir"] . 'telecharger.gif" border="0" title="' . $this->pi_getLL("download", "[download]") . '"></a>&nbsp;' . DFSIL($CfN);
        }
        // l'ancre sert a ce qu'au retiur d'une loupe on puisse repointer au même endroit..
        return '<a name="Anc' . $this->getFieldContent("uid") . '"></a><tr class="' . ($c % 2 ? 'doclist_rowodd' : 'doclist_roweven') . '">
				<td>' . $puce . '</td>
				<td style="text-align:left">' . $this->getFieldContent("title") . '</td>
				<td>' . $this->getFieldContent("crdate") . '</td>
				<td style="text-align:left">' . $loupe . $CDocN . '</td>
				' . $editPanel . '
			</tr>';
    }
 /**
  * [R�up�ation et traitement des champs]
  */
 function getFieldContent($fN)
 {
     $fieldValue = $this->internal["currentRow"][$fN];
     //		debug($fN);
     switch ($fN) {
         case "uid":
             return $this->pi_list_linkSingle($fieldValue, $this->internal["currentRow"]["uid"], 1);
             // The "1" means that the display of single items is CACHED! Set to zero to disable caching.
             break;
         case "small_img":
         case "big_img":
             if (file_exists($this->upload_img_folder . '/' . $fieldValue) && $fieldValue != "") {
                 // contruction du tableau du conf de l'image
                 // car utilisation de la m�hode cObj->IMAGE($conf) pour redimensionnement auto
                 // les param�res addistionnels (Align et maxW notamment, sont plac�s dans le ext_typoscript_setup.txt)
                 $ConfI["file"] = $this->upload_img_folder . '/' . $fieldValue;
                 $ConfI["file."]["maxW"] = $this->conf[$fN . "MaxWidth"];
                 return str_replace(">", ' class="actu' . $fN . '">', $this->cObj->IMAGE($ConfI));
                 //return '<img src="'.$this->upload_img_folder.'/'.$fieldValue.'" align="left" border="0">';
                 // voir http://typo3api.ueckermann.de/classtslib__cObj.html#a69 pour plus d'info sue les param
             } elseif ($fN == "small_img") {
                 //return '<img src="'.$this->conf["extCurDir"].'fleche_puce.gif" class="picto" />';
                 // Diabne veut plus du picto
                 return "";
             } else {
                 return "";
             }
             break;
         case "abstract":
         case "bodytext":
             //return $this->pi_RTEcssText($fieldValue);
             /*
             				modifications apport�s au traitements de la m�hode getFieldContent($fN)
             				la ligne d'origine ci-dessus est g��� automatiquement, mais dans ce cas, les liens (entres autres) ins�� avec le RTE
             				ne sont pas affich� dans le FE correctement bien qu'ils soient enregistr�.
             				Pour que le changement ci-dessous fonctionne, il faut l'associer �la directive plac� dans le gabarit principal suivante:
             				plugin.tx_macledextensionsansunderscores_pi1.RTEcontent_stdWrap.parseFunc < tt_content.text.20.parseFunc */
             return $this->cObj->stdWrap($this->pi_RTEcssText($fieldValue), $this->conf['RTEcontent_stdWrap.']);
             break;
         case "starttime":
             if ($fieldValue == "0") {
                 $fieldValue = $this->internal["currentRow"]["tstamp"];
             }
         case "tstamp":
         case "endtime":
             if ($fieldValue != "0") {
                 return getDateF($fieldValue);
             }
             break;
         case "author":
             $fieldValue = txRecupLib("fe_users", "uid", "name", $fieldValue);
             if (!$fieldValue) {
                 // si pas d'auteur interne saisit, renvoie le be_user cr�teur
                 $fieldValue = txRecupLib("be_users", "uid", "realName", $this->internal["currentRow"]["cruser_id"]);
             }
             return $fieldValue ? "Auteur : " . $fieldValue : "";
             break;
         case "email":
             $fieldValue = txRecupLib("fe_users", "uid", "email", $this->internal["currentRow"]["author"]);
             // si pas de mail et que l'auteur interne n'existe pas non plus, on renvoe le mail du be_user createur
             if (!$fieldValue && !txRecupLib("fe_users", "uid", "name", $this->internal["currentRow"]["author"])) {
                 $fieldValue = txRecupLib("be_users", "uid", "email", $this->internal["currentRow"]["cruser_id"]);
             }
             return $fieldValue ? $fieldValue : "";
             break;
         case "document":
             if ($fieldValue != "") {
                 $CfN = $this->upload_doc_folder . '/' . $fieldValue;
                 $fieldValue .= '<span class="actdoc">';
                 $fieldValue .= DFSIL($CfN);
                 $fieldValue .= '&nbsp;<a href="' . $CfN . '" target="_blank"><img src="' . $this->ChemImg . 'telecharger.gif" class="picto" title="' . $this->pi_getLL("download", "[download]") . '"></a></span>';
             }
             return $fieldValue;
             break;
         case "bimg_credit":
             if ($fieldValue != "") {
                 $fieldValue = $this->pi_getLL("CredPhot", "[(C) Photo]") . $fieldValue;
             }
             return $fieldValue;
             break;
         default:
             return $fieldValue;
             break;
     }
 }
    /**
     * Affichage d'une ligne
     */
    function pi_list_row($c)
    {
        $editPanel = $this->pi_getEditPanel();
        if ($editPanel) {
            $editPanel = "<TD>" . $editPanel . "</TD>";
        }
        //$_SESSION['art_table'][]=$this->internal["currentRow"]["uid"];
        $lConf = $this->conf["listView."];
        $loupe = '<img src="' . $this->conf["iconDir"] . 'loupe_plus.gif" border="0" title="' . $this->pi_getLL("details", "[details]") . '">';
        /*
        la fonction pi_list_linkSingle poss?e u dernier argument aoptionel qui permet de passer un tableau de hachage contenant autant d'arguments suppl?entaires que l'on veut !
        ici on y passe l'uid du tt_content contenant le plugin de fa?n ?les diff?encier
         		!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-
        */
        $Margt['ttc_uid'] = $this->uid;
        // petites corrections: on passe aussi le pointer, qui indique la position dans les enregistrements, sinon il est perdu
        $Margt['pointer'] = $this->piVars["pointer"];
        // ainsi que le classement qui n'?ait pas m?oris?si on passait en singleview
        $Margt['sort'] = $this->piVars["sort"];
        // asctuce pour rajouter une ancre ?la fin du lien
        $mylink = $this->pi_list_linkSingle("salut_blaireau", $this->internal["currentRow"]["uid"], 1, $Margt);
        $mylink = str_replace('">salut_blaireau', "#Anc" . $this->internal["currentRow"]["uid"] . '">salut_blaireau', $mylink);
        $loupe = '&nbsp;&nbsp;' . str_replace("salut_blaireau", $loupe, $mylink) . '&nbsp;';
        //$loupe=$this->pi_list_linkSingle($loupe,$this->internal["currentRow"]["uid"],1,$Margt).'&nbsp;';	// The "1" means that the display of single items is CACHED! Set to zero to disable caching.
        // la puce par d?aut, c'est tux
        $puce = '<img src="' . $this->conf["iconDir"] . 'tux.gif" border="0" title="' . $this->pi_getLL("other_doc", "[other_doc]") . '">';
        $this->ImgMwidth = $this->conf["Img1MaxWidth"];
        $img2disp = $this->getFieldContent('img1');
        // si pas image vignette, utilise la grande et la reduit
        if ($img2disp == "") {
            $img2disp = $this->getFieldContent('img2');
        }
        $puce = $this->retImagette($img2disp, $this->getFieldContent('file'), false);
        $file_name = $this->getFieldContent("file");
        $CfN = $this->upload_doc_folder . '/' . $file_name;
        // test existance document
        if (file_exists($CfN) && $file_name != "") {
            // Plus que l'icone
            if (!$puce) {
                $puce = $this->getFileIconHTML($file_name, $file_name);
            }
            $CDocN = '&nbsp;<a href="' . $CfN . '" target="_blank"><img src="' . $this->conf["iconDir"] . 'telecharger.gif" border="0" title="' . $this->pi_getLL("download", "[download]") . '"></a>&nbsp;' . DFSIL($CfN);
        }
        // au cas ou telech
        if (file_exists($this->upload_doc_folder . '/' . $this->getFieldContent('file'))) {
            $telechlnk = '<a href="' . $this->upload_doc_folder . '/' . $this->getFieldContent('file') . '" target="_blank"><img src="' . $this->conf["iconDir"] . 'telecharger.gif" class="picto"  title="' . $this->pi_getLL("download", "[download]") . '"></a>&nbsp;' . DFSIL($this->upload_doc_folder . '/' . $this->getFieldContent('file'));
        } else {
            $telechlnk = "";
        }
        // l'ancre sert a ce qu'au retour d'une loupe on puisse repointer au m�e endroit..
        $urlParameters['cHash'] = $this->cHash;
        $urlParameters['hnkart_mode'] = "true";
        $urlParameters['add_art'] = $this->internal["currentRow"]["uid"];
        return '<a name="Anc' . $this->getFieldContent("uid") . '"></a><tr class="' . ($c % 2 ? 'doclist_rowodd' : 'doclist_roweven') . '">
				<td>' . $puce . '</td>
				<td style="text-align:left">' . $this->getFieldContent("support") . '<br/>' . $this->getFieldContent("nbpages") . '</td>
				<td style="text-align:left">' . str_replace("salut_blaireau", $this->getFieldContent("title"), $mylink) . '</td>
				<td style="text-align:left">' . $this->getFieldContent("designation") . " (" . str_replace("salut_blaireau", $this->pi_getLL("lire_suite", "[lire_suite]"), $mylink) . ')</td>
				<td style="text-align:center">' . $this->getFieldContent("technicaldegree") . '</td>
				<td style="text-align:center">' . $this->getFieldContent("parut") . $this->dispArchLnk() . '</td>
				<td style="text-align:right">' . $this->getFieldContent("price") . '<br/><br/>' . ($this->internal["currentRow"]['price'] > 0 ? '
				<a href="' . $this->pi_getPageLink($GLOBALS["TSFE"]->id, '', $urlParameters) . '" title="' . $this->pi_getLL("add2kart", "[add2kart]") . '"><img src="' . $this->conf["iconDir"] . 'cariole.gif"/></a>' : $telechlnk) . '
				</td>
			</tr>';
    }