Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

submit.php returning blank page #3

Open
@swbuehler

Description

I modified the code to iterate through all the PDF files in the same directory to OneNote, but now submit.php is not working (it's giving me a blank page, no errors).

Ideas? The relevant code blocks are the CreatePageWithFile($submittedFile) and the finish() function.

    function createPageWithFile($submittedFile)
    {

        $ch = $this->initCurl();

        //ISO 8601 standard time stamp
        $date = date('c');

        //Read the file into memory
        //Note that reading entire large files into memory could create problems if 
        //  PHP doesn't have enough memory to work with
        $nameofFile = basename($submittedFile);
        $fullFileName = basename($submittedFile) . ".pdf";
        $fileContents = file_get_contents($submittedFile);

        //Includes the  Presentation part and embedded file data part
        //Each has its own Content-Disposition and Content-Type headers
        //The request must end with a blank line to be a valid Multipart request
        $postdata = <<<POSTDATA
--{$this->boundary}
Content-Disposition: form-data; name="Presentation"
Content-Type: text/html

<!DOCTYPE html>
<html>
  <head>
    <title>nameofFile</title>
    <meta name="created" value="$date"/>
  </head>
  <body>
    <object 
        data-attachment="$fullFileName" 
        data="name:$fullFileName" 
        type="application/pdf" />
    <img data-render-src="name:$fullFileName"/>
  </body>
</html>
--{$this->boundary}
Content-Disposition: form-data; name="$fullFileName"
Content-Type: application/pdf

$fileContents
--{$this->boundary}--

POSTDATA;

        curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata);
        $response = curl_exec($ch);
        $this->finish($ch,$response,$submittedFile);
    }

[ . . . ]
    function finish($ch,$response,$submittedFile)
    {

        $info = curl_getinfo($ch);
        curl_close($ch);

        if ($info['http_code'] == 201) 
        {
            unlink($submittedFile);
            echo '<h2>Page created!</h2>';
            $response_without_header = substr($response,$info['header_size']);
            $decoded = json_decode($response_without_header);
            echo 'Open page in <a href="'.
                $decoded->links->oneNoteClientUrl->href.
                    '">OneNote</a> or <a href="'.
                $decoded->links->oneNoteWebUrl->href.
                    '">OneNote Online</a>';
        }
        elseif ($info['http_code'] == 401)
        {
            echo '<h2>Authorization failed. Try signing out and signing in again.</h2>';
        }
        else 
        {
            echo '<h2>Something went wrong...</h2>';
        }
        echo '</b></h2>';

        echo '<h3>Response</h3>';
        echo '<pre>';
        echo htmlspecialchars($response);
        echo '</pre>';
    }
}

[ . . . ]
            case "file":
                foreach (glob("*.[pP][dD][fF]") as $submittedFile {
                    $OneNoteRequest->createPageWithFile($submittedFile); 
                }
                break;

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions