phpWord)) { return $this->phpWord; } else { throw new Exception("No PhpWord assigned."); } } /** * Set PhpWord object * * @param PhpWord * @return $this */ public function setPhpWord(PhpWord $phpWord = null) { $this->phpWord = $phpWord; return $this; } /** * Get writer part * * @param string $pPartName Writer part name * @return mixed */ public function getWriterPart($pPartName = '') { if ($pPartName != '' && isset($this->writerParts[strtolower($pPartName)])) { return $this->writerParts[strtolower($pPartName)]; } else { return null; } } /** * Get use disk caching status * * @return boolean */ public function getUseDiskCaching() { return $this->useDiskCaching; } /** * Set use disk caching status * * @param boolean $pValue * @param string $pDirectory * @return $this */ public function setUseDiskCaching($pValue = false, $pDirectory = null) { $this->useDiskCaching = $pValue; if (!is_null($pDirectory)) { if (is_dir($pDirectory)) { $this->diskCachingDirectory = $pDirectory; } else { throw new Exception("Directory does not exist: $pDirectory"); } } return $this; } /** * Get disk caching directory * * @return string */ public function getDiskCachingDirectory() { return $this->diskCachingDirectory; } /** * Get temporary file name * * If $pFilename is php://output or php://stdout, make it a temporary file * * @param string $pFilename * @return string */ protected function getTempFile($pFilename) { $this->originalFilename = $pFilename; if (strtolower($pFilename) == 'php://output' || strtolower($pFilename) == 'php://stdout') { $pFilename = @tempnam(sys_get_temp_dir(), 'phpword_'); if ($pFilename == '') { $pFilename = $this->originalFilename; } } $this->tempFilename = $pFilename; return $this->tempFilename; } /** * Cleanup temporary file * * If a temporary file was used, copy it to the correct file stream */ protected function cleanupTempFile() { if ($this->originalFilename != $this->tempFilename) { if (copy($this->tempFilename, $this->originalFilename) === false) { throw new Exception("Could not copy temporary zip file {$this->tempFilename} to {$this->originalFilename}."); } @unlink($this->tempFilename); } } }