/** * Schreibt das Objekt als eine Word2007 Datei * * setzt die Extension für $file korrekt */ public function write(File $file) { if (!$this->isRoot()) { throw new \Psc\Exception('Kein write() für nicht-Root-Elemente!'); } try { $objWriter = PHPWord_IOFactory::createWriter($this->word, 'Word2007'); $file->setExtension('docx'); $objWriter->save((string) $file); } catch (\Exception $e) { throw $e; //throw new \Psc\Exception(sprintf("Fehler '%s' beim Schreiben der Datei '%s'.", $e->getMessage(), $file), 0, $e); } return $file; }
/** * @return Webforge\Common\System\File */ public function getTestFile() { /* zuerst setzen wir den ns in einen relativen pfad um */ $file = Code::mapClassToFile($this->class->getName(), NULL); /* entfernt das erste und zweite verzeichnis (das erste ist der .)*/ $file->getDirectory()->slice(2); /* wir fügen den rest des relativen Verzeichnisses an das tests-Verzeichnis an */ $dir = clone $this->dir; $dir->append($file->getDirectory()); $file = new File($dir, $this->class->getClassName() . 'Test'); $file->setExtension('.php'); return $file; }
public function getTargetFile($episode) { $lang = current($episode->getLanguages()); /* Serien/<TvShow.title>/Season x|Staffel x/<packagename>.mkv|avi */ $targetDir = $this->targetDir->sub($episode->getTvShow()->getTitle() . '/' . sprintf($lang == 'de' ? 'Staffel %d' : 'Season %d', $episode->getSeason()->getNum()) . '/'); $targetFile = new File($targetDir, str_replace(' ', '.', $episode->getPackageName() . '.' . $episode->getRelease())); if ($episode->getExtension() !== NULL) { $targetFile->setExtension($episode->getExtension()); } else { /* suchen */ foreach (array('mkv', 'avi') as $format) { if ($targetFile->setExtension($format)->exists()) { break; } } } return $targetFile; }