Plugin Directory

Changeset 3270795


Ignore:
Timestamp:
04/11/2025 04:43:06 AM (11 months ago)
Author:
marcusbs
Message:

bug fixes in adding a group and some sql and jquery

Location:
wp-mailing-group/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • wp-mailing-group/trunk/lib/mailinggroupclass.php

    r3270008 r3270795  
    210210            return false;
    211211        }
     212
     213        function getUserGroupV2($tblname,$id,$type='0') {
     214            global $wpdb;
     215
     216            $sSQL = $wpdb->prepare("SELECT * FROM %s WHERE user_id = %d", $tblname, $id);
     217            $res = $wpdb->get_results($sSQL);
     218            $arrresult = array();
     219
     220            if(count($res)>0) {
     221                foreach($res as $resg) {
     222                    $arrresult[$resg->group_id] = $resg->group_email_format;
     223                }
     224            }
     225            return $arrresult;
     226        }
     227
     228        function getGroupUserCountV2($tblname,$id) {
     229            global $wpdb;
     230
     231            $sSQL = $wpdb->prepare("SELECT * FROM %s WHERE group_id = %d", $tblname, $id);
     232            return $wpdb->get_results($sSQL);
     233        }
     234
     235
     236        function getCompleteUserGroupsV2($tblname, $tblnameuser,$id) {
     237            global $wpdb;
     238
     239            $sSQL = $wpdb->prepare(
     240                "select t1.*,t2.* from `" . $wpdb->_real_escape($tblname) . "` t1 inner join `" . $wpdb->_real_escape($tblnameuser) . "` t2 on t1.group_id = t2.id and t1.user_id = %d",
     241                $id
     242            );
     243            $res = $wpdb->get_results($sSQL);
     244
     245            if(count($res)>0) {
     246                foreach($res as $resg) {
     247                    $arrresult[] = $resg;
     248                }
     249                return $arrresult;
     250            }
     251        }
     252
     253        function addUserGroupV2($tblname,$id,$grpinfo) {
     254            global $wpdb;
     255
     256            $myFields="id,user_id,group_id,group_email_format";
     257
     258            if(count($grpinfo['group_name'])>0) {
     259                foreach($grpinfo['group_name'] as $key => $group_id) {
     260                    $emailformat = $grpinfo['email_format_'.$group_id];
     261
     262                    $sSQL = $wpdb->prepare(
     263                        "INSERT INTO `" . $wpdb->_real_escape($tblname) . "` ($myFields) VALUES ('', %d, %d, %s)",
     264                        $id,
     265                        $group_id,
     266                        $emailformat
     267                    );
     268                    $wpdb->query($sSQL);
     269                }
     270            }
     271            return true;
     272        }
     273
     274        function getGroupSerialized($grpinfo) {
     275
     276            global $wpdb;
     277
     278            if(count($grpinfo['group_name'])>0) {
     279
     280                foreach($grpinfo['group_name'] as $key => $group_id) {
     281
     282                    $emailformat = $grpinfo['email_format_'.$group_id];
     283
     284                    $arrresult[$group_id] = $emailformat;
     285
     286                }
     287
     288            }
     289
     290            return $arrresult;
     291
     292        }
     293
     294
     295        function deleteUserGroupV2($tblname,$groupid,$userid) {
     296            global $wpdb;
     297
     298            if($groupid!='' && $userid!='') {
     299                $sSQL = $wpdb->prepare("DELETE FROM %s WHERE user_id = %d AND group_id = %d", $tblname, $userid, $groupid);
     300                $wpdb->query($sSQL);
     301            }
     302            return true;
     303        }
     304
     305
     306        function updUserGroupV2($tblname,$id,$grpinfo) {
     307            global $wpdb;
     308
     309            $myFields="id,user_id,group_id,group_email_format";
     310
     311            $getCurrentGroups = $this->getUserGroupV2($tblname,$id,'1');
     312
     313            if(count($grpinfo['group_name'])>0 && $getCurrentGroups) {
     314                foreach($grpinfo['group_name'] as $key => $group_id) {
     315                    $emailformat = $grpinfo['email_format_'.$group_id];
     316
     317                    if(!in_array($group_id,$getCurrentGroups)) {
     318                        $sSQL = $wpdb->prepare(
     319                            "INSERT INTO `" . $wpdb->_real_escape($tblname) . "` ($myFields) VALUES ('', %d, %d, %s)",
     320                            $id,
     321                            $group_id,
     322                            $emailformat
     323                        );
     324                        $wpdb->query($sSQL);
     325                    }
     326                }
     327            }
     328            return true;
     329        }
     330
     331        function addUserGroupTaxonomyV2($tblname, $id, $arrtoInsert) {
     332            global $wpdb;
     333            if(count($arrtoInsert)>0) {
     334                $myFields = "id,user_id,group_id,group_email_format";
     335
     336                foreach($arrtoInsert as $group_id => $emailformat) {
     337                    // Check if record exists using prepared statement with direct table name
     338                    $sSQL = "SELECT * FROM `" . $wpdb->_real_escape($tblname) . "` WHERE user_id = %d AND group_id = %d";
     339                    $sSQL = $wpdb->prepare($sSQL, $id, $group_id);
     340                    $res = $wpdb->get_results($sSQL);
     341                   
     342                    if(count($res)>0) {
     343                        // Delete existing record using prepared statement with direct table name
     344                        $sSQLdel = "DELETE FROM `" . $wpdb->_real_escape($tblname) . "` WHERE user_id = %d";
     345                        $sSQLdel = $wpdb->prepare($sSQLdel, $id);
     346                        $wpdb->query($sSQLdel);
     347                       
     348                        // Insert new record using prepared statement with direct table name
     349                        $uSQL = "INSERT INTO `" . $wpdb->_real_escape($tblname) . "` ($myFields) VALUES ('', %d, %d, %s)";
     350                        $uSQL = $wpdb->prepare($uSQL, $id, $group_id, $emailformat);
     351                        $wpdb->query($uSQL);
     352                    } else {
     353                        // Insert new record using prepared statement with direct table name
     354                        $sSQL = "INSERT INTO `" . $wpdb->_real_escape($tblname) . "` ($myFields) VALUES ('', %d, %d, %s)";
     355                        $sSQL = $wpdb->prepare($sSQL, $id, $group_id, $emailformat);
     356                        $wpdb->query($sSQL);
     357                    }
     358                }
     359            }
     360        }
     361
     362        function updUserGroupTaxonomyV2($tblname, $id, $arrtoInsert) {
     363            global $wpdb;
     364
     365            // Delete existing records using prepared statement with direct table name
     366            $sSQLdel = "DELETE FROM `" . $wpdb->_real_escape($tblname) . "` WHERE user_id = %d";
     367            $sSQLdel = $wpdb->prepare($sSQLdel, $id);
     368            $wpdb->query($sSQLdel);
     369
     370            if(count($arrtoInsert)>0) {
     371                $myFields = "id,user_id,group_id,group_email_format";
     372
     373                foreach($arrtoInsert as $group_id => $emailformat) {
     374                    // Insert new record using prepared statement with direct table name
     375                    $sSQL = "INSERT INTO `" . $wpdb->_real_escape($tblname) . "` ($myFields) VALUES ('', %d, %d, %s)";
     376                    $sSQL = $wpdb->prepare($sSQL, $id, $group_id, $emailformat);
     377                    $wpdb->query($sSQL);
     378                }
     379            }
     380        }
    212381    }
  • wp-mailing-group/trunk/mailing-group-module.php

    r3270015 r3270795  
    11<?php /**
    22* @package Mailing_group_module
    3 * @version 3.0.1
     3* @version 3.0.2
    44*/
    55/*
    6 Plugin Name: Mailing Group Listserv
     6Plugin Name: WP Mailing Group
    77Plugin URI: https://www.wpmailinggroup.com
    88Description: Connect yourselves with a mailing group run from your WordPress website! This is NOT a one-way mailing or announcement list from an administrator to a group, but a Group email list where all subscribers can exchange messages via one central email address. (NB: POP / IMAP email box required - Cron optional but recommended for low traffic websites)
    99Author: Yamna Khawaja
    1010Author URI: https://www.wpmailinggroup.com/
    11 Version: 3.0.1
     11Version: 3.0.2
    1212License: GPL v2 or later
    1313License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    3939
    4040$WPMG_SETTINGS = get_option("WPMG_SETTINGS");
    41 $MG_VERSION_NO = '3.0.1';
     41$MG_VERSION_NO = '3.0.2';
    4242$WPMG_SETTINGS['MG_VERSION_NO']  = $MG_VERSION_NO;
    4343$WPMG_SETTINGS['MG_PLUGIN_TYPE'] = 'FREE';
     
    115115    global $wpdb, $table_name_group, $WPMG_SETTINGS, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails, $memberLimit, $table_name_attachments, $table_name_users, $table_name_usermeta;
    116116    $charset_collate = $wpdb->get_charset_collate();
     117    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
     118   
    117119    /* ADD CONFIG OPTION TO OPTION TABLE*/
    118120
     
    142144    $MG_SUPPORT_EMAIL    = (isset($wpmgs['MG_SUPPORT_EMAIL']) && $wpmgs['MG_SUPPORT_EMAIL']!=''?esc_html($wpmgs['MG_SUPPORT_EMAIL']):'[email protected]');
    143145    $MG_SUPPORT_PHONE    = (isset($wpmgs['MG_SUPPORT_PHONE']) && $wpmgs['MG_SUPPORT_PHONE']!=''?esc_html($wpmgs['MG_SUPPORT_PHONE']):'1800-123-1234');
    144     $MG_VERSION_NO       = (isset($wpmgs['MG_VERSION_NO'])    && $wpmgs['MG_VERSION_NO']!=''?esc_html($wpmgs['MG_VERSION_NO']):'3.0.1');
     146    $MG_VERSION_NO       = (isset($wpmgs['MG_VERSION_NO'])    && $wpmgs['MG_VERSION_NO']!=''?esc_html($wpmgs['MG_VERSION_NO']):'3.0.2');
    145147   
    146148    $wpmg_setting = array(
     
    162164   
    163165
    164     if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_group'") != $table_name_group) {
     166$sql = "CREATE TABLE $table_name_group (
     167  id mediumint(9) NOT NULL AUTO_INCREMENT,
     168  title varchar(200) NOT NULL,
     169  use_in_subject int(2) NOT NULL DEFAULT 0,
     170  email varchar(255) NOT NULL,
     171  password varchar(100) NOT NULL,
     172  pop_server_type varchar(50) NOT NULL,
     173  smtp_server varchar(100) NOT NULL,
     174  pop_server varchar(100) NOT NULL,
     175  smtp_port varchar(20) NOT NULL,
     176  pop_port varchar(20) NOT NULL,
     177  pop_ssl tinyint(2) NOT NULL DEFAULT 0,
     178  smtp_username varchar(100) NOT NULL,
     179  smtp_password varchar(100) NOT NULL,
     180  pop_username varchar(100) NOT NULL,
     181  pop_password varchar(100) NOT NULL,
     182  archive_message tinyint(2) NOT NULL DEFAULT 0,
     183  auto_delete tinyint(2) NOT NULL DEFAULT 0,
     184  auto_delete_limit tinyint(2) NOT NULL DEFAULT 0,
     185  footer_text text NOT NULL,
     186  sender_name varchar(50) NOT NULL,
     187  sender_email varchar(50) NOT NULL,
     188  status tinyint(2) NOT NULL DEFAULT 0,
     189  visibility enum('1','2','3') NOT NULL DEFAULT '1',
     190  mail_type varchar(50) NOT NULL,
     191  PRIMARY KEY  (id)
     192) $charset_collate;";
     193
     194require_once ABSPATH . 'wp-admin/includes/upgrade.php';
     195dbDelta($sql);
     196   // }
     197 
     198    if ($wpdb->get_var("SHOW TABLES LIKE $table_name_message") != $table_name_message) {
     199     $sql = "CREATE TABLE $table_name_message (
     200  id mediumint(9) NOT NULL AUTO_INCREMENT,
     201  title varchar(255) DEFAULT NULL,
     202  message_type varchar(255) NOT NULL,
     203  message_subject varchar(255) NOT NULL,
     204  description text,
     205  status enum('0','1') DEFAULT '0',
     206  PRIMARY KEY (id)
     207) $charset_collate;";
    165208       
    166         $sql = "CREATE TABLE IF NOT EXISTS $table_name_group (
    167               `id` mediumint(9) NOT NULL AUTO_INCREMENT,
    168 
    169               `title` varchar(200) NOT NULL,
    170              
    171               `use_in_subject` int(2) NOT NULL DEFAULT '0',
    172 
    173               `email` varchar(255) NOT NULL,
    174 
    175               `password` varchar(100) NOT NULL,
    176              
    177               `pop_server_type` varchar(50) NOT NULL,
    178              
    179               `smtp_server` varchar(100) NOT NULL,
    180 
    181               `pop_server` varchar(100) NOT NULL,
    182 
    183               `smtp_port` varchar(20) NOT NULL,
    184 
    185               `pop_port` varchar(20) NOT NULL,
    186              
    187               `pop_ssl` tinyint(2) NOT NULL DEFAULT '0',             
    188 
    189               `smtp_username` varchar(100) NOT NULL,
    190 
    191               `smtp_password` varchar(100) NOT NULL,
    192 
    193               `pop_username` varchar(100) NOT NULL,
    194 
    195               `pop_password` varchar(100) NOT NULL,
    196 
    197               `archive_message` tinyint(2) NOT NULL DEFAULT '0',
    198 
    199               `auto_delete` tinyint(2) NOT NULL DEFAULT '0',
    200 
    201               `auto_delete_limit` tinyint(2) NOT NULL DEFAULT '0',
    202 
    203               `footer_text` text NOT NULL,
    204 
    205               `sender_name` varchar(50) NOT NULL,
    206 
    207               `sender_email` varchar(50) NOT NULL,
    208              
    209               `status` tinyint(2) NOT NULL DEFAULT '0',
    210              
    211               `visibility` enum('1','2','3') NOT NULL DEFAULT '1',
    212 
    213               `mail_type` varchar(50) NOT NULL,           
    214 
    215               PRIMARY KEY (`id`)
    216 
    217             ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1;";
    218         require_once(ABSPATH . "wp-admin/includes/upgrade.php");
    219         dbDelta($sql);
    220     }
    221  
    222     if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_message'") != $table_name_message) {
    223         $sql      = "CREATE TABLE IF NOT EXISTS $table_name_message (
    224 
    225               `id` mediumint(9) NOT NULL AUTO_INCREMENT,
    226 
    227               `title` varchar(255) DEFAULT NULL,
    228 
    229               `message_type` varchar(255) NOT NULL,
    230 
    231               `message_subject` varchar(255) NOT NULL,
    232 
    233               `description` text,
    234 
    235               `status` enum('0','1') DEFAULT '0',
    236 
    237               PRIMARY KEY (`id`)
    238 
    239             ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1;";
    240209        $sql2     = "INSERT INTO $table_name_message (id,title,description,status) VALUES ('','Credentials Check','Hello {%name%},
    241210
     
    266235    }
    267236 
    268     if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_requestmanager'") != $table_name_requestmanager) {
    269         $sql = "CREATE TABLE IF NOT EXISTS $table_name_requestmanager (
    270 
    271               `id` int(9) NOT NULL AUTO_INCREMENT,
    272 
    273               `name` varchar(200) NOT NULL,
    274 
    275               `username` varchar(150) NOT NULL,
    276 
    277               `email` varchar(255) NOT NULL,
    278 
    279               `message_sent` int(2) NOT NULL DEFAULT '0',
    280 
    281               `status` tinyint(2) NOT NULL,
    282 
    283               PRIMARY KEY (`id`)
    284 
    285             ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1";
     237
     238$sql = "CREATE TABLE $table_name_requestmanager (
     239  id int(9) NOT NULL AUTO_INCREMENT,
     240  name varchar(200) NOT NULL,
     241  username varchar(150) NOT NULL,
     242  email varchar(255) NOT NULL,
     243  message_sent int(2) NOT NULL DEFAULT 0,
     244  status tinyint(2) NOT NULL,
     245  PRIMARY KEY (id)
     246) $charset_collate;";
    286247        require_once(ABSPATH . "wp-admin/includes/upgrade.php");
    287248        dbDelta($sql);
    288      }else{
    289         //dbdelta not updating old tables so this is a workaround
    290         $wpdb->query("ALTER TABLE $table_name_requestmanager CHARACTER SET utf8 COLLATE utf8_unicode_ci");
    291     }
     249
    292250   
    293251    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_requestmanager_taxonomy'") != $table_name_requestmanager_taxonomy) {
    294         $sql = "CREATE TABLE IF NOT EXISTS $table_name_requestmanager_taxonomy (
    295 
    296               `id` int(50) NOT NULL AUTO_INCREMENT,
    297 
    298               `user_id` int(50) NOT NULL,
    299 
    300               `group_id` int(50) NOT NULL,
    301 
    302               `group_email_format` tinyint(2) NOT NULL DEFAULT '0',
    303 
    304               PRIMARY KEY (`id`)
    305 
    306                     ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1";
    307         require_once(ABSPATH . "wp-admin/includes/upgrade.php");
     252$sql = "CREATE TABLE $table_name_requestmanager_taxonomy (
     253  id int(11) NOT NULL AUTO_INCREMENT,
     254  user_id int(11) NOT NULL,
     255  group_id int(11) NOT NULL,
     256  group_email_format tinyint(2) NOT NULL DEFAULT 0,
     257  PRIMARY KEY (id)
     258) $charset_collate;";
    308259        $result=dbDelta($sql);
    309     }else{
    310         //dbdelta not updating old tables so this is a workaround
    311         $wpdb->query("ALTER TABLE $table_name_requestmanager_taxonomy CHARACTER SET utf8 COLLATE utf8_unicode_ci");
    312260    }
    313261 
    314262    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_user_taxonomy'") != $table_name_user_taxonomy) {
    315         $sql = "CREATE TABLE IF NOT EXISTS $table_name_user_taxonomy (
    316 
    317               `id` int(50) NOT NULL AUTO_INCREMENT,
    318 
    319               `user_id` int(50) NOT NULL,
    320 
    321               `group_id` int(50) NOT NULL,
    322 
    323               `group_email_format` tinyint(2) NOT NULL,
    324 
    325               PRIMARY KEY (`id`)
    326 
    327             ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1";
     263$sql = "CREATE TABLE $table_name_user_taxonomy (
     264  id int(11) NOT NULL AUTO_INCREMENT,
     265  user_id int(11) NOT NULL,
     266  group_id int(11) NOT NULL,
     267  group_email_format tinyint(2) NOT NULL,
     268  PRIMARY KEY (id)
     269) $charset_collate;";
    328270        require_once(ABSPATH . "wp-admin/includes/upgrade.php");
    329271        dbDelta($sql);
     
    331273
    332274    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_parsed_emails'") != $table_name_parsed_emails) {
    333         $sql = "CREATE TABLE IF NOT EXISTS $table_name_parsed_emails (
    334 
    335               `id` bigint(100) NOT NULL AUTO_INCREMENT,
    336 
    337               `type` varchar(50) NOT NULL DEFAULT 'email',
    338 
    339               `email_bounced` varchar(100) NOT NULL,
    340 
    341               `email_from` varchar(255) NOT NULL,
    342 
    343               `email_from_name` varchar(255) NOT NULL,
    344 
    345               `email_to` varchar(255) NOT NULL,
    346 
    347               `email_to_name` varchar(255) NOT NULL,
    348 
    349               `email_subject` varchar(255) NOT NULL,
    350 
    351               `email_content` longblob NOT NULL,
    352 
    353               `email_group_id` int(20) NOT NULL,
    354 
    355               `status` tinyint(2) NOT NULL DEFAULT '0',
    356 
    357               PRIMARY KEY (`id`)
    358 
    359             ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1";
     275       $sql = "CREATE TABLE $table_name_parsed_emails (
     276  id bigint(20) NOT NULL AUTO_INCREMENT,
     277  type varchar(50) NOT NULL DEFAULT 'email',
     278  email_bounced varchar(100) NOT NULL,
     279  email_from varchar(255) NOT NULL,
     280  email_from_name varchar(255) NOT NULL,
     281  email_to varchar(255) NOT NULL,
     282  email_to_name varchar(255) NOT NULL,
     283  email_subject varchar(255) NOT NULL,
     284  email_content longblob NOT NULL,
     285  email_group_id int(11) NOT NULL,
     286  status tinyint(2) NOT NULL DEFAULT 0,
     287  PRIMARY KEY (id)
     288) $charset_collate;";
    360289        require_once(ABSPATH . "wp-admin/includes/upgrade.php");
    361290        dbDelta($sql);
     
    367296
    368297    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_sent_emails'") != $table_name_sent_emails) {
    369         $sql = "CREATE TABLE IF NOT EXISTS $table_name_sent_emails (
    370 
    371               `id` bigint(20) NOT NULL AUTO_INCREMENT,
    372 
    373               `user_id` int(10) NOT NULL,
    374 
    375               `email_id` int(10) NOT NULL,
    376 
    377               `group_id` int(20) NOT NULL,
    378 
    379               `sent_date` datetime NOT NULL,
    380 
    381               `status` int(2) NOT NULL DEFAULT '0',
    382 
    383               `error_msg` text NOT NULL,
    384 
    385               PRIMARY KEY (`id`)
    386 
    387             ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1";
     298   $sql = "CREATE TABLE $table_name_sent_emails (
     299  id bigint(20) NOT NULL AUTO_INCREMENT,
     300  user_id int(11) NOT NULL,
     301  email_id int(11) NOT NULL,
     302  group_id int(11) NOT NULL,
     303  sent_date datetime NOT NULL,
     304  status int(2) NOT NULL DEFAULT 0,
     305  error_msg text NOT NULL,
     306  PRIMARY KEY (id)
     307) $charset_collate;";
    388308        require_once(ABSPATH . "wp-admin/includes/upgrade.php");
    389309        dbDelta($sql);
     
    399319   
    400320    $col_names = $wpdb->get_results("SHOW COLUMNS FROM $table_name_group");
    401    
     321        $col_names_array = array();
    402322     
    403323       foreach( $col_names as $col_name ) {
     
    425345
    426346    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_attachments'") != $table_name_attachments) {
    427         $sql = "CREATE TABLE IF NOT EXISTS $table_name_attachments (
    428 
    429               `id` bigint(20) NOT NULL AUTO_INCREMENT,
    430              
    431               `group_id` int(10) NOT NULL,
    432 
    433               `file_name` varchar(255) NOT NULL,
    434 
    435               `size` varchar(55) NOT NULL,
    436 
    437               `date` varchar(55) NOT NULL,
    438 
    439               PRIMARY KEY (`id`)
    440 
    441             ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1";
     347  $sql = "CREATE TABLE $table_name_attachments (
     348  id bigint(20) NOT NULL AUTO_INCREMENT,
     349  group_id int(11) NOT NULL,
     350  file_name varchar(255) NOT NULL,
     351  size varchar(55) NOT NULL,
     352  date varchar(55) NOT NULL,
     353  PRIMARY KEY (id)
     354) $charset_collate;";
    442355        require_once(ABSPATH . "wp-admin/includes/upgrade.php");
    443356        dbDelta($sql);
     
    788701{
    789702    global $wpdb, $objMem, $_POST, $table_name_group;
    790     parse_str($_POST['data'], $_POST);
     703    if(isset($_POST['data'])){ //its a group update/edit call
     704        parse_str($_POST['data'], $_POST);
     705   }
    791706    $_POST = stripslashes_deep( $_POST );
    792707    $addme = isset($_POST['addme']) ? absint($_POST['addme']) : null;
  • wp-mailing-group/trunk/readme.txt

    r3270028 r3270795  
    22Contributors: marcusbs
    33Donate link: https://www.wpmailinggroup.com
    4 Tags: listserv, mailing group, listserv, email discussion, mailing list
     4Tags: listserv, mailing group, listserve, email discussion, mailing list
    55Requires at least: 3.0
    66Tested up to: 6.7
    77Tested up to PHP: 8.2
    8 Stable tag: 3.0.1
     8Stable tag: 3.0.2
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1111
    12 
    13 Creates a two-way mailing list (Listserv) on your WordPress site—allowing users to subscribe and exchange emails directly via their inboxes, just like Google Groups or Mailman.
     12Creates a Mailing Group on your site to which users can subscribe, messages sent to the group's email address will be forwarded to all members.
    1413
    1514== Description ==
    1615
    17 <p><strong>Create a Two-Way Email Group (Listserv) in WordPress — Let Users Subscribe, Send, and Receive Group Emails Without Logging In.</strong></p>
    18 
    19 <p><strong>Mailing Group Listserv</strong> is a powerful and easy-to-use <strong>WordPress email group plugin</strong> that lets you create a full-featured <strong>listserv</strong>, <strong>email discussion group</strong>, or <strong>group mailing list</strong> right from your WordPress dashboard.</p>
    20 
    21 <p>With this plugin, you can set up a <strong>two-way email group</strong> where users can <strong>subscribe</strong> and <strong>exchange emails</strong> using their regular email apps like Gmail, Outlook, or Apple Mail—no need to log in to your WordPress site.</p>
    22 
    23 <p><strong>Key Features:</strong></p>
    24 <ul>
    25   <li>Create a <strong>group email list</strong> in WordPress</li>
    26   <li>Send email to all group members from any email client</li>
    27   <li>Receive replies from group members (two-way communication)</li>
    28   <li>Works like <strong>Google Groups</strong>, <strong>Yahoo Groups</strong>, <strong>Mailman</strong>, or <strong>phpList</strong></li>
    29   <li>No third-party service required—<strong>fully self-hosted</strong></li>
    30   <li>Great for clubs, teams, churches, schools, or organizations</li>
    31 </ul>
    32 
    33 <p>Subscribers simply send an email to the group's address, and the message is automatically <strong>forwarded to all other members</strong>, enabling seamless email discussions.</p>
    34 
    35 <p>Unlike one-way announcement lists, this plugin supports <strong>true two-way messaging</strong>, making it ideal for interactive discussions and community engagement.</p>
    36 
    37 <p>This plugin is perfect if you’re searching for:</p>
    38 <ul>
    39   <li><em>email group plugin for WordPress</em></li>
    40   <li><em>WordPress listserv plugin</em></li>
    41   <li><em>self-hosted email discussion group</em></li>
    42   <li><em>WordPress plugin like Google Groups</em></li>
    43   <li><em>send email to all users plugin WordPress</em></li>
    44   <li><em>two-way group email system WordPress</em></li>
    45 </ul>
    46 
    47 <p>Whether you’re managing a team, school, nonprofit, or private community, Mailing Group Listserv gives you the power to run your own <strong>email-based communication network</strong>—right from your WordPress site.</p>
    48 
     16The Mailing Group Listserv plugin allows you to run a Mailing Group, also known as a Listserv, right from your WordPress website. You can sign up your users, friends, family etc, directly from your WordPress administration area, and they can then all exchange emails via their favourite email software, no need to login to wordpress dashboard. It has very easy to use intuitive interface and advanced debugging functions. This is NOT a one-way Announcement list where only YOU can email everyone else. Its a Two-Way mailing group just like Yahoo Groups, Google Groups etc (provides most functions of those groups but not all). It can be used as a partial alternative to php List and mailman. Its a wonderful wordpress group plugin to help you and your groups stay connected! - Premium version includes message moderation and archives.
     17<strong>Premium version offers Email message archives where so you can see all messages sent to mailing group in these archives. Users can also see archives of their groups. Pro version also supports email moderation.</strong>
    4918
    5019<strong>Free Version - Features</strong>
     
    163132== Changelog ==
    164133
    165 =3.0.1 =
    166 *Fixed bug in mailing group not updating.
    167 
    168134=3.0.0 =
    169135*Fixed all problems in the plugin to comply to Wordpress coding standards.
  • wp-mailing-group/trunk/template/mg_importuser.php

    r3269093 r3270795  
    285285                    <td>
    286286
    287                     <input type="checkbox" id="selector" name="selectusers[]" value="<?php echo esc_($id); ?>" />
     287                    <input type="checkbox" id="selector" name="selectusers[]" value="<?php echo esc_attr($id); ?>" />
    288288
    289289                    </td>
  • wp-mailing-group/trunk/template/mg_mailinggroupadd.php

    r3268122 r3270795  
    103103        if(jQuery("#mail_group option:selected").val()=="") { alert("<?php esc_html_e("Please select email group.", 'wp-mailing-group'); ?>"); jQuery("#mail_group").focus(); return false;}
    104104
    105         if(trim(jQuery("#email").val())=="" || trim(jQuery("#title").val())=='<?php esc_html_e("e.g. [email protected]", 'wp-mailing-group'); ?>') { alert("<?php esc_html_e("Please enter email address.", 'wp-mailing-group'); ?>"); jQuery("#email").focus(); return false; }
     105        if(trim(jQuery("#email").val())=="" || trim(jQuery("#title").val())=='<?php echo esc_js(esc_html__("e.g. [email protected]", 'wp-mailing-group')); ?>') {
     106            alert("<?php echo esc_js(esc_html__("Please enter email address.", 'wp-mailing-group')); ?>");
     107            jQuery("#email").focus();
     108            return false;
     109        }
    106110
    107111        if(!checkemail(jQuery("#email").val())) { alert("<?php esc_html_e("Please enter valid email address.", 'wp-mailing-group'); ?>"); jQuery("#email").focus(); return false;}
     
    160164       
    161165        var data = jQuery(this).serialize();
    162         jQuery.post(ajaxurl, data, function(response) { if(response=='exists') { jQuery("#ajaxMessages_inn").html("<?php wpmg_showmessages("error", __("Mailing group already exists.", 'wp-mailing-group')); ?>"); } else if(response=='updated') { jQuery("#ajaxMessages").html("<?php wpmg_showmessages("updated", __("Mailing group has been updated successfully.", 'wp-mailing-group')); ?>"); showdatatable(); } else if(response=='added') { jQuery("#ajaxMessages").html("<?php wpmg_showmessages("updated", __("Mailing group has been added successfully.", 'wp-mailing-group')); ?>"); showdatatable();} else if(response=='free') { jQuery("#ajaxMessages").html("<?php wpmg_showmessages("error", __("You can only add one mailing group per domain, Please upgrade to Paid version for more features.", 'wp-mailing-group')); ?>"); showdatatable();}});
     166        jQuery.post(ajaxurl, data, function(response) { if(response=='exists') { jQuery("#ajaxMessages_inn").html('<?php wpmg_showmessages("error", __("Mailing group already exists.", 'wp-mailing-group')); ?>'); } else if(response=='updated') { jQuery("#ajaxMessages").html('<?php wpmg_showmessages("updated", __("Mailing group has been updated successfully.", 'wp-mailing-group')); ?>'); showdatatable(); } else if(response=='added') { jQuery("#ajaxMessages").html('<?php wpmg_showmessages("updated", __("Mailing group has been added successfully.", 'wp-mailing-group')); ?>'); showdatatable();} else if(response=='free') { jQuery("#ajaxMessages").html('<?php wpmg_showmessages("error", __("You can only add one mailing group per domain, Please upgrade to Paid version for more features.", 'wp-mailing-group')); ?>'); showdatatable();}});
    163167        return false;
    164168    });
Note: See TracChangeset for help on using the changeset viewer.