<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Event_exporter extends CI_Controller {

    function __construct() {

        parent::__construct();
        $this->load->library("Pdf");
        $this->load->model('event_pdfs_model');
        if (!$this->session->userdata('logged_in')) {
            $this->session->set_flashdata('noaccess', 'Sorry, you are not logged in');
            redirect('auth/login');
        }
    }

    public function create_pdf_events() {

        //arguments can be modified in file tcpdf_config.php inside libraries/tcpdf/config
        // create new PDF document
        $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

        // set document information
        $pdf->SetCreator(PDF_CREATOR);
        $pdf->SetAuthor(PDF_AUTHOR);
        $pdf->SetTitle(PDF_HEADER_TITLE);
        $pdf->SetSubject('Events');
        $pdf->SetKeywords('events, pdf, weekly, listings');


        // set default header data
        $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);

        // set header and footer fonts size
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

        // set default monospaced font
        $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

        // set margins
        $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
        $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
        $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

        // set auto page breaks
        $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

        // set image scale factor
        $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

        // set some language-dependent strings (optional)
        if (@file_exists(dirname(__FILE__) . '/lang/eng.php')) {
            require_once(dirname(__FILE__) . '/lang/eng.php');
            $pdf->setLanguageArray($l);
        }

        // ---------------------------------------------------------
        // set default font subsetting mode
        $pdf->setFontSubsetting(true);

        // Set font
        // dejavusans is a UTF-8 Unicode font, if you only need to
        // print standard ASCII chars, you can use core fonts like
        // helvetica or times to reduce file size.
        $pdf->SetFont('Helvetica', '', 14, '', true);

        // Add a page
        // This method has several options, check the source code documentation for more information.
        $pdf->AddPage();

        // set text shadow effect
        $pdf->setTextShadow(array('enabled' => true, 'depth_w' => 0.2, 'depth_h' => 0.2, 'color' => array(196, 196, 196), 'opacity' => 1, 'blend_mode' => 'Normal'));

        // Set some content to print
        $this->data['listings_exp'] = $this->event_pdfs_model->event_getall();

        $html = '';
        $html .= "<style type=text/css>";
        $html .= "th{color: #fff; font-weight: bold; background-color: #222; border-collapse:collapse; font-size:10px}";
        $html .= "td{background-color: #ffffff; color: #000000; font-size:10px}";
        $html .= "</style>";
        $html .= "<table width='100%'>";
        $html .= "<tr><th>Start Date</th><th>End Date</th><th>Title</th><th>Country</th><th>State</th><th>City</th><th>Address</th></tr>";

        if ($this->data['listings_exp'] != NULL) {

            foreach ($this->data['listings_exp'] as $row) {
                
                $startDate = $row->startDate;
                $endDate = $row->endDate;
                $title = $row->title;
                $country = $row->country;
                $state = $row->state;
                $city = $row->city;
                $address = $row->address;

                $html .= "<tr><td class='startDate'>" . $startDate . "</td><td class='endDate'>" . $endDate . "</td><td class='title'>" . $title . "</td>
                    <td class='country'>" . $country . "</td><td class='state'>" . $state . "</td>
                        <td class='city'>" . $city . "</td><td class='address'>" . $address . "</td></tr>";
            }
        }

        $html .= "</table>";

        //    // Print text using writeHTMLCell()
        $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);

        // reset pointer to the last page
        $pdf->lastPage();

        // ---------------------------------------------------------    
        // Close and output PDF document
        // This method has several options, check the source code documentation for more information.
        $pdf->Output('Events.pdf', 'I');

        //============================================================+
        // END OF FILE
        //============================================================+        
    }
public function create_mypdf_events() {
    

        //arguments can be modified in file tcpdf_config.php inside libraries/tcpdf/config
        // create new PDF document
        $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

        // set document information
        $pdf->SetCreator(PDF_CREATOR);
        $pdf->SetAuthor(PDF_AUTHOR);
        $pdf->SetTitle(PDF_HEADER_TITLE);
        $pdf->SetSubject('Events');
        $pdf->SetKeywords('events, pdf, weekly, listings');


        // set default header data
        $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);

        // set header and footer fonts size
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

        // set default monospaced font
        $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

        // set margins
        $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
        $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
        $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

        // set auto page breaks
        $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

        // set image scale factor
        $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

        // set some language-dependent strings (optional)
        if (@file_exists(dirname(__FILE__) . '/lang/eng.php')) {
            require_once(dirname(__FILE__) . '/lang/eng.php');
            $pdf->setLanguageArray($l);
        }

        // ---------------------------------------------------------
        // set default font subsetting mode
        $pdf->setFontSubsetting(true);

        // Set font
        // dejavusans is a UTF-8 Unicode font, if you only need to
        // print standard ASCII chars, you can use core fonts like
        // helvetica or times to reduce file size.
        $pdf->SetFont('Helvetica', '', 14, '', true);

        // Add a page
        // This method has several options, check the source code documentation for more information.
        $pdf->AddPage();

        // set text shadow effect
        $pdf->setTextShadow(array('enabled' => true, 'depth_w' => 0.2, 'depth_h' => 0.2, 'color' => array(196, 196, 196), 'opacity' => 1, 'blend_mode' => 'Normal'));
$this->id = $this->ion_auth->get_user_id();
        // Set some content to print
        $this->data['listings_exp'] = $this->event_pdfs_model->get_listingsID($this->id);

        $html = '';
        $html .= "<style type=text/css>";
        $html .= "th{color: #fff; font-weight: bold; background-color: #222; border-collapse:collapse; font-size:10px}";
        $html .= "td{background-color: #ffffff; color: #000000; font-size:10px}";
        $html .= "</style>";
        $html .= "<table width='100%'>";
        $html .= "<tr><th>Start Date</th><th>End Date</th><th>Title</th><th>Country</th><th>State</th><th>City</th><th>Address</th></tr>";

        if ($this->data['listings_exp'] != NULL) {

            foreach ($this->data['listings_exp'] as $row) {
                
                $startDate = $row->startDate;
                $endDate = $row->endDate;
                $title = $row->title;
                $country = $row->country;
                $state = $row->state;
                $city = $row->city;
                $address = $row->address;

                $html .= "<tr><td class='startDate'>" . $startDate . "</td><td class='endDate'>" . $endDate . "</td><td class='title'>" . $title . "</td>
                    <td class='country'>" . $country . "</td><td class='state'>" . $state . "</td>
                        <td class='city'>" . $city . "</td><td class='address'>" . $address . "</td></tr>";
            }
        }

        $html .= "</table>";

        //    // Print text using writeHTMLCell()
        $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);

        // reset pointer to the last page
        $pdf->lastPage();

        // ---------------------------------------------------------    
        // Close and output PDF document
        // This method has several options, check the source code documentation for more information.
        $pdf->Output('Events.pdf', 'I');

        //============================================================+
        // END OF FILE
        //============================================================+        
    }
}
