|
From: <be...@us...> - 2013-10-07 19:11:32
|
Revision: 12159
http://sourceforge.net/p/xoops/svn/12159
Author: beckmi
Date: 2013-10-07 19:11:27 +0000 (Mon, 07 Oct 2013)
Log Message:
-----------
fixed UTF-8 bug in email sending (cesag/mamba), PSR-2 code reformatting
Modified Paths:
--------------
XoopsModules/contact/trunk/contact/admin/about.php
XoopsModules/contact/trunk/contact/admin/contact.php
XoopsModules/contact/trunk/contact/admin/footer.php
XoopsModules/contact/trunk/contact/admin/header.php
XoopsModules/contact/trunk/contact/admin/index.html
XoopsModules/contact/trunk/contact/admin/index.php
XoopsModules/contact/trunk/contact/admin/log.php
XoopsModules/contact/trunk/contact/admin/menu.php
XoopsModules/contact/trunk/contact/admin/tools.php
XoopsModules/contact/trunk/contact/ajax.php
XoopsModules/contact/trunk/contact/class/contact.php
XoopsModules/contact/trunk/contact/class/index.html
XoopsModules/contact/trunk/contact/docs/ajax.html
XoopsModules/contact/trunk/contact/docs/changelog.txt
XoopsModules/contact/trunk/contact/docs/credits.txt
XoopsModules/contact/trunk/contact/docs/index.html
XoopsModules/contact/trunk/contact/docs/readme.html
XoopsModules/contact/trunk/contact/header.php
XoopsModules/contact/trunk/contact/images/index.html
XoopsModules/contact/trunk/contact/include/functions.php
XoopsModules/contact/trunk/contact/include/functions_update.php
XoopsModules/contact/trunk/contact/index.php
XoopsModules/contact/trunk/contact/js/admin.js
XoopsModules/contact/trunk/contact/language/english/admin.php
XoopsModules/contact/trunk/contact/language/english/help/index.html
XoopsModules/contact/trunk/contact/language/english/main.php
XoopsModules/contact/trunk/contact/language/english/modinfo.php
XoopsModules/contact/trunk/contact/language/index.html
XoopsModules/contact/trunk/contact/templates/admin/contact_about.html
XoopsModules/contact/trunk/contact/templates/admin/contact_contact.html
XoopsModules/contact/trunk/contact/templates/admin/contact_index.html
XoopsModules/contact/trunk/contact/templates/admin/contact_logs.html
XoopsModules/contact/trunk/contact/templates/admin/contact_tools.html
XoopsModules/contact/trunk/contact/templates/admin/index.html
XoopsModules/contact/trunk/contact/templates/index.html
XoopsModules/contact/trunk/contact/xoops_version.php
Modified: XoopsModules/contact/trunk/contact/admin/about.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/about.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/about.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -32,4 +32,3 @@
$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_about.html');
// Call footer
require dirname(__FILE__) . '/footer.php';
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/admin/contact.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/contact.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/contact.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -25,7 +25,7 @@
// Display Admin header
xoops_cp_header();
// Define default value
-$op = $contact_handler->Contact_CleanVars($_REQUEST, 'op', 'list', 'string');
+$op = $contact_handler->Contact_CleanVars($_REQUEST, 'op', 'list', 'string');
$contact_id = $contact_handler->Contact_CleanVars($_REQUEST, 'id', '0', 'int');
// Define scripts
@@ -37,167 +37,166 @@
$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/css/ui/' . xoops_getModuleOption('jquery_theme', 'system') . '/ui.all.css');
$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/css/admin.css');
-switch ($op)
-{
- case 'list':
- $contact = array();
- $contact['perpage'] = xoops_getModuleOption('admin_perpage','contact');
- $contact['order'] = 'DESC';
- $contact['sort'] = 'contact_id';
-
- // get limited information
- if (isset($_REQUEST['limit'])) {
- $contact['limit'] = $contact_handler->Contact_CleanVars($_REQUEST, 'limit', 0, 'int');
- } else {
- $contact['limit'] = $contact['perpage'];
- }
+switch ($op) {
+ case 'list':
+ $contact = array();
+ $contact['perpage'] = xoops_getModuleOption('admin_perpage', 'contact');
+ $contact['order'] = 'DESC';
+ $contact['sort'] = 'contact_id';
- // get start information
- if (isset($_REQUEST['start'])) {
- $contact['start'] = $contact_handler->Contact_CleanVars($_REQUEST, 'start', 0, 'int');
- } else {
- $contact['start'] = 0;
- }
-
- $contact_numrows = $contact_handler->Contact_GetCount('contact_cid');
- $contacts = $contact_handler->Contact_GetAdminList($contact , 'contact_cid');
+ // get limited information
+ if (isset($_REQUEST['limit'])) {
+ $contact['limit'] = $contact_handler->Contact_CleanVars($_REQUEST, 'limit', 0, 'int');
+ } else {
+ $contact['limit'] = $contact['perpage'];
+ }
- if ($contact_numrows > $contact['limit']) {
- $contact_pagenav = new XoopsPageNav($contact_numrows, $contact['limit'], $contact['start'], 'start', 'limit=' . $contact['limit']);
- $contact_pagenav = $contact_pagenav->renderNav(4);
- } else {
- $contact_pagenav = '';
- }
-
- $xoopsTpl->assign('contacts', $contacts);
- $xoopsTpl->assign('contact_pagenav', $contact_pagenav);
- $level = 'list';
- break;
-
- case 'reply':
- if ($contact_id > 0) {
- $obj = $contact_handler->get($contact_id);
- if($obj->getVar('contact_cid') != 0) {
- redirect_header ( 'contact.php', 3, _AM_CONTACT_CANTREPLY);
- }
- $form = $obj->Contact_ReplyForm();
- $xoopsTpl->assign('replyform', $form->render());
- $xoopsTpl->assign('replylist', $contact_handler->Contact_GetReply($contact_id));
- } else {
- redirect_header ( 'contact.php', 3, _AM_CONTACT_MSG_EXIST);
- }
- $level = 'reply';
- break;
-
- case 'doreply':
-
- // check email
- if ( !$contact_handler->Contact_CleanVars($_POST, 'contact_mailto', '', 'mail') ) {
- redirect_header ( "contact.php", 3, _MD_CONTACT_MES_NOVALIDEMAIL );
- exit();
- }
-
- // Info Processing
- $contact = $contact_handler->Contact_InfoProcessing($_POST);
-
- // insert in DB
- if($saveinfo = true) {
- $obj = $contact_handler->create();
- $obj->setVars ( $contact );
+ // get start information
+ if (isset($_REQUEST['start'])) {
+ $contact['start'] = $contact_handler->Contact_CleanVars($_REQUEST, 'start', 0, 'int');
+ } else {
+ $contact['start'] = 0;
+ }
- if(!$contact_handler->insert ( $obj )) {
- redirect_header ( "contact.php", 3, '4' );
- exit();
- }
-
- $contact_handler->Contact_AddReply( $contact['contact_cid'] );
-
- }
+ $contact_numrows = $contact_handler->Contact_GetCount('contact_cid');
+ $contacts = $contact_handler->Contact_GetAdminList($contact, 'contact_cid');
- // send mail can seet message
- if($sendmail = true) {
- $message = $contact_handler->Contact_ReplyMail($contact);
- } else if ($saveinfo = true) {
- $message = _MD_CONTACT_MES_SAVEINDB;
- } else {
- $message = _MD_CONTACT_MES_SENDERROR;
- }
-
- redirect_header ( "contact.php", 3, $message );
+ if ($contact_numrows > $contact['limit']) {
+ $contact_pagenav = new XoopsPageNav($contact_numrows, $contact['limit'], $contact['start'], 'start', 'limit=' . $contact['limit']);
+ $contact_pagenav = $contact_pagenav->renderNav(4);
+ } else {
+ $contact_pagenav = '';
+ }
- $level = 'doreply';
- break;
-
- case 'view':
+ $xoopsTpl->assign('contacts', $contacts);
+ $xoopsTpl->assign('contact_pagenav', $contact_pagenav);
+ $level = 'list';
+ break;
- $obj = $contact_handler->get ( $contact_id );
-
- if(!$obj) {
- redirect_header ( 'contact.php', 3, _AM_CONTACT_MSG_EXIST);
- exit ();
- }
-
- $contact = array ();
- $contact = $obj->toArray ();
- $contact['contact_id'] = $obj->getVar('contact_id');
- $contact['contact_uid'] = $obj->getVar('contact_uid');
- $contact['contact_name'] = $obj->getVar('contact_name');
- $contact['contact_owner'] = XoopsUser::getUnameFromId ( $obj->getVar('contact_uid') );
- $contact['contact_subject'] = $obj->getVar('contact_subject');
- $contact['contact_mail'] = $obj->getVar('contact_mail');
- $contact['contact_url'] = $obj->getVar('contact_url');
- $contact['contact_create'] = formatTimestamp ( $obj->getVar('contact_create'), _MEDIUMDATESTRING );
- $contact['contact_icq'] = $obj->getVar('contact_icq');
- $contact['contact_company'] = $obj->getVar('contact_company');
- $contact['contact_location'] = $obj->getVar('contact_location');
- $contact['contact_phone'] = $obj->getVar('contact_phone');
- $contact['contact_department'] = $obj->getVar('contact_department');
- $contact['contact_ip'] = $obj->getVar('contact_ip');
- $contact['contact_message'] = $obj->getVar('contact_message');
- $contact['contact_address'] = $obj->getVar('contact_address');
-
- $xoopsTpl->assign('contact', $contact);
- $xoopsTpl->assign('replylist', $contact_handler->Contact_GetReply($contact_id));
-
- $level = 'view';
- break;
-
- case 'delete':
-
- if ($contact_id > 0) {
- // Prompt message
- xoops_confirm(array("id" => $contact_id), 'contact.php?op=dodelete', _AM_CONTACT_MSG_DELETE);
- } else {
- redirect_header ( 'contact.php', 3, _AM_CONTACT_MSG_EXIST);
- }
+ case 'reply':
+ if ($contact_id > 0) {
+ $obj = $contact_handler->get($contact_id);
+ if ($obj->getVar('contact_cid') != 0) {
+ redirect_header('contact.php', 3, _AM_CONTACT_CANTREPLY);
+ }
+ $form = $obj->Contact_ReplyForm();
+ $xoopsTpl->assign('replyform', $form->render());
+ $xoopsTpl->assign('replylist', $contact_handler->Contact_GetReply($contact_id));
+ } else {
+ redirect_header('contact.php', 3, _AM_CONTACT_MSG_EXIST);
+ }
+ $level = 'reply';
+ break;
- $level = 'delete';
- break;
-
- case 'dodelete':
-
- if (!$contact_id > 0) {
- redirect_header ( 'contact.php', 3, _AM_CONTACT_MSG_EXIST);
- xoops_cp_footer ();
- exit ();
- }
-
- $criteria = new CriteriaCompo ();
- $criteria->add ( new Criteria ( 'contact_id', $contact_id ) );
- $criteria->add ( new Criteria ( 'contact_cid', $contact_id ), 'OR' );
+ case 'doreply':
- if (! $contact_handler->deleteAll($criteria)) {
- redirect_header ( 'contact.php', 1, _AM_CONTACT_MSG_DELETEERROR );
- xoops_cp_footer ();
- exit ();
- }
-
- redirect_header ( 'contact.php', 1, _AM_CONTACT_MSG_DELETED );
- xoops_cp_footer ();
- exit ();
- break;
-}
+ // check email
+ if (!$contact_handler->Contact_CleanVars($_POST, 'contact_mailto', '', 'mail')) {
+ redirect_header("contact.php", 3, _MD_CONTACT_MES_NOVALIDEMAIL);
+ exit();
+ }
+ // Info Processing
+ $contact = $contact_handler->Contact_InfoProcessing($_POST);
+
+ // insert in DB
+ if ($saveinfo = true) {
+ $obj = $contact_handler->create();
+ $obj->setVars($contact);
+
+ if (!$contact_handler->insert($obj)) {
+ redirect_header("contact.php", 3, '4');
+ exit();
+ }
+
+ $contact_handler->Contact_AddReply($contact['contact_cid']);
+
+ }
+
+ // send mail can seet message
+ if ($sendmail = true) {
+ $message = $contact_handler->Contact_ReplyMail($contact);
+ } elseif ($saveinfo = true) {
+ $message = _MD_CONTACT_MES_SAVEINDB;
+ } else {
+ $message = _MD_CONTACT_MES_SENDERROR;
+ }
+
+ redirect_header("contact.php", 3, $message);
+
+ $level = 'doreply';
+ break;
+
+ case 'view':
+
+ $obj = $contact_handler->get($contact_id);
+
+ if (!$obj) {
+ redirect_header('contact.php', 3, _AM_CONTACT_MSG_EXIST);
+ exit ();
+ }
+
+ $contact = array();
+ $contact = $obj->toArray();
+ $contact['contact_id'] = $obj->getVar('contact_id');
+ $contact['contact_uid'] = $obj->getVar('contact_uid');
+ $contact['contact_name'] = $obj->getVar('contact_name');
+ $contact['contact_owner'] = XoopsUser::getUnameFromId($obj->getVar('contact_uid'));
+ $contact['contact_subject'] = $obj->getVar('contact_subject');
+ $contact['contact_mail'] = $obj->getVar('contact_mail');
+ $contact['contact_url'] = $obj->getVar('contact_url');
+ $contact['contact_create'] = formatTimestamp($obj->getVar('contact_create'), _MEDIUMDATESTRING);
+ $contact['contact_icq'] = $obj->getVar('contact_icq');
+ $contact['contact_company'] = $obj->getVar('contact_company');
+ $contact['contact_location'] = $obj->getVar('contact_location');
+ $contact['contact_phone'] = $obj->getVar('contact_phone');
+ $contact['contact_department'] = $obj->getVar('contact_department');
+ $contact['contact_ip'] = $obj->getVar('contact_ip');
+ $contact['contact_message'] = $obj->getVar('contact_message');
+ $contact['contact_address'] = $obj->getVar('contact_address');
+
+ $xoopsTpl->assign('contact', $contact);
+ $xoopsTpl->assign('replylist', $contact_handler->Contact_GetReply($contact_id));
+
+ $level = 'view';
+ break;
+
+ case 'delete':
+
+ if ($contact_id > 0) {
+ // Prompt message
+ xoops_confirm(array("id" => $contact_id), 'contact.php?op=dodelete', _AM_CONTACT_MSG_DELETE);
+ } else {
+ redirect_header('contact.php', 3, _AM_CONTACT_MSG_EXIST);
+ }
+
+ $level = 'delete';
+ break;
+
+ case 'dodelete':
+
+ if (!$contact_id > 0) {
+ redirect_header('contact.php', 3, _AM_CONTACT_MSG_EXIST);
+ xoops_cp_footer();
+ exit ();
+ }
+
+ $criteria = new CriteriaCompo ();
+ $criteria->add(new Criteria ('contact_id', $contact_id));
+ $criteria->add(new Criteria ('contact_cid', $contact_id), 'OR');
+
+ if (!$contact_handler->deleteAll($criteria)) {
+ redirect_header('contact.php', 1, _AM_CONTACT_MSG_DELETEERROR);
+ xoops_cp_footer();
+ exit ();
+ }
+
+ redirect_header('contact.php', 1, _AM_CONTACT_MSG_DELETED);
+ xoops_cp_footer();
+ exit ();
+ break;
+}
+
$xoopsTpl->assign('navigation', $admin_class->addNavigation('contact.php'));
$xoopsTpl->assign('level', $level);
@@ -205,4 +204,3 @@
$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_contact.html');
// Call footer
require dirname(__FILE__) . '/footer.php';
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/admin/footer.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/footer.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/footer.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -21,4 +21,3 @@
*/
xoops_cp_footer();
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/admin/header.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/header.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/header.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -50,4 +50,4 @@
redirect_header("../../../admin.php", 5, _AM_MODULEADMIN_MISSING, false);
}
-$admin_class = new ModuleAdmin();
\ No newline at end of file
+$admin_class = new ModuleAdmin();
Modified: XoopsModules/contact/trunk/contact/admin/index.html
===================================================================
--- XoopsModules/contact/trunk/contact/admin/index.html 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/index.html 2013-10-07 19:11:27 UTC (rev 12159)
@@ -1 +1 @@
- <script>history.go(-1);</script>
\ No newline at end of file
+<script>history.go(-1);</script>
Modified: XoopsModules/contact/trunk/contact/admin/index.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/index.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/index.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -35,4 +35,3 @@
$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_index.html');
// Call footer
require dirname(__FILE__) . '/footer.php';
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/admin/log.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/log.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/log.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -27,31 +27,29 @@
// Define default value
$op = $contact_handler->Contact_CleanVars($_REQUEST, 'op', 'form', 'string');
-switch ($op)
-{
- case 'form':
- // prune manager
- $form = new XoopsThemeForm(_AM_CONTACT_LOGS_FORM, 'logs', 'log.php', 'post');
- $column = new XoopsFormSelect(_AM_CONTACT_LOGS_COLUMN, 'column','contact_phone');
- $column->addOption("contact_phone", _AM_CONTACT_LOGS_COLUMN_PHONE);
- $column->addOption("contact_url", _AM_CONTACT_LOGS_COLUMN_URL);
- $column->addOption("contact_mail", _AM_CONTACT_LOGS_COLUMN_MAIL);
- $form->addElement($column);
- $form->addElement(new XoopsFormHidden('op', 'getlog'));
- $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit'));
- $xoopsTpl->assign('form', $form->render());
- break;
-
- case 'getlog':
- $column = $contact_handler->Contact_CleanVars($_REQUEST, 'column', '', 'string');
- $log = $contact_handler->Contact_Logs($column);
- $xoopsTpl->assign('logs', $log);
- break;
-}
+switch ($op) {
+ case 'form':
+ // prune manager
+ $form = new XoopsThemeForm(_AM_CONTACT_LOGS_FORM, 'logs', 'log.php', 'post');
+ $column = new XoopsFormSelect(_AM_CONTACT_LOGS_COLUMN, 'column', 'contact_phone');
+ $column->addOption("contact_phone", _AM_CONTACT_LOGS_COLUMN_PHONE);
+ $column->addOption("contact_url", _AM_CONTACT_LOGS_COLUMN_URL);
+ $column->addOption("contact_mail", _AM_CONTACT_LOGS_COLUMN_MAIL);
+ $form->addElement($column);
+ $form->addElement(new XoopsFormHidden('op', 'getlog'));
+ $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit'));
+ $xoopsTpl->assign('form', $form->render());
+ break;
+ case 'getlog':
+ $column = $contact_handler->Contact_CleanVars($_REQUEST, 'column', '', 'string');
+ $log = $contact_handler->Contact_Logs($column);
+ $xoopsTpl->assign('logs', $log);
+ break;
+}
+
$xoopsTpl->assign('navigation', $admin_class->addNavigation('log.php'));
// Call template file
$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_logs.html');
// Call footer
require dirname(__FILE__) . '/footer.php';
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/admin/menu.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/menu.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/menu.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -45,7 +45,7 @@
$adminmenu[$i]["title"] = _MI_CONTACT_MENU_LOGS;
$adminmenu[$i]["link"] = "admin/log.php";
$adminmenu[$i]["desc"] = _MI_CONTACT_MENU_LOGS_DESC;
-$adminmenu[$i]["icon"] = $pathIcon32.'/exec.png';
+$adminmenu[$i]["icon"] = $pathIcon32.'/exec.png';
$i++;
$adminmenu[$i]["title"] = _MI_CONTACT_MENU_TOOLS;
$adminmenu[$i]["link"] = "admin/tools.php";
@@ -56,5 +56,3 @@
$adminmenu[$i]["link"] = "admin/about.php";
$adminmenu[$i]["desc"] = _MI_CONTACT_MENU_ABOUT_DESC;
$adminmenu[$i]["icon"] = $pathIcon32.'/about.png';
-
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/admin/tools.php
===================================================================
--- XoopsModules/contact/trunk/contact/admin/tools.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/admin/tools.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -27,35 +27,33 @@
// Define default value
$op = $contact_handler->Contact_CleanVars($_REQUEST, 'op', 'list', 'string');
-switch ($op)
-{
- case 'list':
- // prune manager
- $form = new XoopsThemeForm(_AM_CONTACT_TOOLS_PRUNE, 'tools', 'tools.php', 'post');
- $form->addElement(new XoopsFormTextDateSelect(_AM_CONTACT_TOOLS_PRUNE_BEFORE, 'prune_date', 15, time()));
- $onlyreply = new xoopsFormCheckBox('', 'onlyreply');
- $onlyreply->addOption(1, _AM_CONTACT_TOOLS_PRUNE_REPLYONLY);
- $form->addElement($onlyreply, false);
- $form->addElement(new XoopsFormHidden('op', 'prune'));
- $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit'));
- $xoopsTpl->assign('prune', $form->render());
- break;
-
- case 'prune':
+switch ($op) {
+ case 'list':
+ // prune manager
+ $form = new XoopsThemeForm(_AM_CONTACT_TOOLS_PRUNE, 'tools', 'tools.php', 'post');
+ $form->addElement(new XoopsFormTextDateSelect(_AM_CONTACT_TOOLS_PRUNE_BEFORE, 'prune_date', 15, time()));
+ $onlyreply = new xoopsFormCheckBox('', 'onlyreply');
+ $onlyreply->addOption(1, _AM_CONTACT_TOOLS_PRUNE_REPLYONLY);
+ $form->addElement($onlyreply, false);
+ $form->addElement(new XoopsFormHidden('op', 'prune'));
+ $form->addElement(new XoopsFormButton('', 'post', _SUBMIT, 'submit'));
+ $xoopsTpl->assign('prune', $form->render());
+ break;
+
+ case 'prune':
$timestamp = $contact_handler->Contact_CleanVars( $_REQUEST, 'prune_date', '', 'int' );
$onlyreply = $contact_handler->Contact_CleanVars( $_REQUEST, 'onlyreply', 0, 'int' );
- $timestamp = strtotime($timestamp);
- $count = $contact_handler->Contact_PruneCount($timestamp,$onlyreply);
+ $timestamp = strtotime($timestamp);
+ $count = $contact_handler->Contact_PruneCount($timestamp,$onlyreply);
$contact_handler->Contact_DeleteBeforeDate($timestamp,$onlyreply);
redirect_header ( 'tools.php', 1, sprintf(_AM_CONTACT_MSG_PRUNE_DELETED,$count) );
- xoops_cp_footer ();
- exit ();
- break;
-}
+ xoops_cp_footer ();
+ exit ();
+ break;
+}
$xoopsTpl->assign('navigation', $admin_class->addNavigation('tools.php'));
// Call template file
$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_tools.html');
// Call footer
require dirname(__FILE__) . '/footer.php';
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/ajax.php
===================================================================
--- XoopsModules/contact/trunk/contact/ajax.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/ajax.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -21,16 +21,14 @@
*/
include 'header.php';
-
-if(!empty($_POST)) {
- // Info Processing
+
+if (!empty($_POST)) {
+ // Info Processing
$contact = $contact_handler->Contact_InfoProcessing($_POST);
// Save info
- $obj = $contact_handler->create();
- $obj->setVars($contact);
- $contact_handler->insert($obj);
- // send mail can seet message
- $message = $contact_handler->Contact_SendMail($contact);
+ $obj = $contact_handler->create();
+ $obj->setVars($contact);
+ $contact_handler->insert($obj);
+ // send mail can seet message
+ $message = $contact_handler->Contact_SendMail($contact);
}
-
-?>
\ No newline at end of file
Modified: XoopsModules/contact/trunk/contact/class/contact.php
===================================================================
--- XoopsModules/contact/trunk/contact/class/contact.php 2013-10-07 19:04:54 UTC (rev 12158)
+++ XoopsModules/contact/trunk/contact/class/contact.php 2013-10-07 19:11:27 UTC (rev 12159)
@@ -21,453 +21,474 @@
*/
if (!defined("XOOPS_ROOT_PATH")) {
- die("XOOPS root path not defined");
+ die("XOOPS root path not defined");
}
class contact extends XoopsObject
{
-
- public function __construct()
- {
- $this->XoopsObject();
- $this->initVar("contact_id",XOBJ_DTYPE_INT,null,false,11);
- $this->initVar("contact_uid",XOBJ_DTYPE_INT,null,false,11);
- $this->initVar("contact_cid",XOBJ_DTYPE_INT,null,false,11);
- $this->initVar("contact_name",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_subject",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_mail",XOBJ_DTYPE_EMAIL, null, false);
- $this->initVar("contact_url",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_create", XOBJ_DTYPE_INT, null, false);
- $this->initVar("contact_icq",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_company",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_location",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_phone",XOBJ_DTYPE_TXTBOX,null,false);
- $this->initVar("contact_department",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_ip",XOBJ_DTYPE_TXTBOX, null, false);
- $this->initVar("contact_message",XOBJ_DTYPE_TXTAREA, null, false);
- $this->initVar("contact_address",XOBJ_DTYPE_TXTAREA, null, false);
- $this->initVar("contact_reply",XOBJ_DTYPE_INT,null,false,1);
- $this->initVar("contact_platform",XOBJ_DTYPE_ENUM,null,false,'','',array('Android','Ios','Web'));
- $this->initVar("contact_type",XOBJ_DTYPE_ENUM,null,false,'','',array('Contact','Phone','Mail'));
-
- $this->db = $GLOBALS ['xoopsDB'];
- $this->table = $this->db->prefix ( 'contact' );
- }
-
- public function Contact_ContactForm($department)
- {
- global $xoopsConfig, $xoopsOption, $xoopsUser;
- if($this->isNew()) {
- if(!empty($xoopsUser)) {
- $contact_uid = $xoopsUser->getVar('uid');
- $contact_name = $xoopsUser->getVar('uname');
- $contact_mail = $xoopsUser->getVar('email');
- $contact_url = $xoopsUser->getVar('url');
- $contact_icq = $xoopsUser->getVar('user_icq');
- $contact_location = $xoopsUser->getVar('user_from');
-
- } else {
- $contact_uid = 0;
- $contact_name = '';
- $contact_mail = '';
- $contact_url = '';
- $contact_icq = '';
- $contact_location = '';
- }
- } else {
- $contact_uid = $this->getVar ( 'contact_uid');
- $contact_name = $this->getVar ( 'contact_name');
- $contact_mail = $this->getVar ( 'contact_mail');
- $contact_url = $this->getVar ( 'contact_url');
- $contact_icq = $this->getVar ( 'contact_icq');
- $contact_location = $this->getVar ( 'contact_location');
- }
-
- $form = new XoopsThemeForm(_MD_CONTACT_FORM, 'save', 'index.php', 'post', true);
- $form->setExtra ( 'enctype="multipart/form-data"' );
- $form->addElement ( new XoopsFormHidden ( 'op', 'save' ) );
- $form->addElement ( new XoopsFormHidden ( 'contact_id', $this->getVar ( 'contact_id', 'e' ) ) );
- $form->addElement ( new XoopsFormHidden ( 'contact_uid', $contact_uid ) );
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_NAME, 'contact_name', 50, 255, $contact_name), true );
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_MAIL, 'contact_mail', 50, 255, $contact_mail), true );
-
- if(xoops_getModuleOption('form_url','contact')) {
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_URL, 'contact_url', 50, 255, $contact_url), false );
- }
- if(xoops_getModuleOption('form_icq','contact')) {
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_ICQ, 'contact_icq', 50, 255, $contact_icq), false );
- }
- if(xoops_getModuleOption('form_company','contact')) {
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_COMPANY, 'contact_company', 50, 255, $this->getVar ( 'contact_company')), false );
- }
- if(xoops_getModuleOption('form_location','contact')) {
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_LOCATION, 'contact_location', 50, 255, $contact_location), false );
- }
- if(xoops_getModuleOption('form_phone','contact')) {
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_PHONE, 'contact_phone', 50, 255, $this->getVar ( 'contact_phone')), false );
- }
- if(xoops_getModuleOption('form_address','contact')) {
- $form->addElement ( new XoopsFormTextArea ( _MD_CONTACT_ADDRESS, 'contact_address', $this->getVar ( 'contact_address', 'e' ), 3, 60 ), false );
- }
- if(xoops_getModuleOption('form_dept','contact')) {
- // show a drop down with the correct departments listed
- $departmentlist = new XoopsFormSelect( _MD_CONTACT_DEPARTMENT, 'contact_department' );
- $departments = xoops_getModuleOption('contact_dept','contact');
- foreach( $departments as $val ) {
- $valexplode = explode( ',', $val );
- $departmentlist->addOption($valexplode[0]);
+
+ public function __construct()
+ {
+ $this->XoopsObject();
+ $this->initVar("contact_id", XOBJ_DTYPE_INT, null, false, 11);
+ $this->initVar("contact_uid", XOBJ_DTYPE_INT, null, false, 11);
+ $this->initVar("contact_cid", XOBJ_DTYPE_INT, null, false, 11);
+ $this->initVar("contact_name", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_subject", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_mail", XOBJ_DTYPE_EMAIL, null, false);
+ $this->initVar("contact_url", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_create", XOBJ_DTYPE_INT, null, false);
+ $this->initVar("contact_icq", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_company", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_location", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_phone", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_department", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_ip", XOBJ_DTYPE_TXTBOX, null, false);
+ $this->initVar("contact_message", XOBJ_DTYPE_TXTAREA, null, false);
+ $this->initVar("contact_address", XOBJ_DTYPE_TXTAREA, null, false);
+ $this->initVar("contact_reply", XOBJ_DTYPE_INT, null, false, 1);
+ $this->initVar("contact_platform", XOBJ_DTYPE_ENUM, null, false, '', '', array('Android', 'Ios', 'Web'));
+ $this->initVar("contact_type", XOBJ_DTYPE_ENUM, null, false, '', '', array('Contact', 'Phone', 'Mail'));
+
+ $this->db = $GLOBALS ['xoopsDB'];
+ $this->table = $this->db->prefix('contact');
+ }
+
+ public function Contact_ContactForm($department)
+ {
+ global $xoopsConfig, $xoopsOption, $xoopsUser;
+ if ($this->isNew()) {
+ if (!empty($xoopsUser)) {
+ $contact_uid = $xoopsUser->getVar('uid');
+ $contact_name = $xoopsUser->getVar('uname');
+ $contact_mail = $xoopsUser->getVar('email');
+ $contact_url = $xoopsUser->getVar('url');
+ $contact_icq = $xoopsUser->getVar('user_icq');
+ $contact_location = $xoopsUser->getVar('user_from');
+
+ } else {
+ $contact_uid = 0;
+ $contact_name = '';
+ $contact_mail = '';
+ $contact_url = '';
+ $contact_icq = '';
+ $contact_location = '';
+ }
+ } else {
+ $contact_uid = $this->getVar('contact_uid');
+ $contact_name = $this->getVar('contact_name');
+ $contact_mail = $this->getVar('contact_mail');
+ $contact_url = $this->getVar('contact_url');
+ $contact_icq = $this->getVar('contact_icq');
+ $contact_location = $this->getVar('contact_location');
}
- $form->addElement( $departmentlist );
- }
-
- $form->addElement ( new XoopsFormText ( _MD_CONTACT_SUBJECT, 'contact_subject', 50, 255, $this->getVar ( 'contact_subject' )), true );
- $form->addElement(new XoopsFormTextArea ( _MD_CONTACT_MESSAGE, 'contact_message', $this->getVar ( 'contact_message', 'e' ), 5, 60 ), true );
-
- xoops_load('XoopsFormCaptcha');
- $form->addElement(new XoopsFormCaptcha(), true);
-
- $form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
- return $form;
- }
-
- public function Contact_ReplyForm()
- {
- global $xoopsConfig;
- $form = new XoopsThemeForm(_AM_CONTACT_REPLY, 'doreply', 'contact.php', 'post', true);
- $form->setExtra ( 'enctype="multipart/form-data"' );
- $form->addElement ( new XoopsFormHidden ( 'op', 'doreply' ) );
- $form->addElement ( new XoopsFormHidden ( 'contact_id', $this->getVar ( 'contact_id', 'e' ) ) );
- $form->addElement ( new XoopsFormHidden ( 'contact_uid', $this->getVar ( 'contact_uid', 'e' ) ) );
- $form->addElement ( new XoopsFormLabel( _AM_CONTACT_FROM, '',''));
- $form->addElement ( new XoopsFormText ( _AM_CONTACT_NAMEFROM, 'contact_name', 50, 255, XoopsUser::getUnameFromId ( $this->getVar ( 'contact_uid' ) )), true );
- $form->addElement ( new XoopsFormText ( _AM_CONTACT_MAILFROM, 'contact_mail', 50, 255, $xoopsConfig['adminmail']), true );
- $form->addElement ( new XoopsFormLabel( _AM_CONTACT_TO, '',''));
- $form->addElement ( new XoopsFormText ( _AM_CONTACT_NAMETO, 'contact_nameto', 50, 255, $this->getVar ( 'contact_name' )), true );
- $form->addElement ( new XoopsFormText ( _AM_CONTACT_MAILTO, 'contact_mailto', 50, 255, $this->getVar ( 'contact_mail' )), true );
- $form->addElement ( new XoopsFormText ( _AM_CONTACT_SUBJECT, 'contact_subject', 50, 255, _RE . $this->getVar ( 'contact_subject' )), true );
- $form->addElement(new XoopsFormTextArea ( _AM_CONTACT_MESSAGE, 'contact_message', '', 5, 60 ), true );
- $form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
- return $form;
- }
-
- /**
- * Returns an array representation of the object
- *
- * @return array
- **/
- public function toArray()
- {
- $ret = array ();
- $vars = $this->getVars ();
- foreach ( array_keys ( $vars ) as $i ) {
- $ret [$i] = $this->getVar ( $i );
- }
- return $ret;
- }
+
+ $form = new XoopsThemeForm(_MD_CONTACT_FORM, 'save', 'index.php', 'post', true);
+ $form->setExtra('enctype="multipart/form-data"');
+ $form->addElement(new XoopsFormHidden ('op', 'save'));
+ $form->addElement(new XoopsFormHidden ('contact_id', $this->getVar('contact_id', 'e')));
+ $form->addElement(new XoopsFormHidden ('contact_uid', $contact_uid));
+ $form->addElement(new XoopsFormText (_MD_CONTACT_NAME, 'contact_name', 50, 255, $contact_name), true);
+ $form->addElement(new XoopsFormText (_MD_CONTACT_MAIL, 'contact_mail', 50, 255, $contact_mail), true);
+
+ if (xoops_getModuleOption('form_url', 'contact')) {
+ $form->addElement(new XoopsFormText (_MD_CONTACT_URL, 'contact_url', 50, 255, $contact_url), false);
+ }
+ if (xoops_getModuleOption('form_icq', 'contact')) {
+ $form->addElement(new XoopsFormText (_MD_CONTACT_ICQ, 'contact_icq', 50, 255, $contact_icq), false);
+ }
+ if (xoops_getModuleOption('form_company', 'contact')) {
+ $form->addElement(new XoopsFormText (_MD_CONTACT_COMPANY, 'contact_company', 50, 255, $this->getVar('contact_company')), false);
+ }
+ if (xoops_getModuleOption('form_location', 'contact')) {
+ $form->addElement(new XoopsFormText (_MD_CONTACT_LOCATION, 'contact_location', 50, 255, $contact_location), false);
+ }
+ if (xoops_getModuleOption('form_phone', 'contact')) {
+ $form->addElement(new XoopsFormText (_MD_CONTACT_PHONE, 'contact_phone', 50, 255, $this->getVar('contact_phone')), false);
+ }
+ if (xoops_getModuleOption('form_address', 'contact')) {
+ $form->addElement(new XoopsFormTextArea (_MD_CONTACT_ADDRESS, 'contact_address', $this->getVar('contact_address', 'e'), 3, 60), false);
+ }
+ if (xoops_getModuleOption('form_dept', 'contact')) {
+ // show a drop down with the correct departments listed
+ $departmentlist = new XoopsFormSelect(_MD_CONTACT_DEPARTMENT, 'contact_department');
+ $departments = xoops_getModuleOption('contact_dept', 'contact');
+ foreach ($departments as $val) {
+ $valexplode = explode(',', $val);
+ $departmentlist->addOption($valexplode[0]);
+ }
+ $form->addElement($departmentlist);
+ }
+
+ $form->addElement(new XoopsFormText (_MD_CONTACT_SUBJECT, 'contact_subject', 50, 255, $this->getVar('contact_subject')), true);
+ $form->addElement(new XoopsFormTextArea (_MD_CONTACT_MESSAGE, 'contact_message', $this->getVar('contact_message', 'e'), 5, 60), true);
+
+ xoops_load('XoopsFormCaptcha');
+ $form->addElement(new XoopsFormCaptcha(), true);
+
+ $form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
+
+ return $form;
+ }
+
+ public function Contact_ReplyForm()
+ {
+ global $xoopsConfig;
+ $form = new XoopsThemeForm(_AM_CONTACT_REPLY, 'doreply', 'contact.php', 'post', true);
+ $form->setExtra('enctype="multipart/form-data"');
+ $form->addElement(new XoopsFormHidden ('op', 'doreply'));
+ $form->addElement(new XoopsFormHidden ('contact_id', $this->getVar('contact_id', 'e')));
+ $form->addElement(new XoopsFormHidden ('contact_uid', $this->getVar('contact_uid', 'e')));
+ $form->addElement(new XoopsFormLabel(_AM_CONTACT_FROM, '', ''));
+ $form->addElement(
+ new XoopsFormText (_AM_CONTACT_NAMEFROM, 'contact_name', 50, 255, XoopsUser::getUnameFromId($this->getVar('contact_uid'))),
+ true
+ );
+ $form->addElement(new XoopsFormText (_AM_CONTACT_MAILFROM, 'contact_mail', 50, 255, $xoopsConfig['adminmail']), true);
+ $form->addElement(new XoopsFormLabel(_AM_CONTACT_TO, '', ''));
+ $form->addElement(new XoopsFormText (_AM_CONTACT_NAMETO, 'contact_nameto', 50, 255, $this->getVar('contact_name')), true);
+ $form->addElement(new XoopsFormText (_AM_CONTACT_MAILTO, 'contact_mailto', 50, 255, $this->getVar('contact_mail')), true);
+ $form->addElement(new XoopsFormText (_AM_CONTACT_SUBJECT, 'contact_subject', 50, 255, _RE . $this->getVar('contact_subject')), true);
+ $form->addElement(new XoopsFormTextArea (_AM_CONTACT_MESSAGE, 'contact_message', '', 5, 60), true);
+ $form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
+
+ return $form;
+ }
+
+ /**
+ * Returns an array representation of the object
+ *
+ * @return array
+ **/
+ public function toArray()
+ {
+ $ret = array();
+ $vars = $this->getVars();
+ foreach (array_keys($vars) as $i) {
+ $ret [$i] = $this->getVar($i);
+ }
+
+ return $ret;
+ }
}
class ContactContactHandler extends XoopsPersistableObjectHandler
{
- public function __construct(&$db)
- {
- parent::__construct($db, "contact", 'contact', 'contact_id', 'contact_mail');
- }
-
- /**
- * Get variables passed by GET or POST method
- *
- */
- public function Contact_CleanVars(&$global, $key, $default = '', $type = 'int')
- {
-
- switch ($type) {
- case 'array':
- $ret = (isset($global[$key]) && is_array($global[$key])) ? $global[$key] : $default;
- break;
- case 'date':
- $ret = (isset($global[$key])) ? strtotime($global[$key]) : $default;
- break;
- case 'string':
- $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_SANITIZE_MAGIC_QUOTES) : $default;
- break;
- case 'mail':
- $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_VALIDATE_EMAIL) : $default;
- break;
- case 'url':
- $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED) : $default;
- break;
- case 'ip':
- $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_VALIDATE_IP) : $default;
- break;
- case 'amp':
- $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_FLAG_ENCODE_AMP) : $default;
- break;
- case 'text':
- $ret = (isset($global[$key])) ? htmlentities($global[$key], ENT_QUOTES, 'UTF-8') : $default;
- break;
- case 'platform':
- $ret = (isset($global[$key])) ? $this->Contact_Platform($global[$key]) : $this->Contact_Platform($default);
- break;
- case 'type':
- $ret = (isset($global[$key])) ? $this->Contact_Type($global[$key]) : $this->Contact_Type($default);
- break;
- case 'int': default:
- $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_SANITIZE_NUMBER_INT) : $default;
- break;
-
- }
- if ($ret === false) {
- return $default;
- }
- return $ret;
- }
-
- public function Contact_InfoProcessing($global)
- {
- $contact = array();
- $contact['contact_cid'] = $this->Contact_CleanVars($_POST, 'contact_id', '', 'int');
- $contact['contact_uid'] = $this->Contact_CleanVars($_POST, 'contact_uid', '', 'int');
- $contact['contact_name'] = $this->Contact_CleanVars($_POST, 'contact_name', '', 'string');
- $contact['contact_nameto'] = $this->Contact_CleanVars($_POST, 'contact_nameto', '', 'string');
- $contact['contact_subject'] = $this->Contact_CleanVars($_POST, 'contact_subject', '', 'string');
- $contact['contact_mail'] = $this->Contact_CleanVars($_POST, 'contact_mail', '', 'mail');
- $contact['contact_mailto'] = $this->Contact_CleanVars($_POST, 'contact_mailto', '', 'mail');
- $contact['contact_url'] = $this->Contact_CleanVars($_POST, 'contact_url', '', 'url');
- $contact['contact_create'] = time();
- $contact['contact_icq'] = $this->Contact_CleanVars($_POST, 'contact_icq', '', 'string');
- $contact['contact_company'] = $this->Contact_CleanVars($_POST, 'contact_company', '', 'string');
- $contact['contact_location'] = $this->Contact_CleanVars($_POST, 'contact_location', '', 'text');
- $contact['contact_phone'] = $this->Contact_CleanVars($_POST, 'contact_phone', '', 'int');
- $contact['contact_department'] = $this->Contact_CleanVars($_POST, 'contact_department', _MD_CONTACT_DEFULTDEP, 'string');
- $contact['contact_ip'] = getenv ( "REMOTE_ADDR" );
- $contact['contact_message'] = $this->Contact_CleanVars($_POST, 'contact_message', '', 'text');
- $contact['contact_address'] = $this->Contact_CleanVars($_POST, 'contact_address', '', 'text');
- $contact['contact_platform'] = $this->Contact_CleanVars($_POST, 'contact_platform', 'Web', 'platform');
- $contact['contact_type'] = $this->Contact_CleanVars($_POST, 'contact_type', 'Contact', 'type');
- return $contact;
- }
-
- public function Contact_SendMail($contact)
- {
- $xoopsMailer = xoops_getMailer();
- $xoopsMailer->useMail();
- $xoopsMailer->setToEmails($this->Contact_ToEmails($contact['contact_department']));
- $xoopsMailer->setFromEmail($contact['contact_mail']);
- $xoopsMailer->setFromName($contact['contact_name']);
- $xoopsMailer->setSubject($contact['contact_subject']);
- $xoopsMailer->setBody($contact['contact_message']);
- if($xoopsMailer->send()) {
- $message = _MD_CONTACT_MES_SEND;
- } else {
- $message = $xoopsMailer->getErrors();
- }
- return $message;
- }
-
- public function Contact_ReplyMail($contact)
- {
- $xoopsMailer = xoops_getMailer();
- $xoopsMailer->useMail();
- $xoopsMailer->setToEmails($contact['contact_mailto']);
- $xoopsMailer->setFromEmail($contact['contact_mail']);
- $xoopsMailer->setFromName($contact['contact_name']);
- $xoopsMailer->setSubject($contact['contact_subject']);
- $xoopsMailer->setBody($contact['contact_message']);
- if($xoopsMailer->send()) {
- $message = _MD_CONTACT_MES_SEND;
- } else {
- $message = $xoopsMailer->getErrors();
- }
- return $message;
- }
+ public function __construct(&$db)
+ {
+ parent::__construct($db, "contact", 'contact', 'contact_id', 'contact_mail');
+ }
- public function Contact_ToEmails($department = null)
- {
- global $xoopsConfig;
- $department_mail[] = $xoopsConfig['adminmail'];
- if(!empty($department)) {
- $departments = xoops_getModuleOption('contact_dept','contact');
- foreach( $departments as $vals ) {
- $vale = explode( ',', $vals );
- if($department == $vale[0]) $department_mail[] = $vale[1];
- }
- }
- return $department_mail;
- }
-
- public function Contact_AddReply($contact_id)
- {
- $obj = $this->get ( $contact_id );
- $obj->setVar ( 'contact_reply', 1 );
- if(!$this->insert ( $obj )) {
- return false;
- }
- return true;
- }
-
- public function Contact_GetReply($contact_id)
- {
-
- $criteria = new CriteriaCompo ();
- $criteria->add ( new Criteria ( 'contact_cid', $contact_id ) );
- $criteria->add ( new Criteria ( 'contact_type', 'Contact' ) );
- $contacts = $this->getObjects ( $criteria, false );
- if ($contacts) {
- $ret = array ();
- foreach ( $contacts as $root ) {
- $tab = array ();
- $tab = $root->toArray ();
- $tab['contact_owner'] = XoopsUser::getUnameFromId ( $root->getVar ( 'contact_uid' ) );
- $tab['contact_create'] = formatTimestamp ( $root->getVar ( 'contact_create' ), _MEDIUMDATESTRING );
- $ret [] = $tab;
- }
- return $ret;
- } else {
- return false;
- }
- }
-
- public function Contact_GetAdminList($contact , $id)
- {
- $ret = array ();
- $criteria = new CriteriaCompo ();
- $criteria->add ( new Criteria ( $id, '0' ) );
- $criteria->add ( new Criteria ( 'contact_type', 'Contact' ) );
- $criteria->setSort ( $contact['sort'] );
- $criteria->setOrder ( $contact['order'] );
- $criteria->setStart ( $contact['start'] );
- $criteria->setLimit ( $contact['limit'] );
- $contacts = $this->getObjects ( $criteria, false );
- if ($contacts) {
- foreach ( $contacts as $root ) {
- $tab = array ();
- $tab = $root->toArray ();
- $tab['contact_owner'] = XoopsUser::getUnameFromId ( $root->getVar ( 'contact_uid' ) );
- $tab['contact_create'] = formatTimestamp ( $root->getVar ( 'contact_create' ), _MEDIUMDATESTRING );
- $ret [] = $tab;
- }
- }
- return $ret;
- }
-
- /**
- * Get file Count
- */
- public function Contact_GetCount($id)
- {
- $criteria = new CriteriaCompo ();
- $criteria->add ( new Criteria ( $id, '0' ) );
- $criteria->add ( new Criteria ( 'contact_type', 'Contact' ) );
- return $this->getCount ( $criteria );
- }
-
- /**
- * Get Insert ID
- */
- public function getInsertId()
- {
- return $this->db->getInsertId ();
- }
-
- /**
- * Contact Prune Count
- */
- public function Contact_PruneCount($timestamp, $onlyreply)
- {
- $criteria = new CriteriaCompo ();
- $criteria->add ( new Criteria ( 'contact_create', $timestamp , '<=' ));
- if($onlyreply) {
- $criteria->add ( new Criteria ( 'contact_reply', 1 ));
- }
- return $this->getCount ( $criteria );
- }
-
- /**
- * Contact Delete Before Date
- */
- public function Contact_DeleteBeforeDate($timestamp, $onlyreply)
- {
- $criteria = new CriteriaCompo ();
- $criteria->add ( new Criteria ( 'contact_create', $timestamp , '<=' ));
- if($onlyreply) {
- $criteria->add ( new Criteria ( 'contact_reply', 1 ));
- }
- $this->deleteAll($criteria);
- }
-
- /**
- * Contact Platform
- */
- public function Contact_Platform($platform)
- {
- $platform = strtolower($platform);
- switch($platform) {
- case 'Android':
- $ret = 'Android';
- break;
-
- case 'Ios':
- $ret = 'Ios';
- break;
-
- case 'Web':
- default:
- $ret = 'Web';
- break;
- }
- return $ret;
- }
-
- /**
- * Contact type
- */
- public function Contact_Type($type)
- {
- $type = strtolower($type);
- switch($type) {
- case 'Mail':
- $ret = 'Mail';
- break;
-
- case 'Phone':
- $ret = 'Phone';
- break;
-
- case 'Contact':
- default:
- $ret = 'Contact';
- break;
- }
- return $ret;
- }
-
- /**
- * Contact logs
- */
- public function Contact_Logs($column, $timestamp = null)
- {
- $ret = array();
- if(!in_array($column, array('contact_mail', 'contact_url', 'contact_phone'))) {
- return $ret;
- }
- $criteria = new CriteriaCompo();
- $criteria->add( new Criteria('contact_cid', '0'));
- if(!empty($timestamp)) {
- $criteria->add( new Criteria('contact_create', $timestamp, '<='));
- }
- $criteria->setSort('contact_create');
- $criteria->setOrder('DESC');
- $contacts = $this->getObjects($criteria, false);
- if ($contacts) {
- foreach ( $contacts as $root ) {
- $rootColumn = $root->getVar($column);
- if(!empty($rootColumn)) {
- $ret[] = $root->getVar($column);
- unset($root);
- }
- }
- }
- return array_unique($ret);
- }
+ /**
+ * Get variables passed by GET or POST method
+ *
+ */
+ public function Contact_CleanVars(&$global, $key, $default = '', $type = 'int')
+ {
+
+ switch ($type) {
+ case 'array':
+ $ret = (isset($global[$key]) && is_array($global[$key])) ? $global[$key] : $default;
+ break;
+ case 'date':
+ $ret = (isset($global[$key])) ? strtotime($global[$key]) : $default;
+ break;
+ case 'string':
+ $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_SANITIZE_MAGIC_QUOTES) : $default;
+ break;
+ case 'mail':
+ $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_VALIDATE_EMAIL) : $default;
+ break;
+ case 'url':
+ $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED) : $default;
+ break;
+ case 'ip':
+ $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_VALIDATE_IP) : $default;
+ break;
+ case 'amp':
+ $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_FLAG_ENCODE_AMP) : $default;
+ break;
+ case 'text':
+ $ret = (isset($global[$key])) ? htmlentities($global[$key], ENT_QUOTES, 'UTF-8') : $default;
+ break;
+ case 'platform':
+ $ret = (isset($global[$key])) ? $this->Contact_Platform($global[$key]) : $this->Contact_Platform($default);
+ break;
+ case 'type':
+ $ret = (isset($global[$key])) ? $this->Contact_Type($global[$key]) : $this->Contact_Type($default);
+ break;
+ case 'int':
+ default:
+ $ret = (isset($global[$key])) ? filter_var($global[$key], FILTER_SANITIZE_NUMBER_INT) : $default;
+ break;
+
+ }
+ if ($ret === false) {
+ return $default;
+ }
+
+ return $ret;
+ }
+
+ public function Contact_InfoProcessing($global)
+ {
+ $contact = array();
+ $contact['contact_cid'] = $this->Contact_CleanVars($_POST, 'contact_id', '', 'int');
+ $contact['contact_uid'] = $this->Contact_CleanVars($_POST, 'contact_uid', '', 'int');
+ $contact['contact_name'] = $this->Contact_CleanVars($_POST, 'contact_name', '', 'string');
+ $contact['contact_nameto'] = $this->Contact_CleanVars($_POST, 'contact_nameto', '', 'string');
+ $contact['contact_subject'] = $this->Contact_CleanVars($_POST, 'contact_subject', '', 'string');
+ $contact['contact_mail'] = $this->Contact_CleanVars($_POST, 'contact_mail', '', 'mail');
+ $contact['contact_mailto'] = $this->Contact_CleanVars($_POST, 'contact_mailto', '', 'mail');
+ $contact['contact_url'] = $this->Contact_CleanVars($_POST, 'contact_url', '', 'url');
+ $contact['contact_create'] = time();
+ $contact['contact_icq'] = $this->Contact_CleanVars($_POST, 'contact_icq', '', 'string');
+ $contact['contact_company'] = $this->Contact_CleanVars($_POST, 'contact_company', '', 'string');
+ $contact['contact_location'] = $this->Contact_CleanVars($_POST, 'contact_location', '', 'text');
+ $contact['contact_phone'] = $this->Contact_CleanVars($_POST, 'contact_phone', '', 'int');
+ $contact['contact_department'] = $this->Contact_CleanVars($_POST, 'contact_department', _MD_CONTACT_DEFULTDEP, 'string');
+ $contact['contact_ip'] = getenv("REMOTE_ADDR");
+ $contact['contact_message'] = $this->Contact_CleanVars($_POST, 'contact_message', '', 'text');
+ $contact['contact_address'] = $this->Contact_CleanVars($_POST, 'contact_address', '', 'text');
+ $contact['contact_platform'] = $this->Contact_CleanVars($_POST, 'contact_platform', 'Web', 'platform');
+ $contact['contact_type'] = $this->Contact_CleanVars($_POST, 'contact_type', 'Contact', 'type');
+
+ return $contact;
+ }
+
+ public function Contact_SendMail($contact)
+ {
+ $xoopsMailer = xoops_getMailer();
+ $xoopsMailer->useMail();
+ $xoopsMailer->setToEmails($this->Contact_ToEmails($contact['contact_department']));
+ $xoopsMailer->setFromEmail($contact['contact_mail']);
+ $xoopsMailer->setFromName($contact['contact_name']);
+ $xoopsMailer->setSubject($contact['contact_subject']);
+ $xoopsMailer->setBody(html_entity_decode($contact['contact_message']), ENT_QUOTES, 'UTF-8');
+ if ($xoopsMailer->send()) {
+ $message = _MD_CONTACT_MES_SEND;
+ } else {
+ $message = $xoopsMailer->getErrors();
+ }
+
+ return $message;
+ }
+
+ public function Contact_ReplyMail($contact)
+ {
+ $xoopsMailer = xoops_getMailer();
+ $xoopsMailer->useMail();
+ $xoopsMailer->setToEmails($contact['contact_mailto']);
+ $xoopsMailer->setFromEmail($contact['contact_mail']);
+ $xoopsMailer->setFromName($contact['contact_name']);
+ $xoopsMailer->setSubject($contact['contact_subject']);
+ $xoopsMailer->setBody($contact['contact_message']);
+ if ($xoopsMailer->send()) {
+ $message = _MD_CONTACT_MES_SEND;
+ } else {
+ $message = $xoopsMailer->getErrors();
+ }
+
+ return $message;
+ }
+
+ public function Contact_ToEmails($department = null)
+ {
+ global $xoopsConfig;
+ $department_mail[] = $xoopsConfig['adminmail'];
+ if (!empty($department)) {
+ $departments = xoops_getModuleOption('contact_dept', 'contact');
+ foreach ($departments as $vals) {
+ $vale = explode(',', $vals);
+ if ($department == $vale[0]) {
+ $department_mail[] = $vale[1];
+ }
+ }
+ }
+
+ return $department_mail;
+ }
+
+ public function Contact_AddReply($contact_id)
+ {
+ $obj = $this->get($contact_id);
+ $obj->setVar('contact_reply', 1);
+ if (!$this->insert($obj)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public function Contact_GetReply($contact_id)
+ {
+
+ $criteria = new CriteriaCompo ();
+ $criteria->add(new Criteria ('contact_cid', $contact_id));
+ $criteria->add(new Criteria ('contact_type', 'Contact'));
+ $contacts = $this->getObjects($criteria, false);
+ if ($contacts) {
+ $ret = array();
+ foreach ($contacts as $root) {
+ $tab = array();
+ $tab = $root->toArray();
+ $tab['contact_owner'] = XoopsUser::getUnameFromId($root->getVar('contact_uid'));
+ $tab['contact_create'] = formatTimestamp($root->getVar('contact_create'), _MEDIUMDATESTRING);
+ $ret [] = $tab;
+ }
+
+ return $ret;
+ } else {
+ return false;
+ }
+ }
+
+ public function Contact_GetAdminList($contact, $id)
+ {
+ $ret = array();
+ $criteria = new CriteriaCompo ();
+ $criteria->add(new Criteria ($id, '0'));
+ $criteria->add(new Criteria ('contact_type', 'Contact'));
+ $criteria->setSort($contact['sort']);
+ $criteria->setOrder($contact['order']);
+ $criteria->setStart($contact['start']);
+ $criteria->setLimit($contact['limit']);
+ $contacts = $this->getObjects($criteria, false);
+ if ($contacts) {
+ foreach ($contacts as $root) {
+ $tab = array();
+ $tab = $root->toArray();
+ $tab['contact_owner'] = XoopsUser::getUnameFromId($root->getVar('contact_uid'));
+ $tab['contact_create'] = formatTimestamp($root->getVar('contact_create'), _MEDIUMDATESTRING);
+ $ret [] = $tab;
+ }
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Get file Count
+ */
+ public function Contact_GetCount($id)
+ {
+ $criteria = new CriteriaCompo ();
+ $criteria->add(new Criteria ($id, '0'));
+ $criteria->add(new Criteria ('contact_type', 'Contact'));
+
+ return $this->getCount($criteria);
+ }
+
+ /**
+ * Get Insert ID
+ */
+ public function getInsertId()
+ {
+ return $this->db->getInsertId();
+ }
+
+ /**
+ * Contact Prune Count
+ */
+ public function Contact_PruneCount($timestamp, $onlyreply)
+ {
+ $criteria = new CriteriaCompo ();
+ $criteria->add(new Criteria ('contact_create', $timestamp, '<='));
+ if ($onlyreply) {
+ $criteria->add(new Criteria ('contact_reply', 1));
+ }
+
+ return $this->getCount($criteria);
+ }
+
+ /**
+ * Contact Delete Before Date
+ */
+ public function Contact_DeleteBeforeDate($timestamp, $onlyreply)
+ {
+ $criteria = new CriteriaCompo ();
+ $criteria->add(new Criteria ('contact_create', $timestamp, '<='));
+ if ($onlyreply) {
+ $criteria->add(new Criteria ('contact_reply', 1));
+ }
+ $this->deleteAll($criteria);
+ }
+
+ /**
+ * Contact Platform
+ */
+ public function Contact_Platform($platform)
+ {
+ $platform = strtolower($platform);
+ switch ($platform) {
+ case 'Android':
+ $ret = 'Android';
+ break;
+
+ case 'Ios':
+ $ret = 'Ios';
+ break;
+
+ case 'Web':
+ default:
+ $ret = 'Web';
+ break;
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Contact type
+ */
+ public function Contact_Type($type)
+ {
+ $type = strtolower($type);
+ switch ($type) {
+ case 'Mail':
+ $ret = 'Mail';
+ break;
+
+ case 'Phone':
+ $ret = 'Phone';
+ break;
+
+ case 'Contact':
+ default:
+ $ret = 'Contact';
+ break;
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Contact logs
+ */
+ public function Contact_Logs($column, $timestam...
[truncated message content] |