https://t.me/RX1948
Server : Apache/2.4.18 (Ubuntu)
System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64
User : oppastar ( 1041)
PHP Version : 7.0.33-0ubuntu0.16.04.15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Directory :  /var/www/laciasmara.com/public_html/shop/application/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/laciasmara.com/public_html/shop/application/models/Campaign_email_log_m.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Campaign_email_log_m extends MY_Model
{

    protected $table = 'campaign_email_logs';
    protected $fillable = array('campaign_id', 'subscriber_id', 'email', 'status', 'error_message', 'sent_at', 'delivered_at', 'opened_at', 'clicked_at', 'bounced_at', 'unsubscribed_at', 'tracking_id', 'user_agent', 'ip_address');

    /**
     * Log email sent
     */
    public function log_sent($campaign_id, $subscriber_id, $email, $status = 'sent', $tracking_id = null)
    {
        $data = array(
            'campaign_id' => $campaign_id,
            'subscriber_id' => $subscriber_id,
            'email' => $email,
            'status' => $status,
            'tracking_id' => $tracking_id ?: $this->generate_tracking_id(),
            'sent_at' => date('Y-m-d H:i:s')
        );

        return $this->insert($data);
    }

    /**
     * Generate unique tracking ID
     */
    private function generate_tracking_id()
    {
        return md5(uniqid(rand(), true));
    }

    /**
     * Track email open
     */
    public function track_open($tracking_id, $ip_address = null, $user_agent = null)
    {
        $data = array(
            'status' => 'opened',
            'opened_at' => date('Y-m-d H:i:s'),
            'ip_address' => $ip_address,
            'user_agent' => $user_agent
        );

        $this->db->where('tracking_id', $tracking_id);
        return $this->db->update($this->table, $data);
    }

    /**
     * Track email click
     */
    public function track_click($tracking_id, $url, $ip_address = null, $user_agent = null)
    {
        // Update email log
        $email_log = $this->_get_by(array('tracking_id' => $tracking_id));
        if ($email_log) {
            $this->db->where('tracking_id', $tracking_id);
            $this->db->update($this->table, array(
                'status' => 'clicked',
                'clicked_at' => date('Y-m-d H:i:s')
            ));

            // Insert click tracking record
            $click_data = array(
                'email_log_id' => $email_log['id'],
                'url' => $url,
                'ip_address' => $ip_address,
                'user_agent' => $user_agent
            );

            $this->db->insert('campaign_click_tracking', $click_data);
            return true;
        }

        return false;
    }
}

https://t.me/RX1948 - 2025