29require 
'../../main.inc.php';
 
   30require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
 
   31require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formsocialcontrib.class.php';
 
   32require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
 
   33require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/chargesociales.class.php';
 
   34require_once DOL_DOCUMENT_ROOT.
'/compta/sociales/class/paymentsocialcontribution.class.php';
 
   35require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
 
   36require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
 
   37require_once DOL_DOCUMENT_ROOT.
'/core/lib/tax.lib.php';
 
   38require_once DOL_DOCUMENT_ROOT.
'/user/class/user.class.php';
 
   39if (isModEnabled(
'project')) {
 
   40  include_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
 
   41  include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
 
   43if (isModEnabled(
'accounting')) {
 
   44  include_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingjournal.class.php';
 
   48$langs->loadLangs(array(
'compta', 
'bills', 
'banks', 
'hrm'));
 
   52$action = 
GETPOST(
'action', 
'aZ09');
 
   53$confirm = 
GETPOST(
'confirm', 
'alpha');
 
   54$cancel = 
GETPOST(
'cancel', 
'aZ09');
 
   55$contextpage = 
GETPOST(
'contextpage', 
'aZ') ? 
GETPOST(
'contextpage', 
'aZ') : 
'myobjectcard'; 
 
   56$backtopage = 
GETPOST(
'backtopage', 
'alpha');
 
   57$backtopageforcancel = 
GETPOST(
'backtopageforcancel', 
'alpha');
 
   64$label = 
GETPOST(
'label', 
'alpha');
 
   65$actioncode = 
GETPOST(
'actioncode');
 
   69$hookmanager->initHooks(array(
'taxcard', 
'globalcard'));
 
   74$diroutputmassaction = $conf->tax->dir_output.
'/temp/massgeneration/'.$user->id;
 
   75$hookmanager->initHooks(array(
'taxsocialcontributioncard', 
'globalcard'));
 
   77if (empty($action) && empty($id) && empty($ref)) {
 
   86$permissiontoread = $user->hasRight(
'tax', 
'charges', 
'lire');
 
   87$permissiontoadd = $user->hasRight(
'tax', 
'charges', 
'creer'); 
 
   88$permissiontodelete = $user->rights->tax->charges->supprimer || ($permissiontoadd && isset(
$object->status) && 
$object->status == $object::STATUS_UNPAID);
 
   89$permissionnote = $user->hasRight(
'tax', 
'charges', 
'creer'); 
 
   90$permissiondellink = $user->hasRight(
'tax', 
'charges', 
'creer'); 
 
   91$upload_dir = $conf->tax->multidir_output[isset(
$object->entity) ? 
$object->entity : 1];
 
   96  $socid = $user->socid;
 
  106$parameters = array(
'socid' => $socid);
 
  107$reshook = $hookmanager->executeHooks(
'doActions', $parameters, 
$object, $action); 
 
  112if (empty($reshook)) {
 
  114  if ($action == 
'confirm_paid' && $permissiontoadd && $confirm == 
'yes') {
 
  115    $result = 
$object->setPaid($user);
 
  118  if ($action == 
'reopen' && $user->hasRight(
'tax', 
'charges', 
'creer')) {
 
  120      $result = 
$object->setUnpaid($user);
 
  122        header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
 
  131  if ($action == 
'classin' && $permissiontoadd) {
 
  135  if ($action == 
'setfk_user' && $permissiontoadd) {
 
  140  if ($action == 
'setlib' && $permissiontoadd) {
 
  141    $result = 
$object->setValueFrom(
'libelle', 
GETPOST(
'lib'), 
'', 
'', 
'text', 
'', $user, 
'TAX_MODIFY');
 
  148  if ($action == 
'setmode' && $permissiontoadd) {
 
  156  if ($action == 
'setbankaccount' && $permissiontoadd) {
 
  164  if ($action == 
'confirm_delete' && $permissiontodelete && $confirm == 
'yes') {
 
  165    $totalpaid = 
$object->getSommePaiement();
 
  166    if (empty($totalpaid)) {
 
  167      $result = 
$object->delete($user);
 
  169        header(
"Location: list.php");
 
  181  if ($action == 
'add' && $permissiontoadd) {
 
  185      setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")), 
null, 
'errors');
 
  187    } elseif (!$dateperiod) {
 
  188      setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")), 
null, 
'errors');
 
  190    } elseif (!($actioncode > 0)) {
 
  191      setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Type")), 
null, 
'errors');
 
  193    } elseif (empty($amount)) {
 
  194      setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")), 
null, 
'errors');
 
  196    } elseif (!is_numeric($amount)) {
 
  197      setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")), 
null, 
'errors');
 
  203      $object->periode = $dateperiod;
 
  210      $object->paye = ChargeSociales::STATUS_UNPAID;
 
  221  if ($action == 
'update' && !$cancel && $permissiontoadd) {
 
  225      setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Date")), 
null, 
'errors');
 
  227    } elseif (!$dateperiod) {
 
  228      setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Period")), 
null, 
'errors');
 
  230    } elseif (empty($amount)) {
 
  231      setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Amount")), 
null, 
'errors');
 
  233    } elseif (!is_numeric($amount)) {
 
  234      setEventMessages($langs->trans(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Amount")), 
null, 
'errors');
 
  240      $object->periode = $dateperiod;
 
  245      $result = 
$object->update($user);
 
  253  if ($action == 
'confirm_clone' && $confirm != 
'yes') {
 
  257  if ($action == 
'confirm_clone' && $confirm == 
'yes' && $permissiontoadd) {
 
  266      if (
GETPOST(
'amount', 
'alphanohtml')) {
 
  270      if (
GETPOST(
'clone_label', 
'alphanohtml')) {
 
  284        if ($newdateperiod) {
 
  285          $object->periode = $newdateperiod;
 
  286          $object->period = $newdateperiod;
 
  287          if (empty($newdateech)) {
 
  292          $object->date_ech = $newdateech;
 
  293          if (empty($newdateperiod)) {
 
  302      $resultcheck = 
$object->check();
 
  309          header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?id=".$id);
 
  325  include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
 
  333$form = 
new Form($db);
 
  336$bankaccountstatic = 
new Account($db);
 
  337if (isModEnabled(
'project')) {
 
  343$title = $langs->trans(
"SocialContribution").
' - '.$langs->trans(
"Card");
 
  344$help_url = 
'EN:Module_Taxes_and_social_contributions|FR:Module_Taxes_et_charges_spéciales|ES:Módulo Impuestos y cargas sociales (IVA, impuestos)';
 
  349if ($action == 
'create') {
 
  352  print 
'<form name="charge" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
 
  353  print 
'<input type="hidden" name="token" value="'.newToken().
'">';
 
  354  print 
'<input type="hidden" name="action" value="add">';
 
  358  print 
'<table class="border centpercent tableforfieldcreate">';
 
  362  print 
'<td class="titlefieldcreate fieldrequired">';
 
  363  print $langs->trans(
"Label");
 
  365  print 
'<td><input type="text" name="label" class="flat minwidth300" value="'.dol_escape_htmltag(
GETPOST(
'label', 
'alpha')).
'" autofocus></td>';
 
  370  print 
'<td class="fieldrequired">';
 
  371  print $langs->trans(
"Type");
 
  374  $formsocialcontrib->select_type_socialcontrib(
GETPOST(
"actioncode", 
'alpha') ? 
GETPOST(
"actioncode", 
'alpha') : 
'', 
'actioncode', 1);
 
  380  print 
'<td class="fieldrequired">';
 
  381  print $langs->trans(
"Date");
 
  384  print $form->selectDate(!empty($dateech) ? $dateech : 
'-1', 
'ech', 0, 0, 0, 
'charge', 1, 1);
 
  390  print 
'<td class="fieldrequired">';
 
  391  print $form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo"));
 
  394  print $form->selectDate(!empty($dateperiod) ? $dateperiod : 
'-1', 
'period', 0, 0, 0, 
'charge', 1);
 
  400  print 
'<td class="fieldrequired">';
 
  401  print $langs->trans(
"Amount");
 
  403  print 
'<td><input type="text" size="6" name="amount" class="flat" value="'.dol_escape_htmltag(
GETPOST(
'amount', 
'alpha')).
'"></td>';
 
  408  print $langs->trans(
'Employee');
 
  410  print 
'<td>'.img_picto(
'', 
'user', 
'class="pictofixedwidth"').$form->select_dolusers(
'', 
'userid', 1).
'</td></tr>';
 
  413  if (isModEnabled(
'project')) {
 
  417    $langs->load(
"projects");
 
  419    print 
'<tr><td>'.$langs->trans(
"Project").
'</td><td>';
 
  421    print 
img_picto(
'', 
'project', 
'class="pictofixedwidth"').$formproject->select_projects(-1, $fk_project, 
'fk_project', 0, 0, 1, 1, 0, 0, 0, 
'', 1);
 
  427  print 
'<tr><td>'.$langs->trans(
'DefaultPaymentMode').
'</td><td colspan="2">';
 
  428  $form->select_types_paiements(
GETPOSTINT(
'mode_reglement_id'), 
'mode_reglement_id');
 
  432  if (isModEnabled(
"bank")) {
 
  433    print 
'<tr><td>'.$langs->trans(
'DefaultBankAccount').
'</td><td colspan="2">';
 
  434    print 
img_picto(
'', 
'bank_account', 
'class="pictofixedwidth"').$form->select_comptes(
GETPOSTINT(
'fk_account'), 
'fk_account', 0, 
'', 2, 
'', 0, 
'', 1);
 
  442  print 
'<div class="center">';
 
  443  print 
'<input type="submit" class="button button-add" value="'.$langs->trans(
"Add").
'">';
 
  444  print 
'     ';
 
  445  print 
'<input type="button" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'" onClick="history.go(-1)">';
 
  458    $totalpaid = 
$object->getSommePaiement();
 
  461    if ($action === 
'clone') {
 
  462      $formquestion = array(
 
  463        array(
'type' => 
'text', 
'name' => 
'clone_label', 
'label' => $langs->trans(
"Label"), 
'value' => $langs->trans(
"CopyOf").
' '.
$object->label, 
'tdclass'=>
'fieldrequired'),
 
  466        $formquestion[] = array(
'type' => 
'checkbox', 
'name' => 
'clone_for_next_month', 
'label' => $langs->trans(
"CloneTaxForNextMonth"), 
'value' => 1);
 
  468        $formquestion[] = array(
'type' => 
'date', 
'datenow'=>1, 
'name' => 
'clone_date_ech', 
'label' => $langs->trans(
"Date"), 
'value' => -1);
 
  469        $formquestion[] = array(
'type' => 
'date', 
'name' => 
'clone_period', 
'label' => $langs->trans(
"PeriodEndDate"), 
'value' => -1);
 
  470        $formquestion[] = array(
'type' => 
'text', 
'name' => 
'amount', 
'label' => $langs->trans(
"Amount"), 
'value' => 
price(
$object->amount), 
'morecss' => 
'width100');
 
  473      $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneTax', 
$object->ref), 
'confirm_clone', $formquestion, 
'yes', 1, 280);
 
  477    if ($action == 
'paid') {
 
  478      $text = $langs->trans(
'ConfirmPaySocialContribution');
 
  479      $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
"?id=".
$object->id, $langs->trans(
'PaySocialContribution'), $text, 
"confirm_paid", 
'', 
'', 2);
 
  483    if ($action == 
'delete') {
 
  484      $text = $langs->trans(
'ConfirmDeleteSocialContribution');
 
  485      $formconfirm = $form->formconfirm($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, $langs->trans(
'DeleteSocialContribution'), $text, 
'confirm_delete', 
'', 
'', 2);
 
  488    if ($action == 
'edit') {
 
  489      print 
'<form name="charge" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="POST">';
 
  490      print 
'<input type="hidden" name="token" value="'.newToken().
'">';
 
  491      print 
'<input type="hidden" name="action" value="update">';
 
  494    $parameters = array(
'formConfirm' => $formconfirm, 
'lineid' => $lineid);
 
  495    $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters, 
$object, $action); 
 
  496    if (empty($reshook)) {
 
  497      $formconfirm .= $hookmanager->resPrint;
 
  498    } elseif ($reshook > 0) {
 
  499      $formconfirm = $hookmanager->resPrint;
 
  505    print 
dol_get_fiche_head($head, 
'card', $langs->trans(
"SocialContribution"), -1, 
'bill', 0, 
'', 
'', 0, 
'', 1);
 
  512    $linkback = 
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
 
  514    $morehtmlref = 
'<div class="refidno">';
 
  516    $morehtmlref .= $form->editfieldkey(
"Label", 
'lib', 
$object->label, 
$object, $user->hasRight(
'tax', 
'charges', 
'creer'), 
'string', 
'', 0, 1);
 
  517    $morehtmlref .= $form->editfieldval(
"Label", 
'lib', 
$object->label, 
$object, $user->hasRight(
'tax', 
'charges', 
'creer'), 
'string', 
'', 
null, 
null, 
'', 1);
 
  520    if ($action != 
'editfk_user') {
 
  522        $userstatic = 
new User($db);
 
  523        $result = $userstatic->fetch(
$object->fk_user);
 
  525          $morehtmlref .= 
'<br>' .$langs->trans(
'Employee').
' : '.$userstatic->getNomUrl(1);
 
  528        $morehtmlref .= 
'<br>' . $form->editfieldkey(
"Employee", 
'fk_user', 
$object->label, 
$object, $user->hasRight(
'salaries', 
'write'), 
'string', 
'', 0, 1);
 
  530          $userstatic = 
new User($db);
 
  531          $result = $userstatic->fetch(
$object->fk_user);
 
  533            $morehtmlref .= $userstatic->getNomUrl(1);
 
  541      $morehtmlref .= 
'<br>'.$langs->trans(
'Employee').
' : ';
 
  542      $morehtmlref .= 
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
 
  543      $morehtmlref .= 
'<input type="hidden" name="action" value="setfk_user">';
 
  544      $morehtmlref .= 
'<input type="hidden" name="token" value="'.newToken().
'">';
 
  545      $morehtmlref .= $form->select_dolusers(
$object->fk_user, 
'userid', 1);
 
  546      $morehtmlref .= 
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
 
  547      $morehtmlref .= 
'</form>';
 
  551    if (isModEnabled(
'project')) {
 
  552      $langs->load(
"projects");
 
  553      $morehtmlref .= 
'<br>';
 
  554      if ($permissiontoadd) {
 
  555        $morehtmlref .= 
img_picto($langs->trans(
"Project"), 
'project', 
'class="pictofixedwidth"');
 
  556        if ($action != 
'classify') {
 
  557          $morehtmlref .= 
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.((int) 
$object->id).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
 
  559        $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (!
getDolGlobalString(
'PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? 
$object->socid : -1), 
$object->fk_project, ($action == 
'classify' ? 
'fk_project' : 
'none'), 0, 0, 0, 1, 
'', 
'maxwidth300');
 
  561        if (!empty(
$object->fk_project)) {
 
  563          $proj->fetch(
$object->fk_project);
 
  564          $morehtmlref .= $proj->getNomUrl(1);
 
  566            $morehtmlref .= 
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
 
  571    $morehtmlref .= 
'</div>';
 
  575    $object->totalpaid = $totalpaid; 
 
  577    dol_banner_tab(
$object, 
'id', $linkback, 1, 
'rowid', 
'ref', $morehtmlref, 
'', 0, 
'', 
'', 0, $morehtmlright);
 
  579    print 
'<div class="fichecenter">';
 
  580    print 
'<div class="fichehalfleft">';
 
  581    print 
'<div class="underbanner clearboth"></div>';
 
  583    print 
'<table class="border centpercent tableforfield">';
 
  586    print 
'<tr><td class="titlefield">';
 
  587    print $langs->trans(
"Type").
"</td><td>".
$object->type_label.
"</td>";
 
  591    if ($action == 
'edit') {
 
  592      print 
'<tr><td>'.$langs->trans(
"Date").
"</td><td>";
 
  593      print $form->selectDate(
$object->date_ech, 
'ech', 0, 0, 0, 
'charge', 1, 1);
 
  596      print 
"<tr><td>".$langs->trans(
"Date").
"</td><td>".
dol_print_date(
$object->date_ech, 
'day').
"</td></tr>";
 
  600    print 
"<tr><td>".$form->textwithpicto($langs->trans(
"PeriodEndDate"), $langs->trans(
"LastDayTaxIsRelatedTo")).
"</td>";
 
  602    if ($action == 
'edit') {
 
  603      print $form->selectDate(
$object->periode, 
'period', 0, 0, 0, 
'charge', 1);
 
  610    if ($action == 
'edit') {
 
  611      print 
'<tr><td>'.$langs->trans(
"AmountTTC").
"</td><td>";
 
  612      print 
'<input type="text" name="amount" size="12" class="flat" value="'.price(
$object->amount).
'">';
 
  615      print 
'<tr><td>'.$langs->trans(
"AmountTTC").
'</td><td><span class="amount">'.
price(
$object->amount, 0, $langs, 1, -1, -1, $conf->currency).
'</span></td></tr>';
 
  620    print 
'<table class="nobordernopadding" width="100%"><tr><td>';
 
  621    print $langs->trans(
'DefaultPaymentMode');
 
  623    if ($action != 
'editmode') {
 
  624      print 
'<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editmode&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetMode'), 1).
'</a></td>';
 
  626    print 
'</tr></table>';
 
  628    if ($action == 
'editmode') {
 
  629      $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, 
$object->mode_reglement_id, 
'mode_reglement_id', 
'', 1, 1);
 
  631      $form->form_modes_reglement($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, 
$object->mode_reglement_id, 
'none');
 
  636    if (isModEnabled(
"bank")) {
 
  637      print 
'<tr><td class="nowrap">';
 
  638      print 
'<table class="centpercent nobordernopadding"><tr><td class="nowrap">';
 
  639      print $langs->trans(
'DefaultBankAccount');
 
  641      if ($action != 
'editbankaccount' && $user->hasRight(
'tax', 
'charges', 
'creer')) {
 
  642        print 
'<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editbankaccount&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetBankAccount'), 1).
'</a></td>';
 
  644      print 
'</tr></table>';
 
  646      if ($action == 
'editbankaccount') {
 
  647        $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, 
$object->fk_account, 
'fk_account', 1);
 
  649        $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, 
$object->fk_account, 
'none');
 
  656    $parameters = array();
 
  657    $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, 
$object, $action); 
 
  658    print $hookmanager->resPrint;
 
  663    print 
'<div class="fichehalfright">';
 
  665    print 
'<div class="underbanner clearboth"></div>';
 
  668    if (isModEnabled(
"bank")) {
 
  675    $sql = 
"SELECT p.rowid, p.num_paiement as num_payment, p.datep as dp, p.amount,";
 
  676    $sql .= 
" c.code as type_code,c.libelle as paiement_type,";
 
  677    $sql .= 
' ba.rowid as baid, ba.ref as baref, ba.label, ba.number as banumber, ba.account_number, ba.currency_code as bacurrency_code, ba.fk_accountancy_journal';
 
  678    $sql .= 
" FROM ".MAIN_DB_PREFIX.
"paiementcharge as p";
 
  679    $sql .= 
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank as b ON p.fk_bank = b.rowid';
 
  680    $sql .= 
' LEFT JOIN '.MAIN_DB_PREFIX.
'bank_account as ba ON b.fk_account = ba.rowid';
 
  681    $sql .= 
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_paiement as c ON p.fk_typepaiement = c.id";
 
  682    $sql .= 
", ".MAIN_DB_PREFIX.
"chargesociales as cs";
 
  683    $sql .= 
" WHERE p.fk_charge = ".((int) $id);
 
  684    $sql .= 
" AND p.fk_charge = cs.rowid";
 
  685    $sql .= 
" AND cs.entity IN (".getEntity(
'sc').
")";
 
  686    $sql .= 
" ORDER BY dp DESC";
 
  689    $resql = $db->query($sql);
 
  693      $num = $db->num_rows($resql);
 
  697      print 
'<div class="div-table-responsive-no-min">'; 
 
  698      print 
'<table class="noborder paymenttable">';
 
  699      print 
'<tr class="liste_titre">';
 
  700      print 
'<td>'.$langs->trans(
"RefPayment").
'</td>';
 
  701      print 
'<td>'.$langs->trans(
"Date").
'</td>';
 
  702      print 
'<td>'.$langs->trans(
"Type").
'</td>';
 
  703      if (isModEnabled(
"bank")) {
 
  704        print 
'<td class="liste_titre right">'.$langs->trans(
'BankAccount').
'</td>';
 
  706      print 
'<td class="right">'.$langs->trans(
"Amount").
'</td>';
 
  713          $objp = $db->fetch_object($resql);
 
  715          $paymentsocialcontributiontmp->id = $objp->rowid;
 
  716          $paymentsocialcontributiontmp->ref = $objp->rowid;
 
  717          $paymentsocialcontributiontmp->datep = $db->jdate($objp->dp);
 
  719          print 
'<tr class="oddeven"><td>';
 
  720          print $paymentsocialcontributiontmp->getNomUrl(1);
 
  723          print 
'<td>'.dol_print_date($db->jdate($objp->dp), 
'day').
"</td>\n";
 
  724          $labeltype = $langs->trans(
"PaymentType".$objp->type_code) != 
"PaymentType".$objp->type_code ? $langs->trans(
"PaymentType".$objp->type_code) : $objp->paiement_type;
 
  725          print 
"<td>".$labeltype.
' '.$objp->num_payment.
"</td>\n";
 
  726          if (isModEnabled(
"bank")) {
 
  727            $bankaccountstatic->id = $objp->baid;
 
  728            $bankaccountstatic->ref = $objp->baref;
 
  729            $bankaccountstatic->label = $objp->baref;
 
  730            $bankaccountstatic->number = $objp->banumber;
 
  731            $bankaccountstatic->currency_code = $objp->bacurrency_code;
 
  733            if (isModEnabled(
'accounting')) {
 
  734              $bankaccountstatic->account_number = $objp->account_number;
 
  737              $accountingjournal->fetch($objp->fk_accountancy_journal);
 
  738              $bankaccountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1, 
'', 1);
 
  741            print 
'<td class="right">';
 
  742            if ($bankaccountstatic->id) {
 
  743              print $bankaccountstatic->getNomUrl(1, 
'transactions');
 
  747          print 
'<td class="right"><span class="amount">'.price($objp->amount).
"</span></td>\n";
 
  749          $totalpaid += $objp->amount;
 
  753        print 
'<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans(
"None").
'</span></td>';
 
  754        print 
'<td></td><td></td><td></td><td></td>';
 
  758      print 
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AlreadyPaid").
' :</td><td class="right nowraponall">'.
price($totalpaid).
"</td></tr>\n";
 
  759      print 
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"AmountExpected").
' :</td><td class="right nowraponall">'.
price(
$object->amount).
"</td></tr>\n";
 
  761      $resteapayer = 
$object->amount - $totalpaid;
 
  762      $cssforamountpaymentcomplete = 
'amountpaymentcomplete';
 
  764      print 
'<tr><td colspan="'.$nbcols.
'" class="right">'.$langs->trans(
"RemainderToPay").
" :</td>";
 
  765      print 
'<td class="right nowraponall'.($resteapayer ? 
' amountremaintopay' : (
' '.$cssforamountpaymentcomplete)).
'">'.
price($resteapayer).
"</td></tr>\n";
 
  778    print 
'<div class="clearboth"></div>';
 
  782    if ($action == 
'edit') {
 
  783      print $form->buttonsSaveCancel();
 
  792    if ($action != 
'edit') {
 
  793      print 
'<div class="tabsAction">'.
"\n";
 
  796      if (
$object->paye && $user->hasRight(
'tax', 
'charges', 
'creer')) {
 
  797        print 
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=reopen&token='.
newToken().
'">'.$langs->trans(
"ReOpen").
'</a></div>';
 
  801      if (
$object->paye == 0 && $user->hasRight(
'tax', 
'charges', 
'creer')) {
 
  802        print 
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a></div>';
 
  807        print 
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/paiement_charge.php?id='.
$object->id.
'&action=create&token='.
newToken().
'">'.$langs->trans(
"DoPayment").
"</a></div>";
 
  811      if (
$object->paye == 0 && round($resteapayer) <= 0 && $user->hasRight(
'tax', 
'charges', 
'creer')) {
 
  812        print 
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=paid&token='.
newToken().
'">'.$langs->trans(
"ClassifyPaid").
'</a></div>';
 
  816      if ($user->hasRight(
'tax', 
'charges', 
'creer')) {
 
  817        print 
'<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=clone&token='.
newToken().
'">'.$langs->trans(
"ToClone").
"</a></div>";
 
  821      if ($user->hasRight(
'tax', 
'charges', 
'supprimer') && empty($totalpaid)) {
 
  822        print 
'<div class="inline-block divButAction"><a class="butActionDelete" href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.
$object->id.
'&action=delete&token='.
newToken().
'">'.$langs->trans(
"Delete").
'</a></div>';
 
  824        print 
'<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.(dol_escape_htmltag($langs->trans(
"DisabledBecausePayments"))).
'">'.$langs->trans(
"Delete").
'</a></div>';
 
  832    if (
GETPOST(
'modelselected')) {
 
  836    if ($action != 
'presend') {
 
  837      print 
'<div class="fichecenter"><div class="fichehalfleft">';
 
  838      print 
'<a name="builddoc"></a>'; 
 
  840      $includedocgeneration = 1;
 
  843      if ($includedocgeneration) {
 
  845        $relativepath = $objref.
'/'.$objref.
'.pdf';
 
  846        $filedir = $conf->tax->dir_output.
'/'.$objref;
 
  847        $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".
$object->id;
 
  849        $delallowed = $user->hasRight(
'tax', 
'charges', 
'creer'); 
 
  850        print $formfile->showdocuments(
'tax', $objref, $filedir, $urlsource, $genallowed, $delallowed, 
$object->model_pdf, 1, 0, 0, 28, 0, 
'', 
'', 
'', $langs->defaultlang);
 
  858      print 
'</div><div class="fichehalfright">';
 
  871      print 
'</div></div>';
 
  875    if (
GETPOST(
'modelselected')) {
 
  881    $defaulttopic = 
'InformationMessage';
 
  882    $diroutput = $conf->tax->dir_output;
 
  883    $trackid = 
'sc'.$object->id;
 
  885    include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
 
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage bank accounts.
Class to manage accounting journals.
Class for managing the social charges.
Class to manage payments of social contributions.
Class to manage projects.
Class to manage Dolibarr users.
dol_time_plus_duree($time, $duration_value, $duration_unit, $ruleforendofmonth=0)
Add a delay to a date.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
dol_now($mode='auto')
Return date for now.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.
tax_prepare_head(ChargeSociales $object)
Prepare array with list of tabs.