Plugin Directory

Changeset 3252679


Ignore:
Timestamp:
03/08/2025 11:01:40 PM (12 months ago)
Author:
marcusbs
Message:

fixed errors

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

Legend:

Unmodified
Added
Removed
  • wp-mailing-group/trunk/crons/wpmg_cron_attachments.php

    r1521376 r3252679  
    1 <?php defined('ABSPATH') or die("Cannot access pages directly.");/* * Description: cron to parse emails to db from various groups * Created: 8/2013 * Author: axactsoft.com * Website: http://www.wpmailinggroup.com */function wpmg_auto_delete_attachments() {global $wpdb, $objMem, $obj, $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails, $table_name_crons_run, $table_name_attachments, $table_name_users, $table_name_usermeta; require_once(WPMG_PLUGIN_PATH.'/lib/mailinggroupclass.php');$objMem = new mailinggroupClass();/* get all groups one by one */$groupresult = $objMem->selectRows($table_name_group, "",  " where status = '1' order by id desc");if(count($groupresult)>0) {   foreach($groupresult as $row) {     $id = $row->id;     $save_attachments      = $row->save_attachments;    $att_auto_delete       = $row->att_auto_delete; $att_auto_delete_limit = $row->att_auto_delete_limit;   $size_limit            = $row->size_limit;  $size_limit_value      = $row->size_limit_value ;   $upload_dir   = wp_upload_dir();    $user_dirname = $upload_dir['basedir'].'/mg_groups/'.$id;   $user_urlname = $upload_dir['baseurl'].'/mg_groups/'.$id;           if(isset($save_attachments) && $save_attachments == '1'){       $get_size  = $objMem->selectRows($table_name_attachments, "", " ORDER BY id ASC");          if(!empty($get_size)){      foreach($get_size as $key=>$value){         $aid=$value->id;            if(isset($att_auto_delete) && $att_auto_delete=='1'){               if(isset($att_auto_delete_limit) && $att_auto_delete_limit > 0){                                $size += $value->size;              $cdate = $value->date;              $pdate = date("m/d/Y");                 $date1 = date_create($cdate);               $date2 = date_create($pdate);               $diff=date_diff($date1,$date2);                 $traildays = $diff->days;                               if($traildays>$att_auto_delete_limit){                                  $fields = array("id","attachments");                    $grpinfo['id'] = $value->email_id;                  $grpinfo['attachments'] = "0";                  $objMem->updRow($table_name_parsed_emails,$grpinfo,$fields);                    $wpdb->query("DELETE FROM " . $table_name_attachments . " WHERE id=$aid");                  $files = unserialize($value->file_name);                    foreach($files as $ak=>$av){                        $filename=$user_dirname."/".$av[0];                     @unlink($filename);                 }               }                   }           }           if(isset($size_limit) && $size_limit=='1'){             if(isset($size_limit_value) && $size_limit_value > 0){              $size1 += $value->size;             $size = round(($size1/1024)/1024);                              if($size>$size_limit_value){                    $fields = array("id","attachments");                    $grpinfo['id'] = $value->email_id;                  $grpinfo['attachments'] = "0";                  $objMem->updRow($table_name_parsed_emails,$grpinfo,$fields);                                    $wpdb->query("DELETE FROM " . $table_name_attachments . " WHERE id=$aid");                  $files = unserialize($value->file_name);                    foreach($files as $ak=>$av){                        $filename=$user_dirname."/".$av[0];                     @unlink($filename);                 }               }                unset($size);                              }           }                   }               }   }}}}
     1<?php
     2/**
     3 * Description: cron to parse emails to db from various groups
     4 * Created: 8/2013
     5 * Author: axactsoft.com
     6 * Website: http://www.wpmailinggroup.com
     7 */
     8
     9defined('ABSPATH') || die('Cannot access pages directly.');
     10
     11/**
     12 * Auto delete attachments based on group settings
     13 *
     14 * @return void
     15 */
     16function wpmg_auto_delete_attachments()
     17{
     18    global $wpdb, $objMem, $obj, $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails, $table_name_crons_run, $table_name_attachments, $table_name_users, $table_name_usermeta;
     19    require_once(WPMG_PLUGIN_PATH . '/lib/mailinggroupclass.php');
     20    $objMem = new mailinggroupClass();/* get all groups one by one */
     21    $groupresult = $objMem->selectRows($table_name_group, "",  " where status = '1' order by id desc");
     22    if (count($groupresult) > 0) {
     23        foreach ($groupresult as $row) {
     24            $id = $row->id;
     25            $save_attachments      = $row->save_attachments;
     26            $att_auto_delete       = $row->att_auto_delete;
     27            $att_auto_delete_limit = $row->att_auto_delete_limit;
     28            $size_limit            = $row->size_limit;
     29            $size_limit_value      = $row->size_limit_value;
     30            $upload_dir   = wp_upload_dir();
     31            $user_dirname = $upload_dir['basedir'] . '/mg_groups/' . $id;
     32            $user_urlname = $upload_dir['baseurl'] . '/mg_groups/' . $id;
     33            if (isset($save_attachments) && $save_attachments == '1') {
     34                $get_size  = $objMem->selectRows($table_name_attachments, "", " ORDER BY id ASC");
     35                if (!empty($get_size)) {
     36                    foreach ($get_size as $key => $value) {
     37                        $aid = $value->id;
     38                        if (isset($att_auto_delete) && $att_auto_delete == '1') {
     39                            if (isset($att_auto_delete_limit) && $att_auto_delete_limit > 0) {
     40                                $size += $value->size;
     41                                $cdate = $value->date;
     42                                $pdate = date("m/d/Y");
     43                                $date1 = date_create($cdate);
     44                                $date2 = date_create($pdate);
     45                                $diff = date_diff($date1, $date2);
     46                                $traildays = $diff->days;
     47                                if ($traildays > $att_auto_delete_limit) {
     48                                    $fields = array("id", "attachments");
     49                                    $grpinfo['id'] = $value->email_id;
     50                                    $grpinfo['attachments'] = "0";
     51                                    $objMem->updRow($table_name_parsed_emails, $grpinfo, $fields);
     52                                    $wpdb->query($wpdb->prepare('DELETE FROM %s WHERE id=%d', $table_name_attachments, $aid));
     53                                    $files = unserialize($value->file_name);
     54                                    foreach ($files as $ak => $av) {
     55                                        $filename = $user_dirname . "/" . $av[0];
     56                                        @unlink($filename);
     57                                    }
     58                                }
     59                            }
     60                        }
     61                        if (isset($size_limit) && $size_limit == '1') {
     62                            if (isset($size_limit_value) && $size_limit_value > 0) {
     63                                $size1 += $value->size;
     64                                $size = round(($size1 / 1024) / 1024);
     65                                if ($size > $size_limit_value) {
     66                                    $fields = array("id", "attachments");
     67                                    $grpinfo['id'] = $value->email_id;
     68                                    $grpinfo['attachments'] = "0";
     69                                    $objMem->updRow($table_name_parsed_emails, $grpinfo, $fields);
     70                                    $wpdb->query($wpdb->prepare('DELETE FROM %s WHERE id=%d', $table_name_attachments, $aid));
     71                                    $files = unserialize($value->file_name);
     72                                    foreach ($files as $ak => $av) {
     73                                        $filename = $user_dirname . "/" . $av[0];
     74                                        @unlink($filename);
     75                                    }
     76                                }
     77                                unset($size);
     78                            }
     79                        }
     80                    }
     81                }
     82            }
     83        }
     84    }
     85}
  • wp-mailing-group/trunk/crons/wpmg_cron_bounced_email.php

    r1521376 r3252679  
    11<?php
    2 
    3 defined('ABSPATH') or die("Cannot access pages directly.");
    4 
    5 /*
    6 
     2/**
    73 * Description: Cron to notify admin about bounced emails
    8 
    94 * Created: 08/2013
    10 
    11  * Author: axactsoft.com
    12 
     5 * Author: Yamna Khawaja
    136 * Website: http://www.wpmailinggroup.com
    14 
    157 */
    168
     9defined('ABSPATH') || die('Cannot access pages directly.');
     10
     11/**
     12 * Process bounced emails and notify admin if limits are exceeded
     13 *
     14 * @return void
     15 */
    1716function wpmg_cron_bounced_email() {
     17    global $wpdb, $objMem, $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails, $table_name_crons_run, $memberLimit, $table_name_users, $table_name_usermeta;
    1818
    19 global $wpdb, $objMem, $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails, $table_name_crons_run, $memberLimit, $table_name_users, $table_name_usermeta;
     19    require_once(WPMG_PLUGIN_PATH . '/lib/mailinggroupclass.php');
     20    $objMem = new mailinggroupClass();
    2021
    21  
     22    $WPMG_SETTINGS = get_option('WPMG_SETTINGS');
     23    $mailresult = $objMem->selectRows($table_name_parsed_emails, '', ' where status = 0 and type=\'bounced\' order by id desc limit 0, 1');
    2224
    23 require_once(WPMG_PLUGIN_PATH.'/lib/mailinggroupclass.php');
     25    if (count($mailresult) > 0) {
     26        /* get admin bounce settings */
     27        $bouncecheck = $WPMG_SETTINGS['MG_BOUNCE_CHECK'];
     28        $bouncealerttimes = $WPMG_SETTINGS['MG_BOUNCE_CHECK_ALERT_TIMES'];
     29        $bouncecheckalertemail = $WPMG_SETTINGS['MG_BOUNCE_CHECK_ALERT_EMAIL'];
    2430
    25 $objMem = new mailinggroupClass();
     31        foreach ($mailresult as $emailParsed) {
     32            $bouncedGroupId = $emailParsed->email_group_id;
     33            $bouncedMailId = $emailParsed->id;
     34            $emailType = $emailParsed->type;
     35            $emailBounced = $emailParsed->email_bounced;
    2636
     37            $bouncedUser = $objMem->selectRows($table_name_users, '', $wpdb->prepare(' where user_email=%s', $emailBounced));
     38            $bouncedUserId = $bouncedUser[0]->ID;
    2739
     40            if (is_numeric($bouncedUserId)) {
     41                /* entry in db for bounced emails */
     42                $myFields = array('id', 'user_id', 'email_id', 'group_id', 'sent_date', 'status');
     43                $_ARRDB['user_id'] = $bouncedUserId;
     44                $_ARRDB['email_id'] = $bouncedMailId;
     45                $_ARRDB['group_id'] = $bouncedGroupId;
     46                $_ARRDB['sent_date'] = current_time('mysql');
     47                $_ARRDB['status'] = '2';
     48                $objMem->addNewRowV2($table_name_sent_emails, $_ARRDB, $myFields);
    2849
    29 $WPMG_SETTINGS = get_option("WPMG_SETTINGS");
     50                $fields = array('id', 'status');
     51                $grpinfo['id'] = $bouncedMailId;
     52                $grpinfo['status'] = '1';
     53                $objMem->updRowV2($table_name_parsed_emails, $grpinfo, $fields);
    3054
    31 $mailresult = $objMem->selectRows($table_name_parsed_emails, "",  " where status = '0' and type='bounced' order by id desc limit 0, 1");
     55                /*get user total bounced email count till now*/
     56                $mailresult = $objMem->selectRows($table_name_sent_emails, '', $wpdb->prepare(' where user_id = %d and status = \'2\'', $bouncedUserId));
    3257
    33 if(count($mailresult)>0) {
     58                /*Notify to admin on crossing defined limits of bounce emails*/
     59                if ($bouncecheck && count($mailresult) >= $bouncealerttimes) {
     60                    $user_login = stripslashes($bouncedUser[0]->user_login);
     61                    $user_email = stripslashes($bouncedUser[0]->user_email);
    3462
    35    
     63                    $subject = sprintf('Bounced Email Alert from %s', get_bloginfo('name'));
     64                    $message = __('Dear Admin,', 'wp-mailing-group') . "\r\n\r\n";
     65                    /* translators: %s: site name */
     66                    $message .= sprintf(__('A user has exceeded the bounced email limit on %s! Here are the user details:', 'wp-mailing-group'), get_option('blogname')) . "\r\n\r\n";
     67                    /* translators: %s: username */
     68                    $message .= sprintf(__('Username: %s', 'wp-mailing-group'), $user_login) . "\r\n";
     69                    /* translators: %s: email address */
     70                    $message .= sprintf(__('Email Address: %s', 'wp-mailing-group'), $user_email) . "\r\n\r\n";
     71                    $message .= __('Thank you!', 'wp-mailing-group');
    3672
    37     /* get admin bounce settings */
     73                    $headers = array(
     74                        'From: ' . get_bloginfo('name') . ' <' . get_bloginfo('admin_email') . '>',
     75                        'Content-Type: text/plain; charset=UTF-8'
     76                    );
    3877
    39     $bouncecheck           = $WPMG_SETTINGS["MG_BOUNCE_CHECK"];
    40 
    41     $bouncealerttimes      = $WPMG_SETTINGS["MG_BOUNCE_CHECK_ALERT_TIMES"];
    42 
    43     $bouncecheckalertemail = $WPMG_SETTINGS["MG_BOUNCE_CHECK_ALERT_EMAIL"];
    44 
    45     /* get admin bounce settings */
    46 
    47    
    48 
    49     foreach($mailresult as $emailParsed) {
    50 
    51         $bouncedGroupId = $emailParsed->email_group_id;
    52 
    53         $bouncedMailId = $emailParsed->id;
    54 
    55         $emailType = $emailParsed->type;
    56 
    57         $emailBounced = $emailParsed->email_bounced;
    58 
    59        
    60 
    61         $bouncedUser = $objMem->selectRows($table_name_users, "",  " where user_email='$emailBounced'");
    62 
    63         /* $bouncedUser = get_user_by("email", $emailBounced); */
    64 
    65         $bouncedUserId = $bouncedUser[0]->ID;
    66 
    67         if(is_numeric($bouncedUserId)) {
    68 
    69            
    70 
    71             /* entry in db for bounced emails */
    72 
    73             $myFields=array("id","user_id","email_id","group_id","sent_date","status");
    74 
    75             $_ARRDB['user_id'] = $bouncedUserId;
    76 
    77             $_ARRDB['email_id'] = $bouncedMailId;
    78 
    79             $_ARRDB['group_id'] = $bouncedGroupId;
    80 
    81             $_ARRDB['sent_date'] = date("Y-m-d H:i:s");
    82 
    83             $_ARRDB['status'] = "2";
    84 
    85             $objMem->addNewRow($table_name_sent_emails,$_ARRDB, $myFields);
    86 
    87            
    88 
    89             $fields = array("id","status");
    90 
    91             $grpinfo['id'] = $bouncedMailId;
    92 
    93             $grpinfo['status'] = "1";
    94 
    95             $objMem->updRow($table_name_parsed_emails,$grpinfo,$fields);
    96 
    97             /* entry in db for bounced emails */
    98 
    99            
    100 
    101             /*get user total bounced email count till now*/
    102 
    103             $mailresult = $objMem->selectRows($table_name_sent_emails, "",  " where user_id = '".$bouncedUserId."' and status = '2'");
    104 
    105 
    106 
    107             /*Notify to admin on crossing defined limits of bounce emails*/
    108 
    109             if($bouncecheck && count($mailresult) >= $bouncealerttimes) {
    110 
    111                
    112 
    113                 $user_login = stripslashes( $bouncedUser[0]->user_login );
    114 
    115                 $user_email = stripslashes( $bouncedUser[0]->user_email );
    116 
    117                
    118 
    119                 $subject = "Bounced Email Alert from ".get_bloginfo('name');
    120 
    121                 $message  = __('Dear Admin,','mailing-group-module') . "\r\n\r\n";
    122 
    123                 $message .= sprintf( __("A user has exceeded the bounced email limit on %s! Here are the user details:",'mailing-group-module'), get_option('blogname')) . "\r\n\r\n";
    124 
    125                 $message .= sprintf( __('Username: %s','mailing-group-module'), $user_login ) . "\r\n";
    126 
    127                 $message .= sprintf( __('Email Address: %s','mailing-group-module'), $user_email ) . "\r\n\r\n";
    128 
    129                 $message .= __('Thank you!','mailing-group-module');
    130 
    131                 $headers = 'From: '.get_bloginfo('name').' <'.get_bloginfo('admin_email').'>' . "\r\n";
    132 
    133                 mail(
    134 
    135                     $bouncecheckalertemail,
    136 
    137                     $subject,
    138 
    139                     $message,
    140 
    141                     $headers
    142 
    143                 );
    144 
     78                    wp_mail($bouncecheckalertemail, $subject, $message, $headers);
     79                }
     80            } else {
     81                $log_msg = __('No user found by bounced email address', 'wp-mailing-group');
    14582            }
    146 
    147            
    148 
    149         } else {
    150 
    151            
    152 
    153             $log_msg ="No user found by bounced email address";
    154 
    155        
    156 
    15783        }
    158 
     84    } else {
     85        $log_msg = __('No Bounced Email found!', 'wp-mailing-group');
    15986    }
    160 
    161 } else {
    162 
    163     $log_msg ="No Bounced Email found!";
    164 
    16587}
    166 
    167 }
  • wp-mailing-group/trunk/crons/wpmg_cron_parse_email.php

    r2181091 r3252679  
    11<?php
    2 defined('ABSPATH') or die("Cannot access pages directly.");
    3 /*
     2/**
    43 * Description: cron to parse emails to db from various groups
    54 * Created: 8/2013
     
    76 * Website: http://www.wpmailinggroup.com
    87 */
     8
     9defined('ABSPATH') || die('Cannot access pages directly.');
     10
     11/**
     12 * Parse emails from various groups and store in database
     13 *
     14 * @return void
     15 */
    916function wpmg_cron_parse_email() {
    10 global $wpdb, $objMem, $obj, $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails, $table_name_crons_run, $memberLimit, $table_name_attachments, $table_name_users, $table_name_usermeta;
    11 require_once(WPMG_PLUGIN_PATH.'/lib/mailinggroupclass.php');
    12 $objMem = new mailinggroupClass();
     17    global $wpdb, $objMem, $obj, $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails, $table_name_crons_run, $memberLimit, $table_name_attachments, $table_name_users, $table_name_usermeta;
    1318
    14 /* get all groups one by one */
    15 $groupresult = $objMem->selectRows($table_name_group, "",  " where status = '1' order by id desc");
    16 if(count($groupresult)>0) {
    17     foreach($groupresult as $row) {
    18         $id = $row->id;
    19         $email = $row->email;
    20         $password = $row->password;
    21         $pop_server_type = $row->pop_server_type;       
    22         $pop_server = $row->pop_server;
    23         $pop_port   = $row->pop_port;
    24         $pop_ssl      = $row->pop_ssl;     
    25         $pop_username = $row->pop_username;
    26         $pop_password = $row->pop_password;
    27        
    28        
    29         if ( $pop_ssl == 1 ) {
    30             $ssl = true;
    31         } else {
    32             $ssl = false;
    33         }       
    34             if($pop_username!='' && $pop_password!='') {   
     19    require_once(WPMG_PLUGIN_PATH . '/lib/mailinggroupclass.php');
     20    $objMem = new mailinggroupClass();
    3521
    36     $obj = new receiveMail($pop_username,$pop_password,$email,$pop_server,$pop_server_type,$pop_port,$ssl);
     22    /* get all groups one by one */
     23    $groupresult = $objMem->selectRowsV2($table_name_group, '', ' where status = "1" order by id desc');
     24    if (count($groupresult) > 0) {
     25        foreach ($groupresult as $row) {
     26            $id = $row->id;
     27            $email = $row->email;
     28            $password = $row->password;
     29            $pop_server_type = $row->pop_server_type;
     30            $pop_server = $row->pop_server;
     31            $pop_port = $row->pop_port;
     32            $pop_ssl = $row->pop_ssl;
     33            $pop_username = $row->pop_username;
     34            $pop_password = $row->pop_password;
    3735
    38     } else {       
     36            if (1 === $pop_ssl) {
     37                $ssl = true;
     38            } else {
     39                $ssl = false;
     40            }
    3941
    40     $obj = new receiveMail($email,$password,$email,$pop_server,$pop_server_type,$pop_port,false);   
     42            if (!empty($pop_username) && !empty($pop_password)) {
     43                $obj = new receiveMail($pop_username, $pop_password, $email, $pop_server, $pop_server_type, $pop_port, $ssl);
     44            } else {
     45                $obj = new receiveMail($email, $password, $email, $pop_server, $pop_server_type, $pop_port, false);
     46            }
    4147
    42     }
    43         /* Connect to the Mail Box */
    44         $obj->connect(); /* If connection fails give error message and exit */
     48            /* Connect to the Mail Box */
     49            $obj->connect(); /* If connection fails give error message and exit */
    4550
    46         /* Get Total Number of Unread Email in mail box */
    47         $tot=$obj->getTotalMails(); /* Total Mails in Inbox Return integer value */
    48        
    49         $myFields=array("id","type","email_bounced","email_from","email_from_name","email_to","email_to_name","email_subject","email_content","email_group_id","attachments","status");
    50         $fileFields=array("id","group_id","file_name","size","email_id","date");
    51        
    52         if($tot>0) {
    53             for($i=$tot;$i>0;$i--) {
    54                 $head=$obj->getHeaders($i);  /*  Get Header Info Return Array Of Headers **Array Keys are (subject,to,toOth,toNameOth,from,fromName) */
    55            
    56                 $emailContent = $obj->getBody($i);
    57                 $emailContent = html_entity_decode($emailContent);
    58                
    59                 $upload_dir   = wp_upload_dir();
    60                 $user_dirname = $upload_dir['basedir'].'/mg_groups/'.$id;
    61                 $user_urlname = $upload_dir['baseurl'].'/mg_groups/'.$id;
    62                 if( ! file_exists( $user_dirname ) )
    63                     wp_mkdir_p( $user_dirname );
    64                    
    65                 $str=$obj->GetAttach($i,$user_dirname.'/'); // Get attached File from Mail Return name of file in comma separated string  args. (mailid, Path to store file)
     51            /* Get Total Number of Unread Email in mail box */
     52            $tot = $obj->getTotalMails(); /* Total Mails in Inbox Return integer value */
    6653
    67                 if(!empty($str)){   
    68                 foreach($str as $key=>$value){
    69                     $emailContent.= ($value['name']=="")?"":"Attached File :: ".$user_urlname."/".$value['name']."<br>";
    70                     $size += $value['size'];
    71                     $arr[] = array($value['name'],$value['size']);
    72                 }   
    73                 }           
    74                 /* get bounced email if any */
    75                 $bounced_email = "";
    76                 if($head['type']=='bounced') {
    77                     $bounced_email = $obj->get_bounced_email_address($emailContent);
     54            $myFields = array('id', 'type', 'email_bounced', 'email_from', 'email_from_name', 'email_to', 'email_to_name', 'email_subject', 'email_content', 'email_group_id', 'attachments', 'status');
     55            $fileFields = array('id', 'group_id', 'file_name', 'size', 'email_id', 'date');
     56
     57            if ($tot > 0) {
     58                for ($i = $tot; $i > 0; $i--) {
     59                    $head = $obj->getHeaders($i);  /*  Get Header Info Return Array Of Headers **Array Keys are (subject,to,toOth,toNameOth,from,fromName) */
     60
     61                    $emailContent = $obj->getBody($i);
     62                    $emailContent = html_entity_decode($emailContent);
     63
     64                    $upload_dir = wp_upload_dir();
     65                    $user_dirname = $upload_dir['basedir'] . '/mg_groups/' . $id;
     66                    $user_urlname = $upload_dir['baseurl'] . '/mg_groups/' . $id;
     67
     68                    if (!file_exists($user_dirname)) {
     69                        wp_mkdir_p($user_dirname);
     70                    }
     71
     72                    $str = $obj->GetAttach($i, $user_dirname . '/'); // Get attached File from Mail Return name of file in comma separated string  args. (mailid, Path to store file)
     73
     74                    if (!empty($str)) {
     75                        foreach ($str as $key => $value) {
     76                            $emailContent .= (empty($value['name'])) ? '' : 'Attached File :: ' . $user_urlname . '/' . $value['name'] . '<br>';
     77                            $size += $value['size'];
     78                            $arr[] = array($value['name'], $value['size']);
     79                        }
     80                    }
     81
     82                    /* get bounced email if any */
     83                    $bounced_email = '';
     84                    if ('bounced' === $head['type']) {
     85                        $bounced_email = $obj->get_bounced_email_address($emailContent);
     86                    }
     87
     88                    /* Insert into database and delete from server */
     89                    $_ARRDB['type'] = $head['type'];
     90                    $_ARRDB['email_from'] = $head['from'];
     91                    $_ARRDB['email_from_name'] = $head['fromName'];
     92                    $_ARRDB['email_to'] = $head['to'];
     93                    $_ARRDB['email_to_name'] = $head['toName'];
     94                    $_ARRDB['email_subject'] = imap_utf8($head['subject']);
     95                    $_ARRDB['email_content'] = $emailContent;
     96                    $_ARRDB['email_group_id'] = $id;
     97                    $_ARRDB['attachments'] = '1';
     98                    $_ARRDB['status'] = '0';
     99
     100                    if (!empty($bounced_email)) {
     101                        $_ARRDB['email_bounced'] = $bounced_email;
     102                    }
     103
     104                    $email_id = $objMem->addNewRowV2($table_name_parsed_emails, $_ARRDB, $myFields);
     105
     106                    if (isset($save_attachments) && '1' === $save_attachments) {
     107                        $files['group_id'] = $id;
     108                        $files['file_name'] = serialize($arr);
     109                        $files['size'] = $size;
     110                        $files['email_id'] = $email_id;
     111                        $files['date'] = date('m/d/Y');
     112                        $objMem->addNewRowV2($table_name_attachments, $files, $fileFields);
     113                    }
     114
     115                    $obj->deleteMails($i); /* Delete Mail from Mail box */
    78116                }
    79                 /* Insert into database and delete from server */
    80                 $_ARRDB['type'] = $head['type'];
    81                 $_ARRDB['email_from'] = $head['from'];
    82                 $_ARRDB['email_from_name'] = $head['fromName'];
    83                 $_ARRDB['email_to'] = $head['to'];
    84                 $_ARRDB['email_to_name'] = $head['toName'];
    85                 $_ARRDB['email_subject'] = imap_utf8($head['subject']);
    86                 $_ARRDB['email_content'] = $emailContent;
    87                 $_ARRDB['email_group_id'] = $id;       
    88                 $_ARRDB['attachments']   = '1';
    89                 $_ARRDB['status'] ="0";
    90                 if($bounced_email!='') {
    91                     $_ARRDB['email_bounced'] = $bounced_email;
    92                 }
    93                 $email_id  =  $objMem->addNewRow($table_name_parsed_emails,$_ARRDB, $myFields);
    94                 if(isset($save_attachments) && $save_attachments == '1'){
    95                     $files['group_id']  = $id;             
    96                     $files['file_name'] = serialize($arr); 
    97                     $files['size']      = $size;   
    98                     $files['email_id']  = $email_id;       
    99                     $files['date']      = date('m/d/Y');   
    100                     $objMem->addNewRow($table_name_attachments,$files, $fileFields);   
    101                 }           
    102                 $obj->deleteMails($i); /* Delete Mail from Mail box */
     117            } else {
     118                $log_msg = __('No Email Found.', 'wp-mailing-group');
    103119            }
    104         } else {
    105             $log_msg ="No Email Found.";
     120
     121            $obj->close_mailbox();   /* Close Mail Box */
    106122        }
    107         $obj->close_mailbox();   /* Close Mail Box */       
    108123    }
    109124}
    110 }
  • wp-mailing-group/trunk/crons/wpmg_cron_send_email.php

    r2412695 r3252679  
    77 * Description: Cron to send emails to registered users in a particular mailing group
    88
    9  * Created: 08/2013
    10 
    11  * Author: axactsoft.com
     9 * Author: wpmailinggroup.com
    1210
    1311 * Website: http://www.wpmailinggroup.com
     
    2826
    2927
    30 $mailresult = $objMem->selectRows($table_name_parsed_emails, "",  " where status = '0' and type='email' order by id desc limit 0, 1");
     28$mailresult = $objMem->selectRowsV2($table_name_parsed_emails, "",  " where status = '0' and type='email' order by id desc limit 0, 1");
    3129
    3230
     
    4947        /* get group details */
    5048
    51         $resultGroup = $objMem->selectRows($table_name_group, "",  " where id = '".$receiverGroupId."' order by id desc");
     49        $resultGroup = $objMem->selectRowsV2($table_name_group, "",  " where id = '".$receiverGroupId."' order by id desc");
    5250
    5351        $resultGroup = $resultGroup[0];
     
    6765
    6866        if($emailParsed->attachments =='0'){
    69 
    70         $parsed_cnt .= "<br /><p>NOTE: An attachment was automatically removed from this message because it exceeded the allowable attachment size of ".$size_limit_value." MB or older than ".$att_auto_delete_limit." Day(s).</p>";
    71 
     67            /* translators: %1$d: size limit in MB, %2$d: auto delete limit in days */
     68            $parsed_cnt .= sprintf(
     69                '<br /><p>%s</p>',
     70                sprintf(
     71                    /* translators: %1$d: size limit in MB, %2$d: auto delete limit in days */
     72                    __('NOTE: An attachment was automatically removed from this message because it exceeded the allowable attachment size of %1$d MB or older than %2$d Day(s).', 'wp-mailing-group'),
     73                    $size_limit_value,
     74                    $att_auto_delete_limit
     75                )
     76            );
    7277        }
    7378
     
    7883            /* get sender user details */
    7984
    80             $senderUser = $objMem->selectRows($table_name_users, "",  " where user_email='".$senderEmail."'");
     85            $senderUser = $objMem->selectRowsV2($table_name_users, "",  " where user_email='".$senderEmail."'");
    8186
    8287           
     
    102107           
    103108
    104             $senderUserMeta = $objMem->selectRows($table_name_usermeta, "",  " where user_id='".$senderUserId."' and meta_key='first_name'");                     
     109            $senderUserMeta = $objMem->selectRowsV2($table_name_usermeta, "",  " where user_id='".$senderUserId."' and meta_key='first_name'");                   
    105110
    106111           
     
    112117            if(is_numeric($senderUserId)||$is_test_email > 0) {
    113118
    114                 $groupSender = $objMem->selectRows($table_name_user_taxonomy, "",  " where group_id = '".$receiverGroupId."' and user_id = '".$senderUserId."' order by id desc limit 0, 1");
     119                $groupSender = $objMem->selectRowsV2($table_name_user_taxonomy, "",  " where group_id = '".$receiverGroupId."' and user_id = '".$senderUserId."' order by id desc limit 0, 1");
    115120
    116121                $groupSender = isset($groupSender[0])?$groupSender[0]:'';               
     
    127132                    /* get other users from the sender user group */
    128133
    129                     $membersGroup = $objMem->selectRows($table_name_user_taxonomy, "",  " where group_id = '".$receiverGroupId."' order by id desc");
     134                    $membersGroup = $objMem->selectRowsV2($table_name_user_taxonomy, "",  " where group_id = '".$receiverGroupId."' order by id desc");
    130135
    131136
     
    153158
    154159
    155                             $sentUserDetails = $objMem->selectRows($table_name_users, "",  " where ID='$sendtouserId'");
     160                            $sentUserDetails = $objMem->selectRowsV2($table_name_users, "",  " where ID='$sendtouserId'");
    156161
    157162                            /* $sentUserDetails = get_user_by("id", $sendtouserId); */
    158163
    159                             $Ustatus = $objMem->selectRows($table_name_usermeta, "",  " where meta_key='User_status' and user_id='$sendtouserId'");
     164                            $Ustatus = $objMem->selectRowsV2($table_name_usermeta, "",  " where meta_key='User_status' and user_id='$sendtouserId'");
    160165
    161166                            /* $Ustatus = get_user_meta($sendtouserId, "User_status", true); */
     
    367372                        $grpinfo['id'] = $receiverMailId;
    368373                        $grpinfo['status'] = "1";
    369                         $objMem->updRow($table_name_parsed_emails,$grpinfo,$fields);
     374                        $objMem->updRowV2($table_name_parsed_emails,$grpinfo,$fields);
    370375                    } else {
    371                         $log_msg ="No other user subscribed in this group!";
     376                        error_log(__("No other user subscribed in this group!", 'wp-mailing-group'));
    372377                    }
    373                 }else{
    374                     echo"Sender not belongs to group member!";
     378                } else {
     379                    error_log(__("Sender not belongs to group member!", 'wp-mailing-group'));
    375380                    $fields = array("id","status");
    376381                    $grpinfo['id'] = $receiverMailId;
    377382                    $grpinfo['status'] = "3";
    378                     $objMem->updRow($table_name_parsed_emails,$grpinfo,$fields);                   
     383                    $objMem->updRowV2($table_name_parsed_emails,$grpinfo,$fields);                 
    379384                }           
    380385            } else {
    381                 $log_msg ="No Valid Sender Found in DB!";
     386                error_log(__("No Valid Sender Found in DB!", 'wp-mailing-group'));
    382387                $fields = array("id","status");
    383388                $grpinfo['id'] = $receiverMailId;
    384389                $grpinfo['status'] = "3";
    385                 $objMem->updRow($table_name_parsed_emails,$grpinfo,$fields);                   
     390                $objMem->updRowV2($table_name_parsed_emails,$grpinfo,$fields);                 
    386391            }
    387392        } else {
    388             $log_msg ="No Valid Mailing Group Found!";
     393            error_log (__("No Valid Mailing Group Found!", 'wp-mailing-group'));
    389394            $fields = array("id","status");
    390395            $grpinfo['id'] = $receiverMailId;
    391396            $grpinfo['status'] = "3";
    392             $objMem->updRow($table_name_parsed_emails,$grpinfo,$fields);               
     397            $objMem->updRowV2($table_name_parsed_emails,$grpinfo,$fields);             
    393398        }
    394399    }
    395400} else {
    396         echo "No Parsed Email found!";
    397     $log_msg ="No Parsed Email found!";
     401    error_log(__("No Parsed Email found!", 'wp-mailing-group'));
    398402}
    399403}
  • wp-mailing-group/trunk/languages/mailing-group-module-es_ES.po

    r3205968 r3252679  
    66msgid ""
    77msgstr ""
    8 "Project-Id-Version: mailing-group-module 1.0\n"
     8"Project-Id-Version: wp-mailing-group 1.0\n"
    99"Report-Msgid-Bugs-To: \n"
    1010"POT-Creation-Date: 2012-11-11 21:33-0400\n"
  • wp-mailing-group/trunk/lib/mailinggroupclass.php

    r2181570 r3252679  
    1 <?php   class mailinggroupClass {       function addNewRow($tblname,$grpinfo, $fields)      {           global $wpdb;
     1<?php   class mailinggroupClass {       
     2   
     3    function addNewRow($tblname,$grpinfo, $fields)      {
     4           
     5        global $wpdb;
    26
    37            $count = sizeof($grpinfo);
     
    9296        }
    9397
     98        function addNewRowV2($tblname,$grpinfo, $fields)        {
     99           
     100            global $wpdb;
     101
     102            $count = sizeof($grpinfo);
     103
     104            if($count>0)
     105            {
     106                $id=0;
     107                $field="";
     108                $values = array();
     109                $placeholders = array();
     110
     111                foreach($fields as $key)
     112                {
     113                    if(!isset($grpinfo[$key])){$grpinfo[$key] = '';}
     114                    if(isset($grpinfo[$key]) && is_array($grpinfo[$key])) {
     115                        $exp = implode(",", $grpinfo[$key]);
     116                        if($field=="")
     117                        {
     118                            $field="`".$key."`";
     119                            $placeholders[] = "%s";
     120                            $values[] = wpmg_dbAddslashes($exp);
     121                        }
     122                        else
     123                        {
     124                            $field=$field.",`".$key."`";
     125                            $placeholders[] = "%s";
     126                            $values[] = wpmg_dbAddslashes($exp);
     127                        }
     128                    } else {
     129                        if($field=="")
     130                        {
     131                            $field="`".$key."`";
     132                            if(isset($grpinfo[$key])){
     133                                $placeholders[] = "%s";
     134                                $values[] = wpmg_dbAddslashes(wpmg_trimVal($grpinfo[$key]));
     135                            }
     136                        }
     137                        else
     138                        {
     139                            $field=$field.",`".$key."`";
     140                            if(isset($grpinfo[$key])){
     141                                $placeholders[] = "%s";
     142                                $values[] = wpmg_dbAddslashes(wpmg_trimVal($grpinfo[$key]));
     143                            }
     144                        }
     145                    }
     146                }
     147
     148                $placeholders = implode(",", $placeholders);
     149                $sSQL = $wpdb->prepare("INSERT INTO ".$tblname." ($field) VALUES ($placeholders)", $values);
     150
     151                $wpdb->query($sSQL);
     152
     153                return $lastid = $wpdb->insert_id;
     154            }
     155            else
     156            {
     157                return false;
     158            }
     159        }
     160
    94161
    95162
     
    177244        }
    178245
     246        function updRowV2($tblname,$grpinfo,$fields)
     247
     248        {
     249
     250            global $wpdb;
     251
     252            $count = sizeof($grpinfo);
     253
     254            if($count>0)
     255            {
     256
     257                $field="";
     258
     259                $vals="";
     260
     261                foreach($fields as $key)
     262
     263                {
     264                if(!isset($grpinfo[$key])){$grpinfo[$key] = '';}
     265                    if(is_array($grpinfo[$key])) {
     266
     267                        $exp = implode(",", $grpinfo[$key]);
     268
     269                        if($field=="" && $key!="id")
     270
     271                        {
     272
     273                            $field="`".$key."` = '".wpmg_dbAddslashes(wpmg_trimVal($exp))."'";
     274
     275                        }
     276
     277                        else if($key!="id")
     278
     279                        {
     280
     281                            $field=$field.",`".$key."` = '".wpmg_dbAddslashes(wpmg_trimVal($exp))."'";
     282
     283                        }
     284
     285                    } else {
     286
     287                        if($field=="" && $key!="id")
     288
     289                        {
     290
     291                            $field="`".$key."` = '".wpmg_dbAddslashes(wpmg_trimVal($grpinfo[$key]))."'";
     292
     293                        }
     294
     295                        else if($key!="id")
     296
     297                        {
     298
     299                            $field=$field.",`".$key."` = '".wpmg_dbAddslashes(wpmg_trimVal($grpinfo[$key]))."'";
     300
     301                        }
     302
     303                    }
     304
     305                }
     306
     307
     308
     309                $sSQL = $wpdb->prepare("update ".$tblname." set $field where id = %d", $grpinfo["id"]);
     310
     311                /* mysql_query($sSQL) or die (mysql_error().'Error, query failed'); */
     312
     313                $wpdb->query($sSQL);
     314
     315                return true;
     316
     317            }
     318
     319            else
     320
     321            {
     322
     323                return false;
     324
     325            }
     326
     327        }
     328
    179329        function selectRows($tblname,$id="",$extra="")
    180330
     
    203353        }
    204354
     355        function selectRowsV2($tblname,$id="",$extra="")
     356
     357        {
     358
     359            global $wpdb;
     360
     361            $subStr = "";
     362            $values = array();
     363
     364            if($id>0)
     365            {
     366                $subStr = " where id = %d";
     367                $values[] = $id;
     368            }
     369           
     370            $sSQL = "select * from ".$tblname . $subStr . $extra;
     371           
     372            if (!empty($values)) {
     373                $sSQL = $wpdb->prepare($sSQL, $values);
     374            }
     375           
     376            $res = $wpdb->get_results($sSQL);
     377            return $res;
     378
     379        }
     380
    205381        function selectRowsCompleteQuery($query)
    206382
     
    239415        }
    240416
    241        
     417        function selectRowsbyFieldV2($tblname,$by,$id="",$extra="") {
     418            global $wpdb;
     419
     420            $subStr = "";
     421            $values = array();
     422
     423            if($id!='') {
     424                $subStr = " where $by = %s";
     425                $values[] = $id;
     426            }
     427           
     428            $sSQL = "select * from ".$tblname . $subStr . $extra;
     429           
     430            if (!empty($values)) {
     431                $sSQL = $wpdb->prepare($sSQL, $values);
     432            }
     433           
     434            $res = $wpdb->get_results($sSQL);
     435            return $res;
     436        }
    242437
    243438        function checkRowExists($tblname, $field, $grpinfo, $extracheck="") {
     
    279474        }
    280475
    281        
     476        function checkRowExistsV2($tblname, $field, $grpinfo, $extracheck="") {
     477            global $wpdb;
     478
     479            if($field!="") {
     480                $substr = "";
     481                $values = array();
     482
     483                if($extracheck="idCheck") {
     484                    $substr = " and id != %d";
     485                    $values[] = $grpinfo['id'];
     486                }
     487
     488                $sSQL = "select * from ".$tblname." where ".$field." = %s " . $substr;
     489                $values = array_merge(array(wpmg_dbAddslashes(wpmg_trimVal($grpinfo[$field]))), $values);
     490               
     491                $sSQL = $wpdb->prepare($sSQL, $values);
     492                $res = $wpdb->get_results($sSQL);
     493
     494                return (sizeof($res) > 0);
     495            } else {
     496                return false;
     497            }
     498        }
    282499
    283500        function getUserGroup($tblname,$id,$type='0') {
     
    303520        }
    304521
    305        
     522        function getUserGroupV2($tblname,$id,$type='0') {
     523            global $wpdb;
     524
     525            $sSQL = $wpdb->prepare("select * from ".$tblname." where user_id = %d", $id);
     526            $res = $wpdb->get_results($sSQL);
     527
     528            if(count($res)>0) {
     529                foreach($res as $resg) {
     530                    $arrresult[$resg->group_id] = $resg->group_email_format;
     531                }
     532                return $arrresult;
     533            }
     534        }
    306535
    307536        function getGroupUserCount($tblname,$id) {
     
    315544        }
    316545
    317        
     546        function getGroupUserCountV2($tblname,$id) {
     547            global $wpdb;
     548
     549            $sSQL = $wpdb->prepare("select * from ".$tblname." where group_id = %d", $id);
     550            return $wpdb->get_results($sSQL);
     551        }
    318552
    319553        function getCompleteUserGroups($tblname, $tblnameuser,$id) {
     
    339573        }
    340574
     575        function getCompleteUserGroupsV2($tblname, $tblnameuser,$id) {
     576            global $wpdb;
     577
     578            $sSQL = $wpdb->prepare(
     579                "select t1.*,t2.* from ".$tblname." t1 inner join ".$tblnameuser." t2 on t1.group_id = t2.id and t1.user_id = %d",
     580                $id
     581            );
     582            $res = $wpdb->get_results($sSQL);
     583
     584            if(count($res)>0) {
     585                foreach($res as $resg) {
     586                    $arrresult[] = $resg;
     587                }
     588                return $arrresult;
     589            }
     590        }
     591
    341592        function addUserGroup($tblname,$id,$grpinfo) {
    342593
     
    365616        }
    366617
     618        function addUserGroupV2($tblname,$id,$grpinfo) {
     619            global $wpdb;
     620
     621            $myFields="id,user_id,group_id,group_email_format";
     622
     623            if(count($grpinfo['group_name'])>0) {
     624                foreach($grpinfo['group_name'] as $key => $group_id) {
     625                    $emailformat = $grpinfo['email_format_'.$group_id];
     626
     627                    $sSQL = $wpdb->prepare(
     628                        "INSERT INTO ".$tblname." ($myFields) VALUES ('', %d, %d, %s)",
     629                        $id,
     630                        $group_id,
     631                        $emailformat
     632                    );
     633                    $wpdb->query($sSQL);
     634                }
     635            }
     636            return true;
     637        }
     638
    367639        function getGroupSerialized($grpinfo) {
    368640
     
    393665                $sSQL = "DELETE FROM ".$tblname." WHERE user_id = '".$userid."' and group_id = '".$groupid."'";
    394666
    395                 /* mysql_query($sSQL) or die (mysql_error().'Error, query failed'); */
    396 
    397667                $wpdb->query($sSQL);
    398668
     
    403673        }
    404674
     675        function deleteUserGroupV2($tblname,$groupid,$userid) {
     676            global $wpdb;
     677
     678            if($groupid!='' && $userid!='') {
     679                $sSQL = $wpdb->prepare("DELETE FROM ".$tblname." WHERE user_id = %d AND group_id = %d", $userid, $groupid);
     680                $wpdb->query($sSQL);
     681            }
     682            return true;
     683        }
     684
    405685        function updUserGroup($tblname,$id,$grpinfo) {
    406686
     
    437717            return true;
    438718
     719        }
     720
     721        function updUserGroupV2($tblname,$id,$grpinfo) {
     722            global $wpdb;
     723
     724            $myFields="id,user_id,group_id,group_email_format";
     725
     726            $getCurrentGroups = $this->getUserGroup($tblname,$id,'1');
     727
     728            if(count($grpinfo['group_name'])>0 && $getCurrentGroups) {
     729                foreach($grpinfo['group_name'] as $key => $group_id) {
     730                    $emailformat = $grpinfo['email_format_'.$group_id];
     731
     732                    if(!in_array($group_id,$getCurrentGroups)) {
     733                        $sSQL = $wpdb->prepare(
     734                            "INSERT INTO ".$tblname." ($myFields) VALUES ('', %d, %d, %s)",
     735                            $id,
     736                            $group_id,
     737                            $emailformat
     738                        );
     739                        $wpdb->query($sSQL);
     740                    }
     741                }
     742            } else {
     743                $this->addUserGroup($tblname,$id,$grpinfo);
     744            }
     745            return true;
    439746        }
    440747
     
    465772        }
    466773
     774        function addUserGroupTaxonomyV2($tblname, $id, $arrtoInsert) {
     775            global $wpdb;
     776            if(count($arrtoInsert)>0) {
     777                $myFields="id,user_id,group_id,group_email_format";
     778
     779                foreach($arrtoInsert as $group_id => $emailformat) {
     780                    $sSQL = $wpdb->prepare(
     781                        "select * from ".$tblname." where user_id = %d and group_id = %d",
     782                        $id,
     783                        $group_id
     784                    );
     785                    $res = $wpdb->get_results($sSQL);
     786
     787                    if(count($res)>0){
     788                        $sSQLdel = $wpdb->prepare(
     789                            "DELETE FROM ".$tblname." WHERE user_id = %d and group_id = %d",
     790                            $id,
     791                            $group_id
     792                        );
     793                        $wpdb->query($sSQLdel);
     794                       
     795                        $uSQL = $wpdb->prepare(
     796                            "INSERT INTO ".$tblname." ($myFields) VALUES ('', %d, %d, %s)",
     797                            $id,
     798                            $group_id,
     799                            $emailformat
     800                        );
     801                        $wpdb->query($uSQL);
     802                    } else {
     803                        $sSQL = $wpdb->prepare(
     804                            "INSERT INTO ".$tblname." ($myFields) VALUES ('', %d, %d, %s)",
     805                            $id,
     806                            $group_id,
     807                            $emailformat
     808                        );
     809                        $wpdb->query($sSQL);
     810                    }
     811                }
     812            }
     813        }
     814
    467815        function updUserGroupTaxonomy($tblname, $id, $arrtoInsert) {
    468816
     
    489837        }
    490838
     839        function updUserGroupTaxonomyV2($tblname, $id, $arrtoInsert) {
     840            global $wpdb;
     841
     842            $sSQLdel = $wpdb->prepare("DELETE FROM ".$tblname." WHERE user_id = %d", $id);
     843            $wpdb->query($sSQLdel);
     844
     845            if(count($arrtoInsert)>0) {
     846                $myFields="id,user_id,group_id,group_email_format";
     847
     848                foreach($arrtoInsert as $group_id => $emailformat) {
     849                    $sSQL = $wpdb->prepare(
     850                        "INSERT INTO ".$tblname." ($myFields) VALUES ('', %d, %d, %s)",
     851                        $id,
     852                        $group_id,
     853                        $emailformat
     854                    );
     855                    $wpdb->query($sSQL);
     856                }
     857            }
     858        }
     859
    491860    }
    492861
  • wp-mailing-group/trunk/mailing-group-module.php

    r3205968 r3252679  
    11<?php /**
    22* @package Mailing_group_module
    3 * @version 2.0.9
     3* @version 3.0.0
    44*/
    55/*
     
    99Author: Yamna Khawaja
    1010Author URI: https://www.wpmailinggroup.com/
    11 Version: 2.0.9
     11Version: 3.0.0
     12License: GPL v2 or later
     13License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1214*/
    1315if (preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) {
     
    3739
    3840$WPMG_SETTINGS = get_option("WPMG_SETTINGS");
    39 $MG_VERSION_NO = '2.0.9';
     41$MG_VERSION_NO = '3.0.0';
    4042$WPMG_SETTINGS['MG_VERSION_NO']  = $MG_VERSION_NO;
    4143$WPMG_SETTINGS['MG_PLUGIN_TYPE'] = 'FREE';
     
    9193add_filter( 'cron_schedules', 'cron_add_weekly' );
    9294function cron_add_weekly( $schedules ) {
    93     // Adds once weekly to the existing schedules.
    94     $schedules['wpmg_two_minute'] = array(
    95         'interval' => 120,
    96         'display' => __( 'Every Two Minutes' )
    97     );
    98     $schedules['wpmg_five_minute'] = array(
    99         'interval' => 300,
    100         'display' => __( 'Every Five Minutes' )
    101     );
    102     $schedules['wpmg_fifteen_minute'] = array(
    103         'interval' => 900,
    104         'display' => __( 'Every Fifteen Minutes' )
    105     ); 
    106     return $schedules;
     95    // Adds once weekly to the existing schedules.
     96    $schedules['wpmg_two_minute'] = array(
     97        'interval' => 120,
     98        'display' => esc_html__( 'Every Two Minutes', 'wp-mailing-group' )
     99    );
     100    $schedules['wpmg_five_minute'] = array(
     101        'interval' => 300,
     102        'display' => esc_html__( 'Every Five Minutes', 'wp-mailing-group' )
     103    );
     104    $schedules['wpmg_fifteen_minute'] = array(
     105        'interval' => 900,
     106        'display' => esc_html__( 'Every Fifteen Minutes', 'wp-mailing-group' )
     107    );   
     108    return $schedules;
    107109}
    108110
     
    140142    $MG_SUPPORT_EMAIL    = (isset($wpmgs['MG_SUPPORT_EMAIL']) && $wpmgs['MG_SUPPORT_EMAIL']!=''?$wpmgs['MG_SUPPORT_EMAIL']:'[email protected]');
    141143    $MG_SUPPORT_PHONE    = (isset($wpmgs['MG_SUPPORT_PHONE']) && $wpmgs['MG_SUPPORT_PHONE']!=''?$wpmgs['MG_SUPPORT_PHONE']:'1800-123-1234');
    142     $MG_VERSION_NO       = (isset($wpmgs['MG_VERSION_NO'])    && $wpmgs['MG_VERSION_NO']!=''?$wpmgs['MG_VERSION_NO']:'1.5.5');
     144    $MG_VERSION_NO       = (isset($wpmgs['MG_VERSION_NO'])    && $wpmgs['MG_VERSION_NO']!=''?$wpmgs['MG_VERSION_NO']:'3.0.0');
    143145   
    144146    $wpmg_setting = array(
     
    159161    update_option("WPMG_SETTINGS", $wpmg_setting);     
    160162   
    161     $MSQL = "show tables like '$table_name_group'";
    162 
    163     if ($wpdb->get_var($MSQL) != $table_name_group) {
     163
     164    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_group'") != $table_name_group) {
    164165       
    165         $sql = "CREATE TABLE IF NOT EXISTS `$table_name_group` (
     166        $sql = "CREATE TABLE IF NOT EXISTS $table_name_group (
    166167              `id` mediumint(9) NOT NULL AUTO_INCREMENT,
    167168
     
    218219        dbDelta($sql);
    219220    }
    220     $MSQL = "show tables like '$table_name_message'";
    221     if ($wpdb->get_var($MSQL) != $table_name_message) {
    222         $sql      = "CREATE TABLE IF NOT EXISTS `$table_name_message` (
     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 (
    223224
    224225              `id` mediumint(9) NOT NULL AUTO_INCREMENT,
     
    237238
    238239            ) ENGINE=MyISAM  $charset_collate AUTO_INCREMENT=1;";
    239         $sql2     = "INSERT INTO `$table_name_message` (id,title,description,status) VALUES ('','Credentials Check','Hello {%name%},
     240        $sql2     = "INSERT INTO $table_name_message (id,title,description,status) VALUES ('','Credentials Check','Hello {%name%},
    240241
    241242Thank you for your subscription request to {%group_name%} at {%site_title%} ({%site_url%}).
     
    262263    }else{
    263264        //dbdelta not updating old tables so this is a workaround
    264         $wpdb->query("ALTER TABLE $table_name_message CHARACTER SET utf8 COLLATE utf8_unicode_ci;");
    265    
     265        $wpdb->query("ALTER TABLE $table_name_message CHARACTER SET utf8 COLLATE utf8_unicode_ci");
    266266    }
    267     $MSQL = "show tables like '$table_name_requestmanager'";
    268     if ($wpdb->get_var($MSQL) != $table_name_requestmanager) {
    269         $sql = "CREATE TABLE IF NOT EXISTS `$table_name_requestmanager` (
     267 
     268    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_requestmanager'") != $table_name_requestmanager) {
     269        $sql = "CREATE TABLE IF NOT EXISTS $table_name_requestmanager (
    270270
    271271              `id` int(9) NOT NULL AUTO_INCREMENT,
     
    288288     }else{
    289289        //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    
     290        $wpdb->query("ALTER TABLE $table_name_requestmanager CHARACTER SET utf8 COLLATE utf8_unicode_ci");
    292291    }
    293     $MSQL = "show tables like '$table_name_requestmanager_taxonomy'";
    294     if ($wpdb->get_var($MSQL) != $table_name_requestmanager_taxonomy) {
    295         $sql = "CREATE TABLE IF NOT EXISTS `$table_name_requestmanager_taxonomy` (
     292   
     293    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 (
    296295
    297296              `id` int(50) NOT NULL AUTO_INCREMENT,
     
    310309    }else{
    311310        //dbdelta not updating old tables so this is a workaround
    312         $wpdb->query("ALTER TABLE $table_name_requestmanager_taxonomy CHARACTER SET utf8 COLLATE utf8_unicode_ci;");
    313    
     311        $wpdb->query("ALTER TABLE $table_name_requestmanager_taxonomy CHARACTER SET utf8 COLLATE utf8_unicode_ci");
    314312    }
    315     $MSQL = "show tables like '$table_name_user_taxonomy'";
    316     if ($wpdb->get_var($MSQL) != $table_name_user_taxonomy) {
    317         $sql = "CREATE TABLE IF NOT EXISTS `$table_name_user_taxonomy` (
     313 
     314    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 (
    318316
    319317              `id` int(50) NOT NULL AUTO_INCREMENT,
     
    331329        dbDelta($sql);
    332330    }
    333     $MSQL = "show tables like '$table_name_parsed_emails'";
    334     if ($wpdb->get_var($MSQL) != $table_name_parsed_emails) {
    335         $sql = "CREATE TABLE IF NOT EXISTS `$table_name_parsed_emails` (
     331
     332    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 (
    336334
    337335              `id` bigint(100) NOT NULL AUTO_INCREMENT,
     
    364362    }else{
    365363        //dbdelta not updating old tables so this is a workaround
    366         $wpdb->query("ALTER TABLE $table_name_parsed_emails CHARACTER SET utf8 COLLATE utf8_unicode_ci;");
    367        
    368         $wpdb->query("ALTER TABLE $table_name_parsed_emails MODIFY `email_subject` varchar( 255 ) CHARACTER SET utf8");
    369        
    370    
     364        $wpdb->query("ALTER TABLE $table_name_parsed_emails CHARACTER SET utf8 COLLATE utf8_unicode_ci");
     365        $wpdb->query("ALTER TABLE $table_name_parsed_emails MODIFY `email_subject` varchar(255) CHARACTER SET utf8");
    371366    }
    372     $MSQL = "show tables like '$table_name_sent_emails'";
    373     if ($wpdb->get_var($MSQL) != $table_name_sent_emails) {
    374         $sql = "CREATE TABLE IF NOT EXISTS `$table_name_sent_emails` (
     367
     368    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 (
    375370
    376371              `id` bigint(20) NOT NULL AUTO_INCREMENT,
     
    395390    }else{
    396391        //dbdelta not updating old tables so this is a workaround
    397         $wpdb->query("ALTER TABLE $table_name_sent_emails CHARACTER SET utf8 COLLATE utf8_unicode_ci;");
    398    
     392        $wpdb->query("ALTER TABLE $table_name_sent_emails CHARACTER SET utf8 COLLATE utf8_unicode_ci");
    399393    }
    400394   
     
    429423   
    430424    /* Add attachment table if not present. */
    431     $MSQL = "show tables like '$table_name_attachments'";
    432     if ($wpdb->get_var($MSQL) != $table_name_attachments) {
    433         $sql = "CREATE TABLE IF NOT EXISTS `$table_name_attachments` (
     425
     426    if ($wpdb->get_var("SHOW TABLES LIKE '$table_name_attachments'") != $table_name_attachments) {
     427        $sql = "CREATE TABLE IF NOT EXISTS $table_name_attachments (
    434428
    435429              `id` bigint(20) NOT NULL AUTO_INCREMENT,
     
    450444    }       
    451445    /* Add attachments column if not present. */   
    452     $group_parsed_column = $wpdb->get_row("SELECT * FROM $table_name_parsed_emails");
    453         $col_names = $wpdb->get_results("SHOW COLUMNS FROM $table_name_parsed_emails");
    454    
    455      
    456        foreach( $col_names as $col_name ) {
    457 
    458          $col_names_array []= $col_name->Field;
    459     }
    460    
    461 
    462     if(!in_array('attachments',$col_names_array)){
    463 
    464         $wpdb->query("ALTER TABLE $table_name_parsed_emails ADD attachments int(11) NOT NULL DEFAULT 1 AFTER email_group_id");
    465     }   
     446$column_exists = $wpdb->get_results($wpdb->prepare(
     447    "SHOW COLUMNS FROM `$table_name_parsed_emails` LIKE %s",
     448    'attachments'
     449));
     450
     451if (empty($column_exists)) {
     452    // Column does not exist, so add it
     453    $wpdb->query("ALTER TABLE `$table_name_parsed_emails` ADD `attachments` INT(11) NOT NULL DEFAULT 1 AFTER `email_group_id`");
     454}
    466455   
    467456    /* Add email_id column if not present. */
    468     $group_attachments_email_column = $wpdb->get_row("SELECT * FROM $table_name_attachments");
    469     $col_names = $wpdb->get_results("SHOW COLUMNS FROM $table_name_attachments");
    470 
    471 
    472    
    473      
    474        foreach( $col_names as $col_name ) {
    475 
    476          $col_names_array []= $col_name->Field;
    477     }
    478    
    479 
    480     if(!in_array('email_id',$col_names_array)){
    481 
    482         $wpdb->query("ALTER TABLE $table_name_attachments ADD email_id int(11) NOT NULL DEFAULT 0 AFTER size");
    483     }       
     457    $column_exists = $wpdb->get_results($wpdb->prepare(
     458    "SHOW COLUMNS FROM `$table_name_attachments` LIKE %s",
     459    'email_id'
     460));
     461
     462if (empty($column_exists)) {
     463    // Column does not exist, so add it
     464    $wpdb->query("ALTER TABLE `$table_name_attachments` ADD `email_id` INT(11) NOT NULL DEFAULT 0 AFTER `size`");
     465}
    484466   
    485467}
     
    508490    if (current_user_can('manage_options')) {
    509491        /* Adding menus */
    510         add_menu_page(__('Mailing Group Manager','mailing-group-module'), __('Mailing Group Manager', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_intro', 'wpmg_mailinggroup_intro');
    511         add_submenu_page('wpmg_mailinggroup_intro', __('General Settings', 'mailing-group-module'), __('General Settings', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_intro', 'wpmg_mailinggroup_intro');
    512         add_submenu_page('wpmg_mailinggroup_intro', __('Mailing Groups', 'mailing-group-module'), __('Mailing Groups', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_list', 'wpmg_mailinggroup_list');
    513         add_submenu_page('wpmg_mailinggroup_intro', __('Troubleshooting', 'mailing-group-module'), __('Troubleshooting', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_testmail', 'wpmg_mailinggroup_testmail');
    514         add_submenu_page('null', __('Add Mailing Group', 'mailing-group-module'), __('Add Mailing Group', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_add', 'wpmg_mailinggroup_add');
    515         add_submenu_page('null', __('Member Manager', 'mailing-group-module'), __('Member Manager', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_memberlist', 'wpmg_mailinggroup_memberlist');
    516         add_submenu_page('null', __('Add Member', 'mailing-group-module'), __('Add Member', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_memberadd', 'wpmg_mailinggroup_memberadd');
    517         add_submenu_page('wpmg_mailinggroup_intro', __('Add Subscribers', 'mailing-group-module'), __('Add Subscribers', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_requestmanageradd', 'wpmg_mailinggroup_requestmanageradd');
    518         add_submenu_page('null', __('Import Users', 'mailing-group-module'), __('Import Users', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_importuser', 'wpmg_mailinggroup_importuser');
    519         add_submenu_page('wpmg_mailinggroup_intro', __('Subscription Requests', 'mailing-group-module'), __('Subscription Requests', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_requestmanagerlist', 'wpmg_mailinggroup_requestmanagerlist');
    520         add_submenu_page('null', __('Add Subscription Request', 'mailing-group-module'), __('Add Subscription Request', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_requestmanageradd', 'wpmg_mailinggroup_requestmanageradd');
    521         add_submenu_page('null', __('Send Message', 'mailing-group-module'), __('Send Message', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_sendmessage', 'wpmg_mailinggroup_sendmessage');
    522         add_submenu_page('null', __('Messages Manager', 'mailing-group-module'), __('Messages Manager', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_messagelist', 'wpmg_mailinggroup_messagelist');
    523         add_submenu_page('null', __('Messages Editor', 'mailing-group-module'), __('Messages Editor', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_adminmessagelist', 'wpmg_mailinggroup_adminmessagelist');
    524         add_submenu_page('null', __('Add Message', 'mailing-group-module'), __('Add Message', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_messageadd', 'wpmg_mailinggroup_messageadd');
    525         add_submenu_page('null', __('Add Admin Message', 'mailing-group-module'), __('Add Admin Message', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_adminmessageadd', 'wpmg_mailinggroup_adminmessageadd');
    526         add_submenu_page('null', __('Import User', 'mailing-group-module'), __('Import User', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_importuser', 'wpmg_mailinggroup_importuser');
    527         add_submenu_page('null', __('View Message', 'mailing-group-module'), __('View Message', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_viewmessage', 'wpmg_mailinggroup_viewmessage');
    528         add_submenu_page('null', __('Style Manager', 'mailing-group-module'), __('Style Manager', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_style', 'wpmg_mailinggroup_style');
    529         add_submenu_page('null', __('Contact Info', 'mailing-group-module'), __('Contact Info', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_contact', 'wpmg_mailinggroup_contact');
    530         add_submenu_page('null', __('Help', 'mailing-group-module'), __('Help', 'mailing-group-module'), $admin_level, 'wpmg_mailinggroup_help', 'wpmg_mailinggroup_help');
     492        add_menu_page(__('Mailing Group Manager','wp-mailing-group'), __('Mailing Group Manager', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_intro', 'wpmg_mailinggroup_intro');
     493        add_submenu_page('wpmg_mailinggroup_intro', __('General Settings', 'wp-mailing-group'), __('General Settings', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_intro', 'wpmg_mailinggroup_intro');
     494        add_submenu_page('wpmg_mailinggroup_intro', __('Mailing Groups', 'wp-mailing-group'), __('Mailing Groups', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_list', 'wpmg_mailinggroup_list');
     495        add_submenu_page('wpmg_mailinggroup_intro', __('Troubleshooting', 'wp-mailing-group'), __('Troubleshooting', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_testmail', 'wpmg_mailinggroup_testmail');
     496        add_submenu_page('null', __('Add Mailing Group', 'wp-mailing-group'), __('Add Mailing Group', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_add', 'wpmg_mailinggroup_add');
     497        add_submenu_page('null', __('Member Manager', 'wp-mailing-group'), __('Member Manager', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_memberlist', 'wpmg_mailinggroup_memberlist');
     498        add_submenu_page('null', __('Add Member', 'wp-mailing-group'), __('Add Member', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_memberadd', 'wpmg_mailinggroup_memberadd');
     499        add_submenu_page('wpmg_mailinggroup_intro', __('Add Subscribers', 'wp-mailing-group'), __('Add Subscribers', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_requestmanageradd', 'wpmg_mailinggroup_requestmanageradd');
     500        add_submenu_page('null', __('Import Users', 'wp-mailing-group'), __('Import Users', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_importuser', 'wpmg_mailinggroup_importuser');
     501        add_submenu_page('wpmg_mailinggroup_intro', __('Subscription Requests', 'wp-mailing-group'), __('Subscription Requests', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_requestmanagerlist', 'wpmg_mailinggroup_requestmanagerlist');
     502        add_submenu_page('null', __('Add Subscription Request', 'wp-mailing-group'), __('Add Subscription Request', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_requestmanageradd', 'wpmg_mailinggroup_requestmanageradd');
     503        add_submenu_page('null', __('Send Message', 'wp-mailing-group'), __('Send Message', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_sendmessage', 'wpmg_mailinggroup_sendmessage');
     504        add_submenu_page('null', __('Messages Manager', 'wp-mailing-group'), __('Messages Manager', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_messagelist', 'wpmg_mailinggroup_messagelist');
     505        add_submenu_page('null', __('Messages Editor', 'wp-mailing-group'), __('Messages Editor', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_adminmessagelist', 'wpmg_mailinggroup_adminmessagelist');
     506        add_submenu_page('null', __('Add Message', 'wp-mailing-group'), __('Add Message', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_messageadd', 'wpmg_mailinggroup_messageadd');
     507        add_submenu_page('null', __('Add Admin Message', 'wp-mailing-group'), __('Add Admin Message', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_adminmessageadd', 'wpmg_mailinggroup_adminmessageadd');
     508        add_submenu_page('null', __('Import User', 'wp-mailing-group'), __('Import User', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_importuser', 'wpmg_mailinggroup_importuser');
     509        add_submenu_page('null', __('View Message', 'wp-mailing-group'), __('View Message', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_viewmessage', 'wpmg_mailinggroup_viewmessage');
     510        add_submenu_page('null', __('Style Manager', 'wp-mailing-group'), __('Style Manager', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_style', 'wpmg_mailinggroup_style');
     511        add_submenu_page('null', __('Contact Info', 'wp-mailing-group'), __('Contact Info', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_contact', 'wpmg_mailinggroup_contact');
     512        add_submenu_page('null', __('Help', 'wp-mailing-group'), __('Help', 'wp-mailing-group'), $admin_level, 'wpmg_mailinggroup_help', 'wpmg_mailinggroup_help');
    531513    } else {
    532         add_menu_page(__('Mailing Groups', 'mailing-group-module'), __('Mailing Groups', 'mailing-group-module'), $user_level, 'wpmg_mailinggroup_membergroups', 'wpmg_mailinggroup_membergroups');
    533         add_submenu_page('null', __('View Message', 'mailing-group-module'), __('View Message', 'mailing-group-module'), $user_level, 'wpmg_mailinggroup_viewmessage', 'wpmg_mailinggroup_viewmessage');
     514        add_menu_page(__('Mailing Groups', 'wp-mailing-group'), __('Mailing Groups', 'wp-mailing-group'), $user_level, 'wpmg_mailinggroup_membergroups', 'wpmg_mailinggroup_membergroups');
     515        add_submenu_page('null', __('View Message', 'wp-mailing-group'), __('View Message', 'wp-mailing-group'), $user_level, 'wpmg_mailinggroup_viewmessage', 'wpmg_mailinggroup_viewmessage');
    534516    }
    535517    if(isset($_GET['page']) && substr($_GET['page'], 0, 17) == 'wpmg_mailinggroup'){
     
    553535function wpmg_mailing_group_language_init()
    554536{
    555     load_plugin_textdomain('mailing-group-module', FALSE, dirname(plugin_basename(__FILE__)) . '/languages/');
     537    load_plugin_textdomain('wp-mailing-group', "", dirname(plugin_basename(__FILE__)) . '/languages/');
    556538}
    557539add_action('init', 'wpmg_mailing_group_language_init');
     
    988970    if ( 'user' !== $notify ) {
    989971        $switched_locale = switch_to_locale( get_locale() );
    990         $message  = sprintf( __( 'New user registration on your site %s:' ), $blogname ) . "\r\n\r\n";
    991         $message .= sprintf( __( 'Username: %s' ), $user->user_login ) . "\r\n\r\n";
    992         $message .= sprintf( __( 'Email: %s' ), $user->user_email ) . "\r\n";
     972        /* translators: %s: site name */
     973        $message  = sprintf( __( 'New user registration on your site %s:', 'wp-mailing-group' ), $blogname ) . "\r\n\r\n";
     974        /* translators: %s: username */
     975        $message .= sprintf( __( 'Username: %s', 'wp-mailing-group' ), $user->user_login ) . "\r\n\r\n";
     976        /* translators: %s: user email */
     977        $message .= sprintf( __( 'Email: %s', 'wp-mailing-group' ), $user->user_email ) . "\r\n";
    993978 
    994         @wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] New User Registration' ), $blogname ), $message );
     979        /* translators: %s: site name */
     980        @wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] New User Registration', 'wp-mailing-group' ), $blogname ), $message );
    995981 
    996982        if ( $switched_locale ) {
     
    13631349    $error = new WP_Error();
    13641350      if (isset($verify) && $verify == '1' && $activationkey != '' && $nonce != '') {
    1365         $result = $objMem->selectRows($wpdb->users, "", " where MD5(ID) = '" . $activationkey . "' and MD5(user_registered) = '" . $nonce . "' order by id desc");
     1351        $result = $objMem->selectRows($wpdb->users, "", $wpdb->prepare(" where MD5(ID) = %s and MD5(user_registered) = %s order by id desc", $activationkey, $nonce));
    13661352        if ($result[0] && is_array($result)) {
    13671353            $user_status = $result[0]->user_status;
    13681354            if ($user_status == '2') {
    13691355                $user_id = $result[0]->ID;
    1370                 $wpdb->query("UPDATE $wpdb->users SET user_status = 0 WHERE ID =" . $user_id);
     1356                $wpdb->query($wpdb->prepare("UPDATE {$wpdb->users} SET user_status = 0 WHERE ID = %d", $user_id));
    13711357                update_user_meta($user_id, "User_status", 1);
    13721358                $random_password = wp_generate_password(12, false);
     
    13761362                $arrayString = unserialize($gropArray);
    13771363                wpmg_sendGroupConfirmationtoMember($user_id, $arrayString);
    1378                 $error->add('verified_success', __("<div align='center'>Thank you for your subscription.<br>Please check your email for your account login credentials, so you can update your preferences and profile.</div>"));
     1364                $error->add('verified_success', __("<div align='center'>Thank you for your subscription.<br>Please check your email for your account login credentials, so you can update your preferences and profile.</div>", 'wp-mailing-group'));
    13791365                echo $error->get_error_message("verified_success");
    13801366               /*  sleep(5);
    13811367                wpmg_redirectTo("wp-login.php","abs"); */
    13821368            } else {
    1383                 $error->add('already_verified', __("<div align='center'><strong>Verified</strong>: Account already verified, Please <a href='wp-login.php'>login here</a>.</div>"));
     1369                $error->add('already_verified', __("<div align='center'><strong>Verified</strong>: Account already verified, Please <a href='wp-login.php'>login here</a>.</div>", 'wp-mailing-group'));
    13841370                echo $error->get_error_message("already_verified");
    13851371                wpmg_redirectTo("wp-login.php", "abs");
    13861372            }
    13871373        } else {
    1388             $error->add('invalid_request', __("<div align='center'><strong>ERROR</strong>: Invalid verification request, Please contact administrator.</div>"));
     1374            $error->add('invalid_request', __("<div align='center'><strong>ERROR</strong>: Invalid verification request, Please contact administrator.</div>", 'wp-mailing-group'));
    13891375            echo $error->get_error_message("invalid_request");
    13901376        }
     
    13961382        update_user_meta($userid, "Group_subscribed", $grpserial);
    13971383        $objMem->updUserGroupTaxonomy($table_name_user_taxonomy, $userid, $group_arr_old);
    1398         $error->add('success_unsubscribe', __("<div align='center'><strong>Success</strong>: You are successfully unsubscribed from the selected group.</div>"));
     1384        $error->add('success_unsubscribe', __("<div align='center'><strong>Success</strong>: You are successfully unsubscribed from the selected group.</div>", 'wp-mailing-group'));
    13991385        echo $error->get_error_message("success_unsubscribe");
    14001386    } else {
     
    14111397        return $user;
    14121398    if (is_a($user, 'WP_User') && 2 == $user->user_status)
    1413         return new WP_Error('invalid_username', __("<strong>ERROR</strong>: You account has been deactivated."));
     1399        return new WP_Error('invalid_username', __("<strong>ERROR</strong>: You account has been deactivated.", 'wp-mailing-group'));
    14141400    return $user;
    14151401}
     
    14461432{
    14471433    global $wpdb, $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails;
    1448     $sql = "DROP TABLE `$table_name_group`, `$table_name_message`, `$table_name_requestmanager`, `$table_name_requestmanager_taxonomy`, `$table_name_user_taxonomy`, `$table_name_parsed_emails`, `$table_name_sent_emails`";
     1434    $sql = "DROP TABLE $table_name_group, $table_name_message, $table_name_requestmanager, $table_name_requestmanager_taxonomy, $table_name_user_taxonomy, $table_name_parsed_emails, $table_name_sent_emails";
    14491435    /* //$wpdb->query($sql); // comment this if you want to keep the database tables after installation */
    14501436}
     
    14571443    $user_obj = get_userdata($user_id);
    14581444    $email    = $user_obj->user_email;
    1459     $wpdb->query("delete from " . $table_name_user_taxonomy . " where user_id=" . $user_id);
    1460     $get_subscription_taxonomy = $objMem->selectRows($table_name_requestmanager, "", " where email = '" . $email . "'");
     1445   
     1446    // Check if table exists
     1447    if($wpdb->get_var($wpdb->prepare("SHOW TABLES LIKE %s", $table_name_user_taxonomy)) == $table_name_user_taxonomy) {
     1448        $result = $wpdb->query($wpdb->prepare("DELETE FROM %s WHERE user_id = %d", $table_name_user_taxonomy, $user_id));
     1449        if($result === false) {
     1450            error_log('Failed to delete user taxonomy for user ID: ' . $user_id);
     1451        }
     1452    }
     1453   
     1454    $get_subscription_taxonomy = $objMem->selectRows($table_name_requestmanager, "", $wpdb->prepare(" where email = %s", $email));
    14611455    $subscriptoinid            = $get_subscription_taxonomy[0]->id;
    1462     $wpdb->query("delete from " . $table_name_requestmanager_taxonomy . " where user_id = " . $subscriptoinid);
    1463     $wpdb->query("delete from " . $table_name_requestmanager . " where id = " . $subscriptoinid);
     1456    $wpdb->query($wpdb->prepare("DELETE FROM %s WHERE user_id = %d", $table_name_requestmanager_taxonomy, $subscriptoinid));
     1457    $wpdb->query($wpdb->prepare("DELETE FROM %s WHERE id = %d", $table_name_requestmanager, $subscriptoinid));
    14641458}
    14651459function wpmg_custom_menu_hack()
  • wp-mailing-group/trunk/readme.txt

    r3205968 r3252679  
    1 === Mailing Group Listserv ===
     1=== WP Mailing Group ===
    22Contributors: marcusbs
    33Donate link: https://www.wpmailinggroup.com
    4 Tags: listserv, mailing group, listserve, email discussion, mailing list
    5 Requires at least: 3.0.3
     4Tags: listserv, mailing group, listserve, email discussion, mailing list, email, group, mailing group plugin, email group plugin, mailing list plugin, group email plugin, group mailing plugin
     5Requires at least: 3.0
    66Tested up to: 6.7
    77Tested up to PHP: 8.2
    8 Stable tag: 2.0.9
     8Stable tag: 3.0.0
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    132132== Changelog ==
    133133
    134 =2.0.8 =
     134=3.0.0 =
     135*Fixed all problems in the plugin to comply to Wordpress coding standards.
     136
     137=2.0.9 =
    135138*Fixed a problem in email sending class.
    136139
Note: See TracChangeset for help on using the changeset viewer.