49 global $conf, $langs, $user;
51 $langs->load(
'datapolicy@datapolicy');
55 $nbupdated = $nbdeleted = 0;
58 $arrayofparameters = array(
59 'DATAPOLICIES_TIERS_CLIENT' => array(
61 SELECT s.rowid FROM ".MAIN_DB_PREFIX.
"societe as s
62 WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
66 AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
68 SELECT DISTINCT a.fk_soc
69 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
70 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
71 AND a.fk_soc IS NOT NULL
75 "file" => DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php',
76 'fields_anonym' => array(
77 'name' => $langs->trans(
'ANONYME'),
94 'DATAPOLICIES_TIERS_PROSPECT' => array(
96 SELECT s.rowid FROM ".MAIN_DB_PREFIX.
"societe as s
97 WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
100 AND s.fournisseur = 0
101 AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
103 SELECT DISTINCT a.fk_soc
104 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
105 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
106 AND a.fk_soc IS NOT NULL
109 "class" =>
"Societe",
110 "file" => DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php',
111 'fields_anonym' => array(
112 'name' => $langs->trans(
'ANONYME'),
129 'DATAPOLICIES_TIERS_PROSPECT_CLIENT' => array(
131 SELECT s.rowid FROM ".MAIN_DB_PREFIX.
"societe as s
132 WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
135 AND s.fournisseur = 0
136 AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
138 SELECT DISTINCT a.fk_soc
139 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
140 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
141 AND a.fk_soc IS NOT NULL
144 "class" =>
"Societe",
145 "file" => DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php',
146 'fields_anonym' => array(
147 'name' => $langs->trans(
'ANONYME'),
164 'DATAPOLICIES_TIERS_NIPROSPECT_NICLIENT' => array(
166 SELECT s.rowid FROM ".MAIN_DB_PREFIX.
"societe as s
167 WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
170 AND s.fournisseur = 0
171 AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
173 SELECT DISTINCT a.fk_soc
174 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
175 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
176 AND a.fk_soc IS NOT NULL
179 "class" =>
"Societe",
180 "file" => DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php',
181 'fields_anonym' => array(
182 'name' => $langs->trans(
'ANONYME'),
199 'DATAPOLICIES_TIERS_FOURNISSEUR' => array(
201 SELECT s.rowid FROM ".MAIN_DB_PREFIX.
"societe as s
202 WHERE (s.fk_forme_juridique IN (11, 12, 13, 15, 17, 18, 19, 35, 60, 312, 316, 401, 600, 700, 1005) OR s.fk_typent = 8)
204 AND s.fournisseur = 1
205 AND s.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
207 SELECT DISTINCT a.fk_soc
208 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
209 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
210 AND a.fk_contact IS NOT NULL
213 "class" =>
"Societe",
214 "file" => DOL_DOCUMENT_ROOT.
'/societe/class/societe.class.php',
215 'fields_anonym' => array(
216 'name' => $langs->trans(
'ANONYME'),
233 'DATAPOLICIES_CONTACT_CLIENT' => array(
235 SELECT c.rowid FROM ".MAIN_DB_PREFIX.
"socpeople as c
236 INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = c.fk_soc
238 AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
240 AND s.fournisseur = 0
242 SELECT DISTINCT a.fk_contact
243 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
244 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
245 AND a.fk_contact IS NOT NULL
248 "class" =>
"Contact",
249 "file" => DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php',
250 'fields_anonym' => array(
251 'lastname' => $langs->trans(
'ANONYME'),
260 'phone_mobile' =>
'',
272 'DATAPOLICIES_CONTACT_PROSPECT' => array(
274 SELECT c.rowid FROM ".MAIN_DB_PREFIX.
"socpeople as c
275 INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = c.fk_soc
277 AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
279 AND s.fournisseur = 0
281 SELECT DISTINCT a.fk_contact
282 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
283 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
284 AND a.fk_contact IS NOT NULL
287 "class" =>
"Contact",
288 "file" => DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php',
289 'fields_anonym' => array(
290 'lastname' => $langs->trans(
'ANONYME'),
299 'phone_mobile' =>
'',
311 'DATAPOLICIES_CONTACT_PROSPECT_CLIENT' => array(
313 SELECT c.rowid FROM ".MAIN_DB_PREFIX.
"socpeople as c
314 INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = c.fk_soc
316 AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
318 AND s.fournisseur = 0
320 SELECT DISTINCT a.fk_contact
321 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
322 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
323 AND a.fk_contact IS NOT NULL
326 "class" =>
"Contact",
327 "file" => DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php',
328 'fields_anonym' => array(
329 'lastname' => $langs->trans(
'ANONYME'),
338 'phone_mobile' =>
'',
350 'DATAPOLICIES_CONTACT_NIPROSPECT_NICLIENT' => array(
352 SELECT c.rowid FROM ".MAIN_DB_PREFIX.
"socpeople as c
353 INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = c.fk_soc
355 AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
357 AND s.fournisseur = 0
359 SELECT DISTINCT a.fk_contact
360 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
361 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
362 AND a.fk_contact IS NOT NULL
365 "class" =>
"Contact",
366 "file" => DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php',
367 'fields_anonym' => array(
368 'lastname' => $langs->trans(
'ANONYME'),
377 'phone_mobile' =>
'',
389 'DATAPOLICIES_CONTACT_FOURNISSEUR' => array(
391 SELECT c.rowid FROM ".MAIN_DB_PREFIX.
"socpeople as c
392 INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = c.fk_soc
394 AND c.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
395 AND s.fournisseur = 1
397 SELECT DISTINCT a.fk_contact
398 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
399 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
400 AND a.fk_contact IS NOT NULL
403 "class" =>
"Contact",
404 "file" => DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php',
405 'fields_anonym' => array(
406 'lastname' => $langs->trans(
'ANONYME'),
415 'phone_mobile' =>
'',
427 'DATAPOLICIES_ADHERENT' => array(
429 SELECT a.rowid FROM ".MAIN_DB_PREFIX.
"adherent as a
431 AND a.tms < DATE_SUB(NOW(), INTERVAL %d MONTH)
433 SELECT DISTINCT a.fk_element
434 FROM ".MAIN_DB_PREFIX.
"actioncomm as a
435 WHERE a.tms > DATE_SUB(NOW(), INTERVAL %d MONTH)
436 AND a.elementtype LIKE 'member'
437 AND a.fk_element IS NOT NULL
440 "class" =>
"Adherent",
441 "file" => DOL_DOCUMENT_ROOT.
'/adherents/class/adherent.class.php',
442 'fields_anonym' => array(
443 'lastname' => $langs->trans(
'ANONYME'),
444 'firstname' => $langs->trans(
'ANONYME'),
452 'phone_mobile' =>
'',
467 foreach ($arrayofparameters as $key => $params)
469 if ($conf->global->$key !=
'' && is_numeric($conf->global->$key) && (
int) $conf->global->$key > 0)
471 $sql = sprintf($params[
'sql'], (
int) $conf->entity, (
int) $conf->global->$key, (
int) $conf->global->$key);
480 require_once $params[
'file'];
481 $object =
new $params[
'class']($this->db);
483 while ($i < $num && !$error)
485 $obj = $this->
db->fetch_object(
$resql);
487 $object->fetch($obj->rowid);
488 $object->id = $obj->rowid;
490 if ($object->isObjectUsed($obj->rowid) > 0)
492 foreach ($params[
'fields_anonym'] as $fields => $val) {
493 $object->$fields = $val;
495 $result = $object->update($obj->rowid, $user);
498 if ($params[
'class'] ==
'Societe') {
500 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"socpeople WHERE fk_soc = ".$obj->rowid;
501 $result = $this->
db->query($sql);
504 $errormsg = $this->
db->lasterror();
509 $errormsg = $object->error;
514 if ($object->element ==
'adherent') {
515 $result = $object->delete($obj->rowid, $user);
517 $result = $object->delete($user);
521 $errormsg = $object->error;
538 $this->output = $nbupdated.
' record updated, '.$nbdeleted.
' record deleted';
540 $this->error = $errormsg;
cleanDataForDataPolicy()
Function exec CAN BE A CRON TASK.
$conf db
API class for accounts.
__construct($db)
Constructor.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.