|
From: <be...@us...> - 2013-10-08 02:00:16
|
Revision: 12162
http://sourceforge.net/p/xoops/svn/12162
Author: beckmi
Date: 2013-10-08 02:00:11 +0000 (Tue, 08 Oct 2013)
Log Message:
-----------
making Captcha optional for Anonymous/Registered users
Modified Paths:
--------------
XoopsModules/contact/trunk/contact/class/contact.php
XoopsModules/contact/trunk/contact/docs/changelog.txt
XoopsModules/contact/trunk/contact/include/functions_update.php
XoopsModules/contact/trunk/contact/index.php
XoopsModules/contact/trunk/contact/language/english/modinfo.php
XoopsModules/contact/trunk/contact/xoops_version.php
Modified: XoopsModules/contact/trunk/contact/class/contact.php
===================================================================
--- XoopsModules/contact/trunk/contact/class/contact.php 2013-10-07 20:46:22 UTC (rev 12161)
+++ XoopsModules/contact/trunk/contact/class/contact.php 2013-10-08 02:00:11 UTC (rev 12162)
@@ -56,7 +56,7 @@
public function Contact_ContactForm($department)
{
- global $xoopsConfig, $xoopsOption, $xoopsUser,$xoopsModuleConfig;
+ global $xoopsConfig, $xoopsOption, $xoopsUser, $xoopsUserIsAdmin, $xoopsModuleConfig;
if ($this->isNew()) {
if (!empty($xoopsUser)) {
$contact_uid = $xoopsUser->getVar('uid');
@@ -123,11 +123,15 @@
$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);
- if ($xoopsModuleConfig['captcha']) {
- xoops_load('XoopsFormCaptcha');
- $form->addElement(new XoopsFormCaptcha(), true);
- }
+ // check captcha
+ if ((!$xoopsUser && $xoopsModuleConfig['captchaAnonymous'])
+ || ($xoopsUser && !$xoopsUserIsAdmin && $xoopsModuleConfig['captchaRegistered'])
+ ) {
+ xoops_load('XoopsFormCaptcha');
+ $form->addElement(new XoopsFormCaptcha('','',false), true);
+ }
+
$form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
return $form;
Modified: XoopsModules/contact/trunk/contact/docs/changelog.txt
===================================================================
--- XoopsModules/contact/trunk/contact/docs/changelog.txt 2013-10-07 20:46:22 UTC (rev 12161)
+++ XoopsModules/contact/trunk/contact/docs/changelog.txt 2013-10-08 02:00:11 UTC (rev 12162)
@@ -4,7 +4,7 @@
- English corrections (Cesag)
- fixed: bug when sending UTF-8 emails (cesag/mamba)
- PSR-2 code reformatting (mamba)
-- making Captcha optional (mamba)
+- making Captcha optional for Anonymous/Registered users (mamba)
Version 1.80 from 2012-1-19
=================================
Modified: XoopsModules/contact/trunk/contact/include/functions_update.php
===================================================================
--- XoopsModules/contact/trunk/contact/include/functions_update.php 2013-10-07 20:46:22 UTC (rev 12161)
+++ XoopsModules/contact/trunk/contact/include/functions_update.php 2013-10-08 02:00:11 UTC (rev 12162)
@@ -22,10 +22,10 @@
function xoops_module_update_contact($module, $version)
{
- $xoopsDB = Database::getInstance();
+ $xoopsDB = XoopsDatabaseFactory::getDatabaseConnection();
- if ($version < 180) {
- $sql = "CREATE TABLE " . $xoopsDB->prefix('contact') . " (
+ if ($version < 180) {
+ $sql = "CREATE TABLE " . $xoopsDB->prefix('contact') . " (
contact_id int(10) unsigned NOT NULL auto_increment,
contact_uid int(10) NOT NULL,
contact_cid int(10) NOT NULL,
@@ -45,36 +45,36 @@
contact_reply tinyint(1) NOT NULL,
PRIMARY KEY (contact_id)
) ENGINE=MyISAM;";
- $xoopsDB->query($sql);
- }
+ $xoopsDB->query($sql);
+ }
- if ($version < 181) {
- // Add contact_platform
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD `contact_platform` ENUM('Android','Ios','Web') NOT NULL DEFAULT 'Web'";
- $xoopsDB->query($sql);
- // Add contact_type
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD `contact_type` ENUM('Contact','Phone','Mail') NOT NULL DEFAULT 'Contact'";
- $xoopsDB->query($sql);
- // Add index contact_uid
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_uid` ( `contact_uid` )";
- $xoopsDB->query($sql);
- // Add index contact_cid
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_cid` ( `contact_cid` )";
- $xoopsDB->query($sql);
- // Add index contact_create
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_create` ( `contact_create` )";
- $xoopsDB->query($sql);
- // Add index contact_mail
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_mail` ( `contact_mail` )";
- $xoopsDB->query($sql);
- // Add index contact_phone
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_phone` ( `contact_phone` )";
- $xoopsDB->query($sql);
- // Add index contact_platform
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_platform` ( `contact_platform` )";
- $xoopsDB->query($sql);
- // Add index contact_type
- $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_type` ( `contact_type` )";
- $xoopsDB->query($sql);
- }
+ if ($version < 181) {
+ // Add contact_platform
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD `contact_platform` ENUM('Android','Ios','Web') NOT NULL DEFAULT 'Web'";
+ $xoopsDB->query($sql);
+ // Add contact_type
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD `contact_type` ENUM('Contact','Phone','Mail') NOT NULL DEFAULT 'Contact'";
+ $xoopsDB->query($sql);
+ // Add index contact_uid
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_uid` ( `contact_uid` )";
+ $xoopsDB->query($sql);
+ // Add index contact_cid
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_cid` ( `contact_cid` )";
+ $xoopsDB->query($sql);
+ // Add index contact_create
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_create` ( `contact_create` )";
+ $xoopsDB->query($sql);
+ // Add index contact_mail
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_mail` ( `contact_mail` )";
+ $xoopsDB->query($sql);
+ // Add index contact_phone
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_phone` ( `contact_phone` )";
+ $xoopsDB->query($sql);
+ // Add index contact_platform
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_platform` ( `contact_platform` )";
+ $xoopsDB->query($sql);
+ // Add index contact_type
+ $sql = "ALTER TABLE `" . $xoopsDB->prefix('contact') . "` ADD INDEX `contact_type` ( `contact_type` )";
+ $xoopsDB->query($sql);
+ }
}
Modified: XoopsModules/contact/trunk/contact/index.php
===================================================================
--- XoopsModules/contact/trunk/contact/index.php 2013-10-07 20:46:22 UTC (rev 12161)
+++ XoopsModules/contact/trunk/contact/index.php 2013-10-08 02:00:11 UTC (rev 12162)
@@ -48,7 +48,9 @@
} else {
// check captcha
- if ($xoopsModuleConfig['captcha']) {
+ if ((!$xoopsUser && $xoopsModuleConfig['captchaAnonymous'])
+ || ($xoopsUser && !$xoopsUserIsAdmin && $xoopsModuleConfig['captchaRegistered'])
+ ) {
// Verify entered code
xoops_load('XoopsCaptcha');
if (class_exists('XoopsFormCaptcha')) {
@@ -61,7 +63,6 @@
}
}
-
// check email
if (!$contact_handler->Contact_CleanVars($_POST, 'contact_mail', '', 'mail')) {
redirect_header("javascript:history.go(-1)", 1, _MD_CONTACT_MES_NOVALIDEMAIL);
Modified: XoopsModules/contact/trunk/contact/language/english/modinfo.php
===================================================================
--- XoopsModules/contact/trunk/contact/language/english/modinfo.php 2013-10-07 20:46:22 UTC (rev 12161)
+++ XoopsModules/contact/trunk/contact/language/english/modinfo.php 2013-10-08 02:00:11 UTC (rev 12162)
@@ -32,8 +32,8 @@
define('_MI_CONTACT_FORM_ADDRESS_DESC', "");
define('_MI_CONTACT_FORM_DEPT', "Select Departments");
define('_MI_CONTACT_FORM_DEPT_DESC', "");
-define('_MI_CONTACT_FORM_CAPTCHA', "Use captcha in submit form?");
-define('_MI_CONTACT_FORM_CAPTCHA_DESC', "Select <em>Yes</em> to use captcha in the submit form.<br />Default: <em>Yes</em>");
+define('_MI_CONTACT_FORM_CAPTCHA_REGISTERED', "Use Captcha for Registered Users?");
+define('_MI_CONTACT_FORM_CAPTCHA_DESC', "Select <em>Yes</em> to use Captcha in the submit form.<br />Default: <em>Yes</em>");
define('_MI_CONTACT_DEPT', "Departments");
define('_MI_CONTACT_DEPT_DESC', "Departments allow you to define a department/email combination. Users selecting<br />"
. "from a defined department will have their contact information sent to the corresponding<br />"
@@ -48,3 +48,7 @@
define('_MI_CONTACT_HEAD_OPTIONS', "Form Options");
define('_MI_CONTACT_HEAD_ADMIN', "Admin setting");
define('_MI_CONTACT_HEAD_INFO', "Information");
+//1.81
+define('_MI_CONTACT_FORM_CAPTCHA_ANONYMOUS', "Use Captcha for Anonymous Users?");
+
+
Modified: XoopsModules/contact/trunk/contact/xoops_version.php
===================================================================
--- XoopsModules/contact/trunk/contact/xoops_version.php 2013-10-07 20:46:22 UTC (rev 12161)
+++ XoopsModules/contact/trunk/contact/xoops_version.php 2013-10-08 02:00:11 UTC (rev 12162)
@@ -85,8 +85,8 @@
);
$modversion['config'][] = array(
- 'name' => 'captcha',
- 'title' => '_MI_CONTACT_FORM_CAPTCHA',
+ 'name' => 'captchaRegistered',
+ 'title' => '_MI_CONTACT_FORM_CAPTCHA_REGISTERED',
'description' => '_MI_CONTACT_FORM_CAPTCHA_DESC',
'formtype' => 'yesno',
'valuetype' => 'int',
@@ -94,6 +94,15 @@
);
$modversion['config'][] = array(
+ 'name' => 'captchaAnonymous',
+ 'title' => '_MI_CONTACT_FORM_CAPTCHA_ANONYMOUS',
+ 'description' => '_MI_CONTACT_FORM_CAPTCHA_DESC',
+ 'formtype' => 'yesno',
+ 'valuetype' => 'int',
+ 'default' => 1
+);
+
+$modversion['config'][] = array(
'name' => 'form_url',
'title' => '_MI_CONTACT_FORM_URL',
'description' => '_MI_CONTACT_FORM_URL_DESC',
|