本文整理汇总了PHP中PublicFileManager::writeJournalFile方法的典型用法代码示例。如果您正苦于以下问题:PHP PublicFileManager::writeJournalFile方法的具体用法?PHP PublicFileManager::writeJournalFile怎么用?PHP PublicFileManager::writeJournalFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PublicFileManager
的用法示例。
在下文中一共展示了PublicFileManager::writeJournalFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handleArticleCoverNode
function handleArticleCoverNode(&$journal, &$coverNode, &$article, &$errors, $isCommandLine)
{
$errors = array();
$hasErrors = false;
$journalSupportedLocales = array_keys($journal->getSupportedLocaleNames());
// => journal locales must be set up before
$journalPrimaryLocale = $journal->getPrimaryLocale();
$locale = $coverNode->getAttribute('locale');
if ($locale == '') {
$locale = $journalPrimaryLocale;
} elseif (!in_array($locale, $journalSupportedLocales)) {
$errors[] = array('plugins.importexport.native.import.error.coverLocaleUnsupported', array('issueTitle' => $issue->getIssueIdentification(), 'locale' => $locale));
return false;
}
$article->setShowCoverPage(1, $locale);
if ($node = $coverNode->getChildByName('altText')) {
$article->setCoverPageAltText($node->getValue(), $locale);
}
if ($node = $coverNode->getChildByName('image')) {
import('classes.file.PublicFileManager');
$publicFileManager = new PublicFileManager();
$newName = 'cover_article_' . $article->getId() . "_{$locale}" . '.';
if ($href = $node->getChildByName('href')) {
$url = $href->getAttribute('src');
if ($isCommandLine || NativeImportDom::isAllowedMethod($url)) {
if ($isCommandLine && NativeImportDom::isRelativePath($url)) {
// The command-line tool does a chdir; we need to prepend the original pathname to relative paths so we're not looking in the wrong place.
$url = PWD . '/' . $url;
}
$originalName = basename($url);
$newName .= $publicFileManager->getExtension($originalName);
if (!$publicFileManager->copyJournalFile($journal->getId(), $url, $newName)) {
$errors[] = array('plugins.importexport.native.import.error.couldNotCopy', array('url' => $url));
$hasErrors = true;
}
$article->setFileName($newName, $locale);
$article->setOriginalFileName($publicFileManager->truncateFileName($originalName, 127), $locale);
}
}
if ($embed = $node->getChildByName('embed')) {
if (($type = $embed->getAttribute('encoding')) !== 'base64') {
$errors[] = array('plugins.importexport.native.import.error.unknownEncoding', array('type' => $type));
$hasErrors = true;
} else {
$originalName = $embed->getAttribute('filename');
$newName .= $publicFileManager->getExtension($originalName);
$article->setFileName($newName, $locale);
$article->setOriginalFileName($publicFileManager->truncateFileName($originalName, 127), $locale);
if ($publicFileManager->writeJournalFile($journal->getId(), $newName, base64_decode($embed->getValue())) === false) {
$errors[] = array('plugins.importexport.native.import.error.couldNotWriteFile', array('originalName' => $originalName));
$hasErrors = true;
}
}
}
// Store the image dimensions.
list($width, $height) = getimagesize($publicFileManager->getJournalFilesPath($journal->getId()) . '/' . $newName);
$article->setWidth($width, $locale);
$article->setHeight($height, $locale);
}
if ($hasErrors) {
return false;
}
return true;
}
示例2: execute
/**
* Save settings.
*/
function execute()
{
$plugin =& $this->plugin;
$journalId = $this->journalId;
$css = '';
// Header and footer colours
$customThemeHeaderColour = $this->getData('customThemeHeaderColour');
$plugin->updateSetting($journalId, 'customThemeHeaderColour', $customThemeHeaderColour, 'string');
$css .= "#header {background-color: {$customThemeHeaderColour};}\n";
$css .= "#footer {background-color: {$customThemeHeaderColour};}\n";
$css .= "table.listing tr.fastTracked {background-color: {$customThemeHeaderColour};}\n";
// Link colours
$customThemeLinkColour = $this->getData('customThemeLinkColour');
$plugin->updateSetting($journalId, 'customThemeLinkColour', $customThemeLinkColour, 'string');
$css .= "a {color: {$customThemeLinkColour};}\n";
$css .= "a:link {color: {$customThemeLinkColour};}\n";
$css .= "a:active {color: {$customThemeLinkColour};}\n";
$css .= "a:visited {color: {$customThemeLinkColour};}\n";
$css .= "a:hover {color: {$customThemeLinkColour};}\n";
$css .= "input.defaultButton {color: {$customThemeLinkColour};}\n";
// Background colours
$customThemeBackgroundColour = $this->getData('customThemeBackgroundColour');
$plugin->updateSetting($journalId, 'customThemeBackgroundColour', $customThemeBackgroundColour, 'string');
$css .= "body {background-color: {$customThemeBackgroundColour};}\n";
$css .= "input.defaultButton {background-color: {$customThemeBackgroundColour};}\n";
// Foreground colours
$customThemeForegroundColour = $this->getData('customThemeForegroundColour');
$plugin->updateSetting($journalId, 'customThemeForegroundColour', $customThemeForegroundColour, 'string');
$css .= "body {color: {$customThemeForegroundColour};}\n";
$css .= "input.defaultButton {color: {$customThemeForegroundColour};}\n";
import('classes.file.PublicFileManager');
$fileManager = new PublicFileManager();
$customThemePerJournal = $this->getData('customThemePerJournal');
if (!$customThemePerJournal && !$this->_canUsePluginPath()) {
$customThemePerJournal = true;
}
$plugin->updateSetting($journalId, 'customThemePerJournal', $customThemePerJournal, 'boolean');
if ($customThemePerJournal) {
$fileManager->writeJournalFile($journalId, $this->plugin->getStylesheetFilename(), $css);
} else {
$fileManager->writeFile(dirname(__FILE__) . '/' . $this->plugin->getStylesheetFilename(), $css);
}
}