function _comments($id, $ref, $element)
{
    $element_tag = TTwiiit::getTag($element, $ref);
    $PDOdb = new TPDOdb();
    $r = '';
    $Tab = $PDOdb->ExecuteAsArray("SELECT DISTINCT t.rowid\n\tFROM " . MAIN_DB_PREFIX . "twiiit t  \n\t WHERE (t.fk_object=" . (int) $id . " AND t.type_object='" . $element . "') OR (t.comment LIKE '%" . $element_tag . "%')\n\t ORDER BY t.date_cre DESC");
    foreach ($Tab as &$row) {
        $twiiit = new TTwiiit();
        $twiiit->load($PDOdb, $row->rowid);
        $r .= '<div class="comm">';
        if ($id != $twiiit->fk_object || $element != $twiiit->type_object) {
            $origin_element = $twiiit->getNomUrl();
            if (!empty($origin_element)) {
                $r .= '<div class="object">' . $origin_element . '</div> ';
            }
        }
        $r .= $twiiit->getComment();
        $r .= '<div class="date">' . dol_print_date($twiiit->date_cre, 'dayhourtextshort') . '</div>';
        $r .= '</div>';
    }
    return $r;
}
 static function getLinkFor(&$Tab, $fk_object = 0, $element = '', $tag = '', $level = 1)
 {
     global $db;
     if ($level > 5 || strlen($tag) <= 1) {
         return false;
     }
     $res = $db->query("SELECT fk_object, type_object, comment \n\t\t\t\tFROM " . MAIN_DB_PREFIX . "twiiit WHERE \n\t\t\t\t(fk_object = " . (int) $fk_object . " AND type_object='" . $db->escape($element) . "')\n\t\t\t\tOR comment LIKE '%" . $db->escape($tag) . "%'");
     while ($obj = $db->fetch_object($res)) {
         $TTag = TTwiiit::extractTags($obj->comment, array('/@(\\w+)/', '/#(\\w+)/'));
         if ($obj->fk_object > 0 && !empty($obj->type_object)) {
             $TTag[] = TTwiiit::getTag($element, TTwiiit::getRef($obj->fk_object, $obj->type_object));
         }
         $TTagRel = TTwiiit::extractTags($obj->comment, array('/:(\\w+)/'));
         if (empty($TTagRel)) {
             $TTagRel = array(' ');
         }
         //var_dump($tag,$TTag,$TTagRel);
         foreach ($TTag as $t) {
             if ($tag == $t || strlen($tag) <= 1) {
                 continue;
             }
             foreach ($TTagRel as $rel) {
                 if (empty($rel)) {
                     continue;
                 }
                 $checksum = md5($tag . '.' . $t . '.' . $rel);
                 if (!isset($Tab[$checksum])) {
                     $Tab[$checksum] = array('from' => $tag, 'to' => $t, 'label' => $rel);
                     TTwiiit::getLinkFor($Tab, 0, '', $t, $level + 1);
                 }
             }
         }
     }
 }
<?php

require '../config.php';
dol_include_once('/twiiitor/class/twiiitor.class.php');
if (empty($user->rights->twiiitor->read)) {
    exit;
}
// pas les droit de lecture
$langs->load('twiiitor@twiiitor');
$element_tag = TTwiiit::getTag(GETPOST('element'), GETPOST('ref'));
?>
var cache = [];

$(document).ready(function() {
	
	$div = $('<div class="tabBar"><strong><?php 
echo $langs->trans('NanoSocial');
?>
 <?php 
echo $element_tag;
?>
</strong> <a href="javascript:showSociogram();"><img src="<?php 
echo dol_buildpath('/twiiitor/img/users_relation.png', 1);
?>
" border="0" align="absmiddle" /></a></div>');
	$div.attr('id','twittor-panel');
	<?php 
if (!empty($user->rights->twiiitor->write)) {
    ?>
	
	$div.append('<textarea name="comment"></textarea>');