bebeboutik/modules/contactform/contactform.php
2016-02-24 17:15:28 +01:00

123 lines
3.3 KiB
PHP

<?php
if (!defined('_PS_VERSION_'))
exit;
class Contactform extends Module {
const TYPE_PRESS = 1;
const TYPE_PROVIDER = 2;
private $assets_module_dir;
public function __construct() {
$this->name = 'contactform';
$this->tab = 'advertising_marketing';
$this->version = '1.0';
$this->author = 'Antadis';
$this->need_instance = 0;
parent::__construct();
$this->displayName = $this->l('Contact form for press and providers');
$this->description = $this->l('Integrate contact form.');
$this->assets_module_dir = dirname(__FILE__);
}
public function installDB() {
return Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'contactform` (
`id_contactform` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`brand` VARCHAR(255) NULL,
`compagny` VARCHAR(255) NOT NULL,
`lastname` VARCHAR(128) NOT NULL,
`firstname` VARCHAR(128) NOT NULL,
`function` VARCHAR(255) NOT NULL,
`email1` VARCHAR(255) NOT NULL,
`email2` VARCHAR(255) NULL,
`phone1` VARCHAR(255) NOT NULL,
`phone2` VARCHAR(255) NULL,
`purpose` VARCHAR(255) NULL,
`content` TEXT(65535) NOT NULL,
`date_add` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`type` INT(11) NOT NULL,
PRIMARY KEY (`id_contactform`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8;
')
&& Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'contactform_email` (
`id_contactform_email` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`email` VARCHAR(255) NULL,
PRIMARY KEY (`id_contactform_email`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8;
');
}
public function uninstallDB() {
return Db::getInstance()->Execute('DROP TABLE `'._DB_PREFIX_.'contactform`;')
&& Db::getInstance()->Execute('DROP TABLE `'._DB_PREFIX_.'contactform_email`;');
}
public function install() {
if(!parent::install() || !$this->installDB()) {
return FALSE;
}
return TRUE;
}
public function uninstall() {
if (!parent::uninstall() || !$this->uninstallDB() ) {
return FALSE;
}
return TRUE;
}
public function getContent() {
$content = "
{{ error }}
<form method='post'>
<textarea name='emails'>{{ emails }}</textarea>
<input type='submit' value='Modifier'>
<form>
";
if ($_POST) {
if (empty($_POST['emails'])) {
$content = str_replace('{{ error }}', $this->l("Aucune adresse email n'a été renseignée"), $content);
$content = str_replace('{{ emails }}', "", $content);
return $content;
}
$emails = explode("\n", trim($_POST['emails']));
foreach ($emails as $k => $email) {
$email[$k] = trim($email);
}
$emails = array_unique($emails);
DB::getInstance()->executeS("DELETE FROM "._DB_PREFIX_."contactform_email");
foreach ($emails as $k => $email) {
Db::getInstance()->autoExecute(_DB_PREFIX_.'contactform_email', [
'email' => pSQL($email)
], 'INSERT');
}
$content = str_replace('{{ error }}', $this->l("Modification effectuée"), $content);
} else {
$content = str_replace('{{ error }}', "", $content);
}
$currentEmails = Db::getInstance()->ExecuteS("SELECT email FROM "._DB_PREFIX_."contactform_email");
$contentEmail = '';
foreach ($currentEmails as $k => $row) {
$contentEmail .= $row['email']."\n";
}
$content = str_replace('{{ emails }}', $contentEmail, $content);
return $content;
}
}