doxygen
This commit is contained in:
parent
bb09c84417
commit
fa6d02fb3f
@ -1,20 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Advance Targeting Emailling for mass emailing module
|
/* Advance Targeting Emailling for mass emailing module
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file comm/mailing/class/advtargetemailing.class.php
|
* \file comm/mailing/class/advtargetemailing.class.php
|
||||||
@ -114,17 +114,17 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
|
||||||
$this->select_target_type = array(
|
$this->select_target_type = array(
|
||||||
'2' => $langs->trans('Contacts'),
|
'2' => $langs->trans('Contacts'),
|
||||||
'1' => $langs->trans('Contacts').'+'.$langs->trans('ThirdParty'),
|
'1' => $langs->trans('Contacts').'+'.$langs->trans('ThirdParty'),
|
||||||
'3' => $langs->trans('ThirdParty'),
|
'3' => $langs->trans('ThirdParty'),
|
||||||
'4' => $langs->trans('ContactsWithThirdpartyFilter')
|
'4' => $langs->trans('ContactsWithThirdpartyFilter')
|
||||||
);
|
);
|
||||||
$this->type_statuscommprospect = array(
|
$this->type_statuscommprospect = array(
|
||||||
-1 => $langs->trans("StatusProspect-1"),
|
-1 => $langs->trans("StatusProspect-1"),
|
||||||
0 => $langs->trans("StatusProspect0"),
|
0 => $langs->trans("StatusProspect0"),
|
||||||
1 => $langs->trans("StatusProspect1"),
|
1 => $langs->trans("StatusProspect1"),
|
||||||
2 => $langs->trans("StatusProspect2"),
|
2 => $langs->trans("StatusProspect2"),
|
||||||
3 => $langs->trans("StatusProspect3")
|
3 => $langs->trans("StatusProspect3")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,11 +141,19 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if (isset($this->fk_element)) $this->fk_element = (int) $this->fk_element;
|
if (isset($this->fk_element)) {
|
||||||
if (isset($this->type_element)) $this->type_element = trim($this->type_element);
|
$this->fk_element = (int) $this->fk_element;
|
||||||
|
}
|
||||||
|
if (isset($this->type_element)) {
|
||||||
|
$this->type_element = trim($this->type_element);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($this->name)) $this->name = trim($this->name);
|
if (isset($this->name)) {
|
||||||
if (isset($this->filtervalue)) $this->filtervalue = trim($this->filtervalue);
|
$this->name = trim($this->name);
|
||||||
|
}
|
||||||
|
if (isset($this->filtervalue)) {
|
||||||
|
$this->filtervalue = trim($this->filtervalue);
|
||||||
|
}
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
// Put here code to add control on parameters values
|
// Put here code to add control on parameters values
|
||||||
@ -175,18 +183,17 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); }
|
if (!$resql) {
|
||||||
|
$error++; $this->errors[] = "Error ".$this->db->lasterror();
|
||||||
|
}
|
||||||
|
|
||||||
if (!$error)
|
if (!$error) {
|
||||||
{
|
|
||||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."advtargetemailing");
|
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."advtargetemailing");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit or rollback
|
// Commit or rollback
|
||||||
if ($error)
|
if ($error) {
|
||||||
{
|
foreach ($this->errors as $errmsg) {
|
||||||
foreach ($this->errors as $errmsg)
|
|
||||||
{
|
|
||||||
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
|
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
|
||||||
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
||||||
}
|
}
|
||||||
@ -225,10 +232,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql) {
|
||||||
{
|
if ($this->db->num_rows($resql)) {
|
||||||
if ($this->db->num_rows($resql))
|
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
@ -286,10 +291,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql) {
|
||||||
{
|
if ($this->db->num_rows($resql)) {
|
||||||
if ($this->db->num_rows($resql))
|
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
@ -351,10 +354,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql) {
|
||||||
{
|
if ($this->db->num_rows($resql)) {
|
||||||
if ($this->db->num_rows($resql))
|
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
@ -392,10 +393,18 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if (isset($this->fk_element)) $this->fk_element = (int) $this->fk_element;
|
if (isset($this->fk_element)) {
|
||||||
if (isset($this->type_element)) $this->type_element = trim($this->type_element);
|
$this->fk_element = (int) $this->fk_element;
|
||||||
if (isset($this->name)) $this->name = trim($this->name);
|
}
|
||||||
if (isset($this->filtervalue)) $this->filtervalue = trim($this->filtervalue);
|
if (isset($this->type_element)) {
|
||||||
|
$this->type_element = trim($this->type_element);
|
||||||
|
}
|
||||||
|
if (isset($this->name)) {
|
||||||
|
$this->name = trim($this->name);
|
||||||
|
}
|
||||||
|
if (isset($this->filtervalue)) {
|
||||||
|
$this->filtervalue = trim($this->filtervalue);
|
||||||
|
}
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
// Put here code to add a control on parameters values
|
// Put here code to add a control on parameters values
|
||||||
@ -421,10 +430,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Commit or rollback
|
// Commit or rollback
|
||||||
if ($error)
|
if ($error) {
|
||||||
{
|
foreach ($this->errors as $errmsg) {
|
||||||
foreach ($this->errors as $errmsg)
|
|
||||||
{
|
|
||||||
dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
|
dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
|
||||||
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
||||||
}
|
}
|
||||||
@ -450,21 +457,20 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
if (!$error)
|
if (!$error) {
|
||||||
{
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."advtargetemailing";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."advtargetemailing";
|
||||||
$sql .= " WHERE rowid=".$this->id;
|
$sql .= " WHERE rowid=".$this->id;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::delete sql=".$sql);
|
dol_syslog(get_class($this)."::delete sql=".$sql);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); }
|
if (!$resql) {
|
||||||
|
$error++; $this->errors[] = "Error ".$this->db->lasterror();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit or rollback
|
// Commit or rollback
|
||||||
if ($error)
|
if ($error) {
|
||||||
{
|
foreach ($this->errors as $errmsg) {
|
||||||
foreach ($this->errors as $errmsg)
|
|
||||||
{
|
|
||||||
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
||||||
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
||||||
}
|
}
|
||||||
@ -590,7 +596,7 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
$extrafields->fetch_name_optionals_label($elementtype);
|
$extrafields->fetch_name_optionals_label($elementtype);
|
||||||
|
|
||||||
foreach ($extrafields->attributes[$elementtype]['label'] as $key=>$val) {
|
foreach ($extrafields->attributes[$elementtype]['label'] as $key => $val) {
|
||||||
if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') ||
|
if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') ||
|
||||||
($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
|
($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
|
||||||
if (!empty($arrayquery['options_'.$key])) {
|
if (!empty($arrayquery['options_'.$key])) {
|
||||||
@ -620,7 +626,9 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($sqlwhere) > 0) $sql .= " WHERE ".implode(" AND ", $sqlwhere);
|
if (count($sqlwhere) > 0) {
|
||||||
|
$sql .= " WHERE ".implode(" AND ", $sqlwhere);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -631,10 +639,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
$num = $this->db->num_rows($resql);
|
$num = $this->db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
if ($num)
|
if ($num) {
|
||||||
{
|
while ($i < $num) {
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->thirdparty_lines[$i] = $obj->rowid;
|
$this->thirdparty_lines[$i] = $obj->rowid;
|
||||||
@ -701,8 +707,7 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
}
|
}
|
||||||
if ($arrayquery['contact_no_email'] != '') {
|
if ($arrayquery['contact_no_email'] != '') {
|
||||||
$tmpwhere = '';
|
$tmpwhere = '';
|
||||||
if (!empty($arrayquery['contact_no_email']))
|
if (!empty($arrayquery['contact_no_email'])) {
|
||||||
{
|
|
||||||
$tmpwhere .= "(t.email IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_unsubscribe WHERE t.entity IN (".getEntity('mailing').") AND email = '".$this->db->escape($arrayquery['contact_no_email'])."'))";
|
$tmpwhere .= "(t.email IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_unsubscribe WHERE t.entity IN (".getEntity('mailing').") AND email = '".$this->db->escape($arrayquery['contact_no_email'])."'))";
|
||||||
} else {
|
} else {
|
||||||
$tmpwhere .= "(t.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_unsubscribe WHERE t.entity IN (".getEntity('mailing').") AND email = '".$this->db->escape($arrayquery['contact_no_email'])."'))";
|
$tmpwhere .= "(t.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_unsubscribe WHERE t.entity IN (".getEntity('mailing').") AND email = '".$this->db->escape($arrayquery['contact_no_email'])."'))";
|
||||||
@ -731,7 +736,7 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
$extrafields->fetch_name_optionals_label($elementtype);
|
$extrafields->fetch_name_optionals_label($elementtype);
|
||||||
|
|
||||||
foreach ($extrafields->attributes[$elementtype]['label'] as $key=>$val) {
|
foreach ($extrafields->attributes[$elementtype]['label'] as $key => $val) {
|
||||||
if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') ||
|
if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') ||
|
||||||
($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
|
($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
|
||||||
if (!empty($arrayquery['options_'.$key.'_cnct'])) {
|
if (!empty($arrayquery['options_'.$key.'_cnct'])) {
|
||||||
@ -833,7 +838,7 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
$extrafields->fetch_name_optionals_label($elementtype);
|
$extrafields->fetch_name_optionals_label($elementtype);
|
||||||
|
|
||||||
foreach ($extrafields->attributes[$elementtype]['label'] as $key=>$val) {
|
foreach ($extrafields->attributes[$elementtype]['label'] as $key => $val) {
|
||||||
if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') ||
|
if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') ||
|
||||||
($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
|
($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
|
||||||
if (!empty($arrayquery['options_'.$key])) {
|
if (!empty($arrayquery['options_'.$key])) {
|
||||||
@ -864,7 +869,9 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (count($sqlwhere) > 0) $sql .= " WHERE ".implode(" AND ", $sqlwhere);
|
if (count($sqlwhere) > 0) {
|
||||||
|
$sql .= " WHERE ".implode(" AND ", $sqlwhere);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::query_contact sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class($this)."::query_contact sql=".$sql, LOG_DEBUG);
|
||||||
@ -874,10 +881,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
$num = $this->db->num_rows($resql);
|
$num = $this->db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
if ($num)
|
if ($num) {
|
||||||
{
|
while ($i < $num) {
|
||||||
while ($i < $num)
|
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->contact_lines[$i] = $obj->rowid;
|
$this->contact_lines[$i] = $obj->rowid;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user