Example #1
0
 }
 if (!$error) {
     $idfortaskuser = $user->id;
     $result = $object->add_contact($idfortaskuser, GETPOST("type"), 'internal');
     if ($result >= 0 || $result == -2) {
         // Test if we are already contact of the project (should be rare but sometimes we can add as task contact without being contact of project, like when admin user has been removed from contact of project)
         $sql = 'SELECT ec.rowid FROM ' . MAIN_DB_PREFIX . 'element_contact as ec, ' . MAIN_DB_PREFIX . 'c_type_contact as tc WHERE tc.rowid = ec.fk_c_type_contact';
         $sql .= ' AND ec.fk_socpeople = ' . $idfortaskuser . " AND ec.element_id = '.{$object->fk_project}.' AND tc.element = 'project' AND source = 'internal'";
         $resql = $db->query($sql);
         if ($resql) {
             $obj = $db->fetch_object($resql);
             if (!$obj) {
                 $project = new Project($db);
                 $project->fetch($object->fk_project);
                 // Get type
                 $listofprojcontact = $project->liste_type_contact('internal');
                 if (count($listofprojcontact)) {
                     $typeforprojectcontact = reset(array_keys($listofprojcontact));
                     $result = $project->add_contact($idfortaskuser, $typeforprojectcontact, 'internal');
                 }
             }
         } else {
             dol_print_error($db);
         }
     }
 }
 if ($result < 0) {
     $error++;
     if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
         $langs->load("errors");
         setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'warnings');