public function createTicketFile()
    {
        // Find or make a folder
        $folder = $this->fileFolder();
        $relativeFilePath = "/{$folder->Filename}{$this->TicketCode}.pdf";
        $absoluteFilePath = Director::baseFolder() . $relativeFilePath;

        if (!$this->TicketQRCode()->exists()) {
            $this->createQRCode();
        }

        if (!$file = File::get()->find('Filename', $relativeFilePath)) {
            $file = File::create();
            $file->ParentID = $folder->ID;
            $file->OwnerID = (Member::currentUser()) ? Member::currentUser()->ID : 0;
            $file->Title = $this->TicketCode;
            $file->setFilename($relativeFilePath);
            $file->write();
        }

        // Set the template and parse the data
        $template = new SSViewer('PrintableTicket');
        $html = $template->process($this->data());// getViewableData());

        // Create a DomPDF instance
        $domPDF = new Dompdf();
        $domPDF->loadHtml($html);
        $domPDF->setPaper('A4');
        $domPDF->getOptions()->setDpi(150);
        $domPDF->render();

        // Save the pdf stream as a file
        file_put_contents($absoluteFilePath, $domPDF->output());

        // Attach the ticket file to the Attendee
        $this->TicketFileID = $file->ID;
        $this->write();

        return $file;
    }
public function createTicketFile()
    {
        // Find or make a folder
        $folder = $this->fileFolder();
        $relativeFilePath = "/{$folder->Filename}{$this->TicketCode}.pdf";
        $absoluteFilePath = Director::baseFolder() . $relativeFilePath;

        if (!$this->TicketQRCode()->exists()) {
            $this->createQRCode();
        }

        if (!$file = File::get()->find('Filename', $relativeFilePath)) {
            $file = File::create();
            $file->ParentID = $folder->ID;
            $file->OwnerID = (Member::currentUser()) ? Member::currentUser()->ID : 0;
            $file->Title = $this->TicketCode;
            $file->setFilename($relativeFilePath);
            $file->write();
        }

        // Set the template and parse the data
        $template = new SSViewer('PrintableTicket');
        $html = $template->process($this->data());// getViewableData());

        // Create a DomPDF instance
        $domPDF = new Dompdf();
        $domPDF->loadHtml($html);
        $domPDF->setPaper('A4');
        $domPDF->getOptions()->setDpi(150);
        $domPDF->render();

        // Save the pdf stream as a file
        file_put_contents($absoluteFilePath, $domPDF->output());

        // Attach the ticket file to the Attendee
        $this->TicketFileID = $file->ID;
        $this->write();

        return $file;
    }
public function createTicketFile ( ) { // Find or make a folder $ folder = $ this -> fileFolder ( ) ; $ relativeFilePath = "/{$folder->Filename}{$this->TicketCode}.pdf" ; $ absoluteFilePath = Director :: baseFolder ( ) . $ relativeFilePath ; if ( ! $ this -> TicketQRCode ( ) -> exists ( ) ) { $ this -> createQRCode ( ) ; } if ( ! $ file = File :: get ( ) -> find ( 'Filename' , $ relativeFilePath ) ) { $ file = File :: create ( ) ; $ file -> ParentID = $ folder -> ID ; $ file -> OwnerID = ( Member :: currentUser ( ) ) ? Member :: currentUser ( ) -> ID : 0 ; $ file -> Title = $ this -> TicketCode ; $ file -> setFilename ( $ relativeFilePath ) ; $ file -> write ( ) ; } // Set the template and parse the data $ template = new SSViewer ( 'PrintableTicket' ) ; $ html = $ template -> process ( $ this -> data ( ) ) ; // getViewableData()); // Create a DomPDF instance $ domPDF = new Dompdf ( ) ; $ domPDF -> loadHtml ( $ html ) ; $ domPDF -> setPaper ( 'A4' ) ; $ domPDF -> getOptions ( ) -> setDpi ( 150 ) ; $ domPDF -> render ( ) ; // Save the pdf stream as a file file_put_contents ( $ absoluteFilePath , $ domPDF -> output ( ) ) ; // Attach the ticket file to the Attendee $ this -> TicketFileID = $ file -> ID ; $ this -> write ( ) ; return $ file ; }
Creates a printable ticket for the attendee

@return File
Creates a printable ticket for the attendee