|
From: <zy...@us...> - 2014-11-26 07:12:21
|
Revision: 12872
http://sourceforge.net/p/xoops/svn/12872
Author: zyspec
Date: 2014-11-26 07:12:14 +0000 (Wed, 26 Nov 2014)
Log Message:
-----------
- Added ability to require visitors to enter email 2X on form
- Added features page to Admin help
- Added date select to Admin log form
- Added ability to include original message body in Admin Reply
- Added mail body formatter to limit line lengths per RFC2822
- Added confirm when pruning contacts in Admin panel
- Added Waiting module support
- Added Stats block
- Added ContactFormValidatedInput class using HTML5 types
- Restored capability for Admin to enter the thank you message
- Removed ./icons folder/files - admin uses XOOPS module icons
- Removed ./docs/readme.html - no longer used and out of date
- Fixed bug: Contact->contactPlatform() always returned "Web"
- Fixed bug: Contact->contactType() always returned "Contact"
- Fixed bug: Contact->infoProcessing always used $_POST
- Fixed bug: Admin Prune date parser
- Fixed bug: remove slashes from email subject & body
- Fixed HTML table missing row tags in Admin
- Changed clicking contact URL in Admin to open in _blank window
- Changed ./admin/tools.php to prune.php to reflect function
- Changed update script to remove "old" directories (css, images, js)
- Changed retrieving configs, eliminating deprecated XOOPS functions
- Updated documentation files (changelog.txt, readme.txt)
- Minor code cleanup
Modified Paths:
--------------
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/about.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/admin_footer.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/admin_header.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/contact.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/index.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/log.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/menu.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/ajax.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/assets/css/admin.css
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/assets/js/admin.js
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/class/contact.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/docs/changelog.txt
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/docs/install.txt
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/docs/readme.txt
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/header.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/include/functions.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/include/functions_update.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/index.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/language/english/admin.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/language/english/help/help.html
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/language/english/main.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/language/english/modinfo.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/sql/mysql.sql
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/templates/admin/contact_contact.tpl
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/templates/contact_index.tpl
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/xoops_version.php
Added Paths:
-----------
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/prune.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/templates/admin/contact_prune.tpl
Removed Paths:
-------------
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/tools.php
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/assets/images/icons/
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/docs/readme.html
XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/templates/admin/contact_tools.tpl
Modified: XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/about.php
===================================================================
--- XoopsModules/modulepacks/x257basicmodulepack/trunk/modules/contact/admin/about.php 2014-10-31 07:13:53 UTC (rev 12828)
+++ XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/about.php 2014-11-26 07:12:14 UTC (rev 12872)
@@ -12,8 +12,9 @@
/**
* Contact module
*
- * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
- * @license http://www.fsf.org/copyleft/gpl.html GNU public license
+ * @copyright {@link http://sourceforge.net/projects/xoops/ The XOOPS Project}
+ * @license {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
+ * @package contact
* @author Kazumi Ono (aka Onokazu)
* @author Trabis <lus...@gm...>
* @author Hossein Azizabadi (AKA Voltan)
@@ -25,10 +26,10 @@
// Display Admin header
xoops_cp_header();
-$xoopsTpl->assign('navigation', $admin_class->addNavigation('about.php'));
-$xoopsTpl->assign('renderabout', $admin_class->renderabout('6KJ7RW5DR3VTJ', false));
+$GLOBALS['xoopsTpl']->assign('navigation', $admin_class->addNavigation('about.php'));
+$GLOBALS['xoopsTpl']->assign('renderabout', $admin_class->renderabout('6KJ7RW5DR3VTJ', false));
// Call template file
-$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_about.tpl');
+$GLOBALS['xoopsTpl']->display($GLOBALS['xoops']->path('www/modules/contact/templates/admin/contact_about.tpl'));
// Call footer
require __DIR__ . '/admin_footer.php';
Modified: XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/admin_footer.php
===================================================================
--- XoopsModules/modulepacks/x257basicmodulepack/trunk/modules/contact/admin/admin_footer.php 2014-10-31 07:13:53 UTC (rev 12828)
+++ XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/admin_footer.php 2014-11-26 07:12:14 UTC (rev 12872)
@@ -12,8 +12,10 @@
/**
* Contact module
*
- * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
- * @license http://www.fsf.org/copyleft/gpl.html GNU public license
+ * @copyright {@link http://sourceforge.net/projects/xoops/ The XOOPS Project}
+ * @license {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
+ * @package contact
+ * @subpackage admin
* @author Kazumi Ono (aka Onokazu)
* @author Trabis <lus...@gm...>
* @author Hossein Azizabadi (AKA Voltan)
Modified: XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/admin_header.php
===================================================================
--- XoopsModules/modulepacks/x257basicmodulepack/trunk/modules/contact/admin/admin_header.php 2014-10-31 07:13:53 UTC (rev 12828)
+++ XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/admin_header.php 2014-11-26 07:12:14 UTC (rev 12872)
@@ -12,8 +12,10 @@
/**
* Contact module
*
- * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
- * @license http://www.fsf.org/copyleft/gpl.html GNU public license
+ * @copyright {@link http://sourceforge.net/projects/xoops/ The XOOPS Project}
+ * @license {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
+ * @package contact
+ * @subpackage admin
* @author Kazumi Ono (aka Onokazu)
* @author Trabis <lus...@gm...>
* @author Hossein Azizabadi (AKA Voltan)
@@ -21,14 +23,12 @@
*/
$path = dirname(dirname(dirname(__DIR__)));
+require_once $path . '/mainfile.php';
+include_once $GLOBALS['xoops']->path('www/include/cp_functions.php');
+include_once $GLOBALS['xoops']->path('www/include/cp_header.php');
+include_once $GLOBALS['xoops']->path('www/class/pagenav.php');
+include_once $GLOBALS['xoops']->path('www/class/xoopsformloader.php');
-include_once $path . '/mainfile.php';
-include_once XOOPS_ROOT_PATH . '/include/cp_functions.php';
-include_once XOOPS_ROOT_PATH . '/include/cp_header.php';
-include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
-include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php';
-global $xoopsModule;
-
$thisModuleDir = $GLOBALS['xoopsModule']->getVar('dirname');
// Load language files
@@ -36,11 +36,12 @@
xoops_loadLanguage('modinfo', $thisModuleDir);
xoops_loadLanguage('main', $thisModuleDir);
-$pathIcon16 = XOOPS_URL . '/' . $xoopsModule->getInfo('icons16');
-$pathIcon32 = XOOPS_URL . '/' . $xoopsModule->getInfo('icons32');
-$pathModuleAdmin = XOOPS_ROOT_PATH . '/' . $xoopsModule->getInfo('dirmoduleadmin');
-require_once $pathModuleAdmin . '/moduleadmin/moduleadmin.php';
+$pathIcon16 = $GLOBALS['xoops']->url('www/' . $GLOBALS['xoopsModule']->getInfo('icons16'));
+$pathIcon32 = $GLOBALS['xoops']->url('www/' . $GLOBALS['xoopsModule']->getInfo('icons32'));
+$pathModuleAdmin = $GLOBALS['xoops']->path('www/' . $GLOBALS['xoopsModule']->getInfo('dirmoduleadmin'));
+require_once "{$pathModuleAdmin}/moduleadmin/moduleadmin.php";
$admin_class = new ModuleAdmin();
-// Contact Handler
-$contact_handler = & xoops_getModuleHandler('contact', 'contact');
+// Contact Module specific pieces
+include_once $GLOBALS['xoops']->path("/modules/{$thisModuleDir}/include/functions.php");
+$contact_handler =& xoops_getModuleHandler('contact', $thisModuleDir);
Modified: XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/contact.php
===================================================================
--- XoopsModules/modulepacks/x257basicmodulepack/trunk/modules/contact/admin/contact.php 2014-10-31 07:13:53 UTC (rev 12828)
+++ XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/contact.php 2014-11-26 07:12:14 UTC (rev 12872)
@@ -12,12 +12,14 @@
/**
* Contact module
*
- * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
- * @license http://www.fsf.org/copyleft/gpl.html GNU public license
+ * @copyright {@link http://sourceforge.net/projects/xoops/ The XOOPS Project}
+ * @license {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
+ * @package contact
+ * @subpackage admin
* @author Kazumi Ono (aka Onokazu)
* @author Trabis <lus...@gm...>
* @author Hossein Azizabadi (AKA Voltan)
- * @version $Id$
+ * @version $Id: $
*/
// Call header
@@ -25,182 +27,193 @@
// Display Admin header
xoops_cp_header();
// Define default value
-$op = $contact_handler->Contact_CleanVars($_REQUEST, 'op', 'list', 'string');
-$contact_id = $contact_handler->Contact_CleanVars($_REQUEST, 'id', '0', 'int');
+$op = $contact_handler->contactCleanVars($_REQUEST, 'op', 'list', 'string');
+$contactId = $contact_handler->contactCleanVars($_REQUEST, 'id', '0', 'int');
+$level = '';
// Define scripts
$xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js');
$xoTheme->addScript('browse.php?Frameworks/jquery/plugins/jquery.ui.js');
-$xoTheme->addScript(XOOPS_URL . '/modules/contact/assets/js/admin.js');
+$xoTheme->addScript($GLOBALS['xoops']->url('www/modules/contact/assets/js/admin.js'));
// Add module stylesheet
-$xoTheme->addStylesheet(XOOPS_URL . '/modules/contact/assets/css/admin.css');
-$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/assets/css/ui/' . xoops_getModuleOption('jquery_theme', 'system') . '/ui.all.css');
-$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/assets/css/admin.css');
+$xoTheme->addStylesheet($GLOBALS['xoops']->url('www/modules/contact/assets/css/admin.css'));
+//add system module stylesheets
+$module_handler =& xoops_gethandler('module');
+$systemModule =& $module_handler->getByDirname('system');
+$config_handler =& xoops_gethandler('config');
+if ($systemModule instanceof XoopsModule) {
+ $moduleConfig =& $config_handler->getConfigsByCat(0, $systemModule->getVar('mid'));
+ if (isset($moduleConfig['jquery_theme'])) {
+ $xoTheme->addStylesheet($GLOBALS['xoops']->url("www/modules/system/css/ui/{$moduleConfig['jquery_theme']}/ui.all.css"));
+ }
+}
+$xoTheme->addStylesheet($GLOBALS['xoops']->url('www/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';
+ default:
- // get limited information
- if (isset($_REQUEST['limit'])) {
- $contact['limit'] = $contact_handler->Contact_CleanVars($_REQUEST, 'limit', 0, 'int');
- } else {
- $contact['limit'] = $contact['perpage'];
- }
+ $pageSettings = array('perpage' => $GLOBALS['xoopsModuleConfig']['admin_perpage'],
+ 'order' => 'DESC',
+ 'sort' => 'contact_id'
+ );
+ $pageSettingsObj = (object) $pageSettings; //cast contact to a stdClass object
+ $pageSettingsObj->limit = (isset($_REQUEST['limit'])) ? $contact_handler->contactCleanVars($_REQUEST, 'limit', 0, 'int') : $pageSettingsObj->perpage;
+ $pageSettingsObj->start = (isset($_REQUEST['start'])) ? $contact_handler->contactCleanVars($_REQUEST, 'start', 0, 'int') : 0;
- // 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');
+ $contactCount = $contact_handler->contactGetCount('contact_cid'); //count all contacts
+ $contacts = $contact_handler->getAdminList($pageSettingsObj, 'contact_cid');
- 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);
+ if ($contactCount > $pageSettingsObj->limit) {
+ $contactPageNavObj = new XoopsPageNav($contactCount, $pageSettingsObj->limit, $pageSettingsObj->start, 'start', 'limit=' . $pageSettingsObj->limit);
+ $contact_pagenav = $contactPageNavObj->renderNav(4);
} else {
$contact_pagenav = '';
}
- $xoopsTpl->assign('contacts', $contacts);
- $xoopsTpl->assign('contact_pagenav', $contact_pagenav);
+ $GLOBALS['xoopsTpl']->assign(array('use_depts' => $GLOBALS['xoopsModuleConfig']['form_dept'] ? 1 : 0,
+ 'contacts' => $contacts,
+ '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);
+
+ if ($contactId > 0) {
+ $obj = $contact_handler->get($contactId);
+ if (!($obj instanceof contact) || (0 != $obj->getVar('contact_cid'))) {
+ redirect_header($_SERVER['PHP_SELF'], 3, _AM_CONTACT_REPLY_CANT);
}
- $form = $obj->Contact_ReplyForm();
- $xoopsTpl->assign('replyform', $form->render());
- $xoopsTpl->assign('replylist', $contact_handler->Contact_GetReply($contact_id));
+
+ $form = $obj->replyForm();
+ $GLOBALS['xoopsTpl']->assign(array('replyform' => $form->render(),
+ 'replylist' => $contact_handler->contactGetReply($contactId),
+ 'use_depts' => $GLOBALS['xoopsModuleConfig']['form_dept'] ? 1 : 0,
+ )
+ );
} else {
- redirect_header('contact.php', 3, _AM_CONTACT_MSG_EXIST);
+ redirect_header($_SERVER['PHP_SELF'], 3, _AM_CONTACT_MSG_NOTEXIST);
}
$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);
+ $formInput = $contact_handler->infoProcessing($_POST);
+ $mailObj = (object) $formInput;
+ unset($formInput);
+ $deptEmails = array();
+ $message = array();
+
+ // verfiy we're sending to a valid email
+ if ((!$mailObj->contact_mail || !(checkEmail($mailObj->contact_mail))) && !$GLOBALS['xoopsModuleConfig']['form_dept']) {
+ redirect_header($_SERVER['PHP_SELF'], 3, _MD_CONTACT_MES_NOVALIDEMAIL);
exit();
}
- // Info Processing
- $contact = $contact_handler->Contact_InfoProcessing($_POST);
+ // verify valid message body
+ $mailObj->contact_message = $contact_handler->replyBodyFormat($mailObj, (bool) $mailObj->inc_orig);
+ if ($mailObj->contact_message) {
+ // successfully retrieved message body so insert into dB
+ if ($saveinfo = true) {
+ $contactObj = $contact_handler->create();
+ $contactObj->prepareToInsert($mailObj);
+ if (!$contact_handler->insert($contactObj)) {
+ redirect_header($_SERVER['PHP_SELF'], 3, _AM_CONTACT_MSG_NOTSAVED);
+ exit();
+ }
+ $contact_handler->contactAddReply($contactObj->getVar('contact_cid'));
+ } else {
+ $message[] = _AM_CONTACT_MSG_NOTSAVED; // did not save message
+ }
- // 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();
+ // send mail can send message if $sendmail = true
+ if ($sendmail = true) {
+ $message[] = $contact_handler->contactReplyMail($mailObj);
+ } elseif ($saveinfo = true) {
+ $message = _MD_CONTACT_MES_SAVEINDB;
+ } else {
+ $message[] = _MD_CONTACT_MES_SENDERROR;
}
- $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;
+ //failed to set message body
+ $message[] = _AM_CONTACT_MSG_NOBODY;
}
- redirect_header("contact.php", 3, $message);
+ redirect_header($_SERVER['PHP_SELF'], 3, implode('<br />', $message));
$level = 'doreply';
break;
case 'view':
- $obj = $contact_handler->get($contact_id);
+ $obj = $contact_handler->get($contactId);
if (!$obj) {
- redirect_header('contact.php', 3, _AM_CONTACT_MSG_EXIST);
+ redirect_header($_SERVER['PHP_SELF'], 3, _AM_CONTACT_MSG_NOTEXIST);
exit ();
}
+ $user_timezone = ($GLOBALS['xoopsUser'] instanceof XoopsUser) ? $GLOBALS['xoopsUser']->timezone() : null;
- $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');
+ $contact = $obj->getValues();
+ $contact['contact_owner'] = XoopsUser::getUnameFromId($contact['contact_uid']);
+ $contact['contact_create'] = formatTimestamp($contact['contact_create'], 'm', $user_timezone);
- $xoopsTpl->assign('contact', $contact);
- $xoopsTpl->assign('replylist', $contact_handler->Contact_GetReply($contact_id));
+ $GLOBALS['xoopsTpl']->assign(array('use_depts' => $GLOBALS['xoopsModuleConfig']['form_dept'] ? 1 : 0,
+ 'contact' => $contact,
+ 'replylist' => $contact_handler->contactGetReply($contactId))
+ );
$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);
+ if (!$contactId) {
+ redirect_header($_SERVER['PHP_SELF'], 3, _AM_CONTACT_MSG_NOTEXIST);
+ exit();
}
-
+ // Prompt message
+ xoops_confirm(array('id' => $contactId, 'op' => 'dodelete'), $_SERVER['PHP_SELF'], _AM_CONTACT_MSG_DELETE);
$level = 'delete';
break;
case 'dodelete':
- if (!$contact_id > 0) {
- redirect_header('contact.php', 3, _AM_CONTACT_MSG_EXIST);
- xoops_cp_footer();
- exit ();
+ // check to make sure this passes form submission security
+ if ( ($GLOBALS['xoopsSecurity'] instanceof XoopsSecurity) ) {
+ if ( !$GLOBALS['xoopsSecurity']->check() ) {
+ // failed xoops security check
+ redirect_header('index.php', 3, $GLOBALS['xoopsSecurity']->getErrors(true));
+ exit();
+ }
+ } else {
+ redirect_header('index.php', 3, _MD_CONTACT_INVALID_SECURITY_TOKEN);
}
- $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 ();
+ if (!$contactId) {
+ $msg = _AM_CONTACT_MSG_NOTEXIST;
+ } else {
+ $criteria = new CriteriaCompo ();
+ $criteria->add(new Criteria ('contact_id', $contactId)); //messages
+ $criteria->add(new Criteria ('contact_cid', $contactId), 'OR'); //replies
+ $msg = (!$contact_handler->deleteAll($criteria)) ? _AM_CONTACT_MSG_DELETEERROR : _AM_CONTACT_MSG_DELETED;
}
-
- redirect_header('contact.php', 1, _AM_CONTACT_MSG_DELETED);
- xoops_cp_footer();
- exit ();
+ redirect_header($_SERVER['PHP_SELF'], 3, $msg);
+// xoops_cp_footer();
+ exit();
break;
}
-$xoopsTpl->assign('navigation', $admin_class->addNavigation('contact.php'));
-$xoopsTpl->assign('level', $level);
+$GLOBALS['xoopsTpl']->assign(array('navigation' => $admin_class->addNavigation('contact.php'),
+ 'level' => $level)
+);
// Call template file
-$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_contact.tpl');
+$GLOBALS['xoopsTpl']->display($GLOBALS['xoops']->path('www/modules/contact/templates/admin/contact_contact.tpl'));
// Call footer
require __DIR__ . '/admin_footer.php';
Modified: XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/index.php
===================================================================
--- XoopsModules/modulepacks/x257basicmodulepack/trunk/modules/contact/admin/index.php 2014-10-31 07:13:53 UTC (rev 12828)
+++ XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/index.php 2014-11-26 07:12:14 UTC (rev 12872)
@@ -12,8 +12,10 @@
/**
* Contact module
*
- * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
- * @license http://www.fsf.org/copyleft/gpl.html GNU public license
+ * @copyright {@link http://sourceforge.net/projects/xoops/ The XOOPS Project}
+ * @license {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
+ * @package contact
+ * @subpackage admin
* @author Kazumi Ono (aka Onokazu)
* @author Trabis <lus...@gm...>
* @author Hossein Azizabadi (AKA Voltan)
@@ -24,14 +26,28 @@
require __DIR__ . '/admin_header.php';
// Display Admin header
xoops_cp_header();
-
// Display Admin menu class
$admin_class->addInfoBox(_AM_CONTACT_INDEX_ADMENU1);
-$admin_class->addInfoBoxLine(_AM_CONTACT_INDEX_ADMENU1, _AM_CONTACT_INDEX_TOTAL, $contact_handler->Contact_GetCount('contact_cid'));
-$xoopsTpl->assign('navigation', $admin_class->addNavigation('index.php'));
-$xoopsTpl->assign('renderindex', $admin_class->renderIndex());
+// Display number of messages without replies
+$criteria = new CriteriaCompo();
+$criteria->add(new Criteria('contact_cid', 0));
+$criteria->add(new Criteria('contact_reply', 0));
+$criteria->add(new Criteria('contact_type', 'Contact'));
+$admin_class->addInfoBoxLine(_AM_CONTACT_INDEX_ADMENU1, _AM_CONTACT_INDEX_NOREPLIES, $contact_handler->getCount($criteria));
+
+// Display total number of messages
+$admin_class->addInfoBoxLine(_AM_CONTACT_INDEX_ADMENU1, _AM_CONTACT_INDEX_TOTAL, $contact_handler->contactGetCount('contact_cid'));
+
+// Display total number of replies
+$criteria = new CriteriaCompo();
+$criteria->add(new Criteria('contact_cid', 0, '<>'));
+$criteria->add(new Criteria('contact_reply', 0));
+$admin_class->addInfoBoxLine(_AM_CONTACT_INDEX_ADMENU1, _AM_CONTACT_INDEX_REPLIES, $contact_handler->getCount($criteria));
+$GLOBALS['xoopsTpl']->assign('navigation', $admin_class->addNavigation('index.php'));
+$GLOBALS['xoopsTpl']->assign('renderindex', $admin_class->renderIndex());
+
// Call template file
-$xoopsTpl->display(XOOPS_ROOT_PATH . '/modules/contact/templates/admin/contact_index.tpl');
+$GLOBALS['xoopsTpl']->display($GLOBALS['xoops']->path('www/modules/contact/templates/admin/contact_index.tpl'));
// Call footer
require __DIR__ . '/admin_footer.php';
Modified: XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/log.php
===================================================================
--- XoopsModules/modulepacks/x257basicmodulepack/trunk/modules/contact/admin/log.php 2014-10-31 07:13:53 UTC (rev 12828)
+++ XoopsModules/modulepacks/x257basicmodulepack/branches/zyspec/contact/admin/log.php 2014-11-26 07:12:14 UTC (rev 12872)
@@ -12,8 +12,10 @@
/**
* Contact module
*
- * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
- * @license http://www.fsf.org/copyleft/gpl.html GNU public license
+ * @copyright {@link http://sourceforge.net/projects/xoops/ The XOOPS Project}
+ * @license {@link http://www.fsf.org/copyleft/gpl.html GNU public license}
+ * @package contact
+ * @subpackage admin
* @author Kazumi Ono (aka Onokazu)
* @author Trabis <lus...@gm...>
* @author Hossein Azizabadi (AKA Voltan)
@@ -25,31 +27,71 @@
// Display Admin header
xoops_cp_header();
// Define default value
-$op = $contact_handler->Contact_CleanVars($_REQUEST, 'op', 'form', 'string');
+$op = $contact_handler->contactCleanVars($_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());
+ // log manager
+ $log_count = $contact_handler->getCount();
+ if ($log_count) {
+ $form = new XoopsThemeForm(_AM_CONTACT_LOGS_FORM, 'logs', 'log.php', 'post', true);
+ $column = new XoopsFormSelect(_AM_CONTACT_LOGS_COLUMN, 'column', 'contact_mail');
+ $colu...
[truncated message content] |