AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/www/lrsys_apps/team/application/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/www/lrsys_apps/team/application/models/Email_model.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Email_model extends CI_Model {
	
	function __construct()
    {
        parent::__construct();
    }

    function notify_email($task = '' , $param2 = '' , $param3 = '' , $param4 = '' , $param5 = '')
    {
    	$email_sub		=	$this->db->get_where('email_template' , array('task' => $task))->row()->subject;
    	$email_msg		=	$this->db->get_where('email_template' , array('task' => $task))->row()->body;

    	// email notification for new project opening
    	if ($task == 'new_project_opening')
    	{
    		$client_id		=	$this->db->get_where('project' , array('project_code' => $param2))->row()->client_id;
    		$CLIENT_NAME	=	$this->db->get_where('client' , array('client_id' => $client_id))->row()->name;
    		$PROJECT_NAME	=	$this->db->get_where('project' , array('project_code' => $param2))->row()->title;
    		$PROJECT_LINK	=	base_url().'index.php?client/projectroom/wall/'.$param2;

    		$email_msg		=	str_replace('[CLIENT_NAME]' , $CLIENT_NAME , $email_msg);
    		$email_msg		=	str_replace('[PROJECT_NAME]' , $PROJECT_NAME , $email_msg);
    		$email_msg		=	str_replace('[PROJECT_LINK]' , $PROJECT_LINK , $email_msg);

    		$email_to		=	$this->db->get_where('client' , array('client_id' => $client_id))->row()->email;
            $this->do_email($email_msg , $email_sub , $email_to);
    	}
       

        // email notification for client account opening by admin
        if ($task == 'new_client_account_opening')
        {
            $client_id      =   $param2;
            $CLIENT_PASSWORD=   $param3;
            $CLIENT_NAME    =   $this->db->get_where('client' , array('client_id' => $client_id))->row()->name;
            $CLIENT_EMAIL   =  $this->db->get_where('client' , array('client_id' => $client_id))->row()->email;
            $SYSTEM_URL     =   base_url();

            $email_msg      =   str_replace('[CLIENT_NAME]' , $CLIENT_NAME , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_URL]' , $SYSTEM_URL , $email_msg);
            $email_msg      =   str_replace('[CLIENT_EMAIL]' , $CLIENT_EMAIL , $email_msg);
            $email_msg      =   str_replace('[CLIENT_PASSWORD]' , $CLIENT_PASSWORD , $email_msg);
            
            $email_to       =   $CLIENT_EMAIL;
            $this->do_email($email_msg , $email_sub , $email_to);
        }

        // email notification for admin account opening by admin
        if ($task == 'new_admin_account_creation')
        {
            $admin_id       =   $param2;
            $ADMIN_PASSWORD =   $param3;
            $ADMIN_NAME     =   $this->db->get_where('admin' , array('admin_id' => $admin_id))->row()->name;
            $ADMIN_EMAIL    =   $this->db->get_where('admin' , array('admin_id' => $admin_id))->row()->email;
            $SYSTEM_URL     =   base_url();

            $email_msg      =   str_replace('[ADMIN_NAME]' , $ADMIN_NAME , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_URL]' , $SYSTEM_URL , $email_msg);
            $email_msg      =   str_replace('[ADMIN_EMAIL]' , $ADMIN_EMAIL , $email_msg);
            $email_msg      =   str_replace('[ADMIN_PASSWORD]' , $ADMIN_PASSWORD , $email_msg);
            
            $email_to       =   $ADMIN_EMAIL;
            $this->do_email($email_msg , $email_sub , $email_to);
        }

        // email notification for confirmation of client account signup outside adminpanel 
        if ($task == 'new_client_account_confirm')
        {
            $client_id      =   $param2;
            $CLIENT_NAME    =   $this->db->get_where('client' , array('client_id' => $client_id))->row()->name;
            $CLIENT_EMAIL   =   $this->db->get_where('client' , array('client_id' => $client_id))->row()->email;
            $SYSTEM_URL     =   base_url();

            $email_msg      =   str_replace('[CLIENT_NAME]' , $CLIENT_NAME , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_URL]' , $SYSTEM_URL , $email_msg);
            
            $email_to       =   $CLIENT_EMAIL;
            $this->do_email($email_msg , $email_sub , $email_to);
        }

    	// email notification for staff account opening by admin
    	if ($task == 'new_staff_account_opening')
    	{
    		$staff_id		=	$param2;
    		$STAFF_PASSWORD	=	$param3;
    		$STAFF_NAME		=	$this->db->get_where('staff' , array('staff_id' => $staff_id))->row()->name;
    		$STAFF_EMAIL	=	$this->db->get_where('staff' , array('staff_id' => $staff_id))->row()->email;
    		$SYSTEM_URL		=	base_url();

    		$email_msg		=	str_replace('[STAFF_NAME]' , $STAFF_NAME , $email_msg);
    		$email_msg		=	str_replace('[SYSTEM_URL]' , $SYSTEM_URL , $email_msg);
    		$email_msg		=	str_replace('[STAFF_EMAIL]' , $STAFF_EMAIL , $email_msg);
    		$email_msg		=	str_replace('[STAFF_PASSWORD]' , $STAFF_PASSWORD , $email_msg);
    		
    		$email_to		=	$STAFF_EMAIL;
            $this->do_email($email_msg , $email_sub , $email_to);
    	}

        // email notification for payment completion
        if ($task == 'payment_completion_notification')
        {

            $project_code         =    $param2;
            $project_milestone_id =    $param3;
            $email_receiver_type  =    $param4;
            $AMOUNT               =    $this->db->get_where('project_milestone' , array('project_milestone_id' => $project_milestone_id))->row()->amount;
            $PROJECT_NAME         =    $this->db->get_where('project' , array('project_code' => $project_code))->row()->title;
            $SYSTEM_PAYMENT_URL   =    base_url().'index.php?client/projectroom/payment/' . $param2;

            $email_msg      =   str_replace('[PROJECT_NAME]' , $PROJECT_NAME , $email_msg);
            $email_msg      =   str_replace('[AMOUNT]' , $AMOUNT , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_PAYMENT_URL]' , $SYSTEM_PAYMENT_URL , $email_msg);

            if ($email_receiver_type != 'admin') {
                $client_id      =   $this->db->get_where('project' , array('project_code' => $project_code))->row()->client_id;
                $email_to       =   $this->db->get_where('client' , array('client_id' => $client_id))->row()->email;
                $this->do_email($email_msg , $email_sub , $email_to);
            }

            if ($email_receiver_type == 'admin') {
                $admins = $this->db->get('admin')->result_array();
                foreach($admins as $row) {
                    $email_to = $row['email'];
                    $this->do_email($email_msg , $email_sub , $email_to);
                }
            }
        }

        // email notification for new support ticket submission to admin
        if ($task == 'new_support_ticket_notify_admin')
        {

            $TICKET_CODE    =   $param2;
            $ADMIN_NAME     =   $this->db->get_where('admin' , array('admin_id' => 1))->row()->name;
            $SYSTEM_OPENED_TICKET_URL=    base_url().'index.php?admin/support_ticket/';

            $email_msg      =   str_replace('[TICKET_CODE]' , $TICKET_CODE , $email_msg);
            $email_msg      =   str_replace('[ADMIN_NAME]' , $ADMIN_NAME , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_OPENED_TICKET_URL]' , $SYSTEM_OPENED_TICKET_URL , $email_msg);

            $admins = $this->db->get('admin')->result_array();
            foreach($admins as $row) {
                $email_to = $row['email'];
                $this->do_email($email_msg , $email_sub , $email_to);
            }
        }

        // email notification for support ticket assign to staff
        if ($task == 'support_ticket_assign_staff')
        {

            $TICKET_CODE    =   $param2;
            $staff_id       =   $param3;
            $STAFF_NAME     =   $this->db->get_where('staff' , array('staff_id' => $staff_id))->row()->name;
            $SYSTEM_OPENED_TICKET_URL=    base_url().'index.php?staff/support_ticket/';

            $email_msg      =   str_replace('[TICKET_CODE]' , $TICKET_CODE , $email_msg);
            $email_msg      =   str_replace('[STAFF_NAME]' , $STAFF_NAME , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_OPENED_TICKET_URL]' , $SYSTEM_OPENED_TICKET_URL , $email_msg);

            $email_to       =   $this->db->get_where('staff' , array('staff_id' => $staff_id))->row()->email;
            $this->do_email($email_msg , $email_sub , $email_to);
        }

        // email notification for new message notification
        if ($task == 'new_message_notification')
        {

            $message_id     =   $param2;
            $message_thread_code    =   $this->db->get_where('message' , array('message_id' => $message_id))->row()->message_thread_code;
            $message_thread_detail  =   $this->db->get_where('message_thread' , array('message_thread_code' => $message_thread_code))->row();

            $sender         =   $this->db->get_where('message' , array('message_id' => $message_id))->row()->sender;

            if ($message_thread_detail->sender == $sender)
                $reciever   =   $message_thread_detail->reciever;
            else if ($message_thread_detail->reciever == $sender)
                $reciever   =   $message_thread_detail->sender;

            $sender         =   explode('-' , $sender);
            $sender_type    =   $sender[0];
            $sender_id      =   $sender[1];
            $SENDER_NAME    =   $this->db->get_where($sender_type , array($sender_type.'_id' => $sender_id))->row()->name;
            $MESSAGE        =   $this->db->get_where('message' , array('message_id' => $message_id))->row()->message;
            $SYSTEM_URL     =   base_url();

            $email_msg      =   str_replace('[SENDER_NAME]' , $SENDER_NAME , $email_msg);
            $email_msg      =   str_replace('[MESSAGE]' , $MESSAGE , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_URL]' , $SYSTEM_URL , $email_msg);

            $reciever       =   explode('-' , $reciever);
            $reciever_type  =   $reciever[0];
            $reciever_id    =   $reciever[1];
            $email_to       =   $this->db->get_where($reciever_type , array($reciever_type.'_id' => $reciever_id))->row()->email;
            $this->do_email($email_msg , $email_sub , $email_to);
        }

        // email notification for rest password
        if ($task == 'password_reset_confirmation')
        {

            $account_type   =   $param2;
            $email          =   $param3;
            $NEW_PASSWORD   =   $param4;
            $NAME           =   $this->db->get_where($account_type , array('email' => $email))->row()->name;
            $SYSTEM_URL     =    base_url();

            $email_msg      =   str_replace('[NAME]' , $NAME , $email_msg);
            $email_msg      =   str_replace('[NEW_PASSWORD]' , $NEW_PASSWORD , $email_msg);
            $email_msg      =   str_replace('[SYSTEM_URL]' , $SYSTEM_URL , $email_msg);

            $email_to       =   $email;
            $this->do_email($email_msg , $email_sub , $email_to);
        }

}

    
	
	/***custom email sender****/
	function do_email($msg=NULL, $sub=NULL, $to=NULL, $from=NULL, $attachment_url=NULL)
	{
		
		$config = array();
        $config['useragent']		= "CodeIgniter";
        $config['mailpath']		= "/usr/bin/sendmail"; // or "/usr/sbin/sendmail"
        $config['protocol']		= "smtp";
        $config['smtp_host']		= "localhost";
        $config['smtp_port']		= "25";
        $config['mailtype']		= 'html';
        $config['charset']		= 'utf-8';
        $config['newline']		= "\r\n";
        $config['wordwrap']		= TRUE;

        $this->load->library('email');

        $this->email->initialize($config);

		$system_name	=	$this->db->get_where('settings' , array('type' => 'system_name'))->row()->description;
		if ($from == NULL)
			$from		=	$this->db->get_where('settings' , array('type' => 'system_email'))->row()->description;
		
		// attachment
		if ($attachment_url != NULL)
			$this->email->attach( $attachment_url );
			
		$this->email->from($from, $system_name);
		$this->email->from($from, $system_name);
		$this->email->to($to);
		$this->email->subject($sub);
		
		$this->email->message($msg);
		
		$this->email->send();
		
		//echo $this->email->print_debugger();
	}
}


Anon7 - 2022
AnonSec Team