/** * 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>"; } } }