Changeset 304 for minimanager/mail.php


Ignore:
Timestamp:
Mar 13, 2008, 7:39:11 PM (17 years ago)
Author:
george
Message:

Aktualizace na minimanager 0.1.6d.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • minimanager/mail.php

    r142 r304  
    88 * License: GNU General Public License v2(GPL)
    99 */
    10  
     10
    1111require_once("header.php");
    1212valid_login(1);
     
    3434                                                        else $output .= "
    3535                                                                <option value=\"ingame_mail\">{$lang_mail['ingame_mail']}</option>
    36                                                                 <option value=\"email\">{$lang_mail['email']}</option>"; 
     36                                                                <option value=\"email\">{$lang_mail['email']}</option>";
    3737                                $output .= "</select></td><td>";
    3838                                                makebutton($lang_mail['send'], "javascript:do_submit()",80);
     
    6969                                        <tr><td colspan=\"4\"><hr /></td></tr>
    7070                                        <tr>
    71                                                 <td colspan=\"2\">{$lang_mail['attachments']}:</td> 
     71                                                <td colspan=\"2\">{$lang_mail['attachments']}:</td>
    7272                                                <td colspan=\"2\">{$lang_mail['money']} : <input type=\"text\" name=\"money\" value=\"0\" size=\"10\" maxlength=\"10\" />
    7373                                                {$lang_mail['item']} : <input type=\"text\" name=\"att_item\" value=\"0\" size=\"10\" maxlength=\"10\" />
     
    8989function send_mail(){
    9090 global $lang_global, $output, $realm_db, $characters_db, $realm_id, $user_name, $from_mail, $mailer_type, $smtp_cfg;
    91                
     91
    9292 if ( empty($_POST['body']) || empty($_POST['subject']) || empty($_POST['type']) || empty($_POST['group_sign']) || empty($_POST['group_send']) ) {
    9393   redirect("mail.php?error=1");
    9494 }
    95  
     95
    9696 $sql = new SQL;
    9797 $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    98  
     98
    9999 $body = $sql->quote_smart($_POST['body']);
    100100 $subject = $sql->quote_smart($_POST['subject']);
    101                
     101
    102102 if(isset($_POST['to'])&&($_POST['to'] != '')) $to = $sql->quote_smart($_POST['to']);
    103103        else {
     
    116116 $att_item = $sql->quote_smart($_POST['att_item']);
    117117 $att_stack = $sql->quote_smart($_POST['att_stack']);
    118  
     118
    119119switch ($type) {
    120120case "email":
     
    142142                $body = preg_replace( "/([^\/=\"\]])((http|ftp)+(s)?:\/\/[^<>\s]+)/i", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>",  $body);
    143143                $body = preg_replace('/([^\/=\"\]])(www\.)(\S+)/', '\\1<a href="http://\\2\\3" target="_blank">\\2\\3</a>', $body);
    144  
     144
    145145                $mail->Body = $body;
    146146                $mail->WordWrap = 50;
    147                
     147
    148148 if($to){ //single Recipient
    149149        $mail->AddAddress($to);
    150150        if(!$mail->Send()) {
    151                 $mail->ClearAddresses(); 
     151                $mail->ClearAddresses();
    152152                redirect("mail.php?error=3&mail_err=".$mail->ErrorInfo);
    153153        } else {
    154                 $mail->ClearAddresses(); 
     154                $mail->ClearAddresses();
    155155                redirect("mail.php?error=2");
    156156                }
    157  
     157
    158158 } elseif (isset($group_value)){ //group send
    159159                        $sql->connect($realm_db['addr'], $realm_db['user'], $realm_db['pass'], $realm_db['name']);
    160                        
     160
    161161                        $email_array = array();
    162162                        switch ($group_send) {
     
    167167                                        }
    168168                        break;
    169  
     169
    170170                        case "locked":
    171171                                $result = $sql->query("SELECT email FROM account WHERE locked $group_sign '$group_value'");
     
    179179                                while ($banned = $sql->fetch_row($que)){
    180180                                        $result = $sql->query("SELECT email FROM account WHERE id = '$banned[0]'");
    181                                         if($sql->result($result, 0, 'email')) array_push($email_array, $sql->result($result, 0, 'email'));                                     
    182                                         }
    183                         break;
    184        
     181                                        if($sql->result($result, 0, 'email')) array_push($email_array, $sql->result($result, 0, 'email'));
     182                                        }
     183                        break;
     184
    185185                        default:
    186186                        $sql->close();
     
    192192                                $mail->AddAddress($mail_addr);
    193193                                if(!$mail->Send()) {
    194                                         $mail->ClearAddresses(); 
     194                                        $mail->ClearAddresses();
    195195                                        redirect("mail.php?error=3&mail_err=".$mail->ErrorInfo);
    196196                                } else {
     
    207207case "ingame_mail":
    208208 $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
    209  
     209
    210210 require_once("scripts/gen_lib.php");
    211  
     211
    212212 if($to){ //single Recipient
    213213        $result = $sql->query("SELECT guid FROM `character` WHERE name ='$to'");
    214 
    215214        if ($sql->num_rows($result) == 1) {
    216215                $receiver = $sql->result($result, 0, 'guid');
    217216
    218                 send_ingame_mail($receiver, 0, $subject, $body, $att_gold, $att_item, $att_stack);
    219                
     217                $result = $sql->query("SELECT guid FROM `character` WHERE name ='$user_name'");
     218
     219                $sender = 0;
     220                //if ($sql->num_rows($result) == 1) {
     221                //      $sender = $sql->result($result, 0, 'guid');
     222                //};
     223                // we need the id of a character, account username is provided atm
     224
     225                send_ingame_mail($receiver, $sender, $subject, $body, $att_gold, $att_item, $att_stack);
     226
    220227        } else {
    221228                        $sql->close();
     
    237244                                        }
    238245                        break;
    239  
     246
    240247                        case "online":
    241248                                $sql->connect($characters_db[$realm_id]['addr'], $characters_db[$realm_id]['user'], $characters_db[$realm_id]['pass'], $characters_db[$realm_id]['name']);
     
    249256                                while($user = $sql->fetch_row($result)) array_push($char_array, $user[0]);
    250257                        break;
    251                          
     258
     259                        $sender = 0;
     260                                        //if ($sql->num_rows($result) == 1) {
     261                                        //      $sender = $sql->result($result, 0, 'guid');
     262                                        //};
     263                                        // we need the id of a character, account username is provided atm
     264
    252265                        default:
    253266                        $sql->close();
    254267                        redirect("mail.php?error=5");
    255268                        }
    256  
     269
    257270                        foreach ($char_array as $receiver){
    258                        
    259                                 send_ingame_mail($receiver, 0, $subject, $body, $att_gold, $att_item, $att_stack);
     271
     272                                send_ingame_mail($receiver, $sender, $subject, $body, $att_gold, $att_item, $att_stack);
    260273                        }
    261274                        $sql->close();
     
    268281
    269282}
    270        
     283
    271284
    272285//########################################################################################################################
Note: See TracChangeset for help on using the changeset viewer.