Exemplo n.º 1
0
 /**
  * Overloading the doActions function : replacing the parent's function with the one below
  *
  * @param string[] $parameters meta datas of the hook (context, etc...)
  * @param Lead $object the object you want to process (an invoice if you are in invoice module, a propale in propale's module, etc...)
  * @param string $action current action (if set). Generally create or edit or null
  * @return void
  */
 function showLinkedObjectBlock($parameters, $object, $action)
 {
     global $conf, $langs, $db;
     require_once 'lead.class.php';
     $lead = new Lead($db);
     $authorized_object = array();
     foreach ($lead->listofreferent as $referent) {
         $authorized_object[] = $referent['table'];
     }
     if (is_object($object) && in_array($object->table_element, $authorized_object)) {
         $langs->load("lead@lead");
         require_once 'html.formlead.class.php';
         $formlead = new FormLead($db);
         $ret = $lead->fetchLeadLink($object->rowid ? $id = $object->rowid : $object->id, $object->table_element);
         if ($ret < 0) {
             setEventMessages(null, $lead->errors, 'errors');
         }
         // Build exlcude already linked lead
         $array_exclude_lead = array();
         foreach ($lead->doclines as $line) {
             $array_exclude_lead[] = $line->id;
         }
         print '<br>';
         print_fiche_titre($langs->trans('Lead'));
         if (count($lead->doclines) == 0) {
             print '<form action="' . dol_buildpath("/lead/lead/manage_link.php", 1) . '" method="POST">';
             print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
             print '<input type="hidden" name="redirect" value="http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '">';
             print '<input type="hidden" name="tablename" value="' . $object->table_element . '">';
             print '<input type="hidden" name="elementselect" value="' . ($object->rowid ? $object->rowid : $object->id) . '">';
             print '<input type="hidden" name="action" value="link">';
         }
         print "<table class='noborder allwidth'>";
         print "<tr class='liste_titre'>";
         print "<td>" . $langs->trans('LeadLink') . "</td>";
         print "</tr>";
         $filter = array('so.rowid' => $object->fk_soc ? $object->fk_soc : $object->socid);
         if (count($array_exclude_lead) > 0) {
             $filter['t.rowid !IN'] = implode($array_exclude_lead, ',');
         }
         $selectList = $formlead->select_lead('', 'leadid', 1, $filter);
         if (!empty($selectList) && count($lead->doclines) == 0) {
             print '<tr>';
             print '<td>';
             print $selectList;
             print "<input type=submit name=join value=" . $langs->trans("Link") . ">";
             print '</td>';
             print '</tr>';
         }
         foreach ($lead->doclines as $line) {
             print '<tr><td>';
             print $line->getNomUrl(1);
             print '<a href="' . dol_buildpath("/lead/lead/manage_link.php", 1) . '?action=unlink&sourceid=' . ($object->rowid ? $object->rowid : $object->id);
             print '&sourcetype=' . $object->table_element;
             print '&leadid=' . $line->id;
             print '&redirect=' . urlencode('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
             print '">' . img_picto($langs->trans('LeadUnlinkDoc'), 'unlink.png@lead') . '</a>';
             print '</td>';
             print '</tr>';
         }
         print "</table>";
         if (count($lead->doclines) == 0) {
             print "</form>";
         }
     }
 }