本文整理汇总了PHP中Horde_Util::createTempDir方法的典型用法代码示例。如果您正苦于以下问题:PHP Horde_Util::createTempDir方法的具体用法?PHP Horde_Util::createTempDir怎么用?PHP Horde_Util::createTempDir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Horde_Util
的用法示例。
在下文中一共展示了Horde_Util::createTempDir方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUpBeforeClass
public static function setUpBeforeClass()
{
parent::setUpBeforeClass();
$storage1 = new Horde_SessionHandler_Storage_File(array('path' => self::$dir));
$storage2 = new Horde_SessionHandler_Storage_File(array('path' => Horde_Util::createTempDir()));
self::$handler = new Horde_SessionHandler_Storage_Stack(array('stack' => array($storage1, $storage2)));
}
示例2: __construct
/**
* Constructor.
*
* @param array $params Configuration parameters:
* <pre>
* email_charset - (string) The default email charset.
* DEFAULT: NONE
* temp - (string) [REQUIRED] Location of temporary directory.
* </pre>
*
* @throws InvalidArgumentException
*/
public function __construct(array $params = array())
{
if (empty($params['temp'])) {
throw new InvalidArgumentException('A temporary directory must be provided.');
}
$this->_tempdir = Horde_Util::createTempDir(true, $params['temp']);
$this->_params = array_merge(array('email_charset' => null), $params);
}
示例3: setUp
public function setUp()
{
if (!self::$conf) {
$this->markTestSkipped('No test configuration');
}
$conf = self::$conf;
$conf['paths']['cvsps_home'] = Horde_Util::createTempDir(true, $conf['paths']['cvsps_home']);
$conf['sourceroot'] = __DIR__ . '/repos/cvs';
$this->vcs = Horde_Vcs::factory('Cvs', $conf);
}
示例4: testXmlCreation
public function testXmlCreation()
{
$tmp_dir = Horde_Util::createTempDir();
file_put_contents($tmp_dir . '/.gitignore', '');
mkdir($tmp_dir . '/horde');
mkdir($tmp_dir . '/framework');
mkdir($tmp_dir . '/framework/test');
file_put_contents($tmp_dir . '/framework/test/test.php', '<?php');
$_SERVER['argv'] = array('horde-components', '--updatexml', $tmp_dir . '/framework/test');
$this->_callStrictComponents();
$this->assertTrue(file_exists($tmp_dir . '/framework/test/package.xml'));
}
示例5: testError
public function testError()
{
$this->setPearGlobals();
$cwd = getcwd();
$tmp_dir = Horde_Util::createTempDir();
$_SERVER['argv'] = array('horde-components', '--verbose', '--snapshot', '--destination=' . $tmp_dir, __DIR__ . '/../../../fixture/simple');
try {
$this->_callUnstrictComponents();
} catch (Components_Exception_Pear $e) {
ob_end_clean();
$this->assertContains('PEAR_Packagefile_v2::toTgz: invalid package.xml', (string) $e);
$this->assertContains('Old.php" in package.xml does not exist', $e);
}
chdir($cwd);
}
示例6: _render
/**
* Return the full rendered version of the Horde_Mime_Part object.
*
* @return array See parent::render().
* @throws Horde_Exception
*/
protected function _render()
{
$has_xsl = Horde_Util::extensionExists('xsl');
if ($has_xsl) {
$tmpdir = Horde_Util::createTempDir(true) . '/';
}
$fnames = array('content.xml', 'styles.xml', 'meta.xml');
$tags = array('text:p' => 'p', 'table:table' => 'table border="0" cellspacing="1" cellpadding="0" ', 'table:table-row' => 'tr bgcolor="#cccccc"', 'table:table-cell' => 'td', 'table:number-columns-spanned=' => 'colspan=');
if (!$this->getConfigParam('zip')) {
$this->setConfigParam('zip', Horde_Compress::factory('Zip'));
}
$list = $this->getConfigParam('zip')->decompress($this->_mimepart->getContents(), array('action' => Horde_Compress_Zip::ZIP_LIST));
foreach ($list as $key => $file) {
if (in_array($file['name'], $fnames)) {
$content = $this->getConfigParam('zip')->decompress($this->_mimepart->getContents(), array('action' => Horde_Compress_Zip::ZIP_DATA, 'info' => $list, 'key' => $key));
if ($has_xsl) {
file_put_contents($tmpdir . $file['name'], $content);
} elseif ($file['name'] == 'content.xml') {
return array($this->_mimepart->getMimeId() => array('data' => str_replace(array_keys($tags), array_values($tags), $content), 'status' => array(), 'type' => 'text/html; charset=UTF-8'));
}
}
}
if (!$has_xsl) {
return array();
}
$xslt = new XSLTProcessor();
$xsl = new DOMDocument();
$xsl->load(realpath(__DIR__ . '/Ooo/export/xhtml/opendoc2xhtml.xsl'));
$xslt->importStylesheet($xsl);
$xslt->setParameter('http://www.w3.org/1999/XSL/Transform', array('metaFileURL' => 'file://' . $tmpdir . 'meta.xml', 'stylesFileURL' => 'file://' . $tmpdir . 'styles.xml', 'java' => false));
$xml = new DOMDocument();
$xml->load(realpath($tmpdir . 'content.xml'));
$result = $xslt->transformToXml($xml);
if (!$result) {
$result = libxml_get_last_error()->message;
}
return array($this->_mimepart->getMimeId() => array('data' => $result, 'status' => array(), 'type' => 'text/html; charset=UTF-8'));
}
示例7: getTemporaryDirectory
protected function getTemporaryDirectory()
{
return Horde_Util::createTempDir();
}
示例8: _loadPackageFromArchive
/**
* Return the package.xml file from the archive.
*
* Function copied from Pirum.
*
* (c) 2009 - 2011 Fabien Potencier
*
* @return string The path to the package.xml file.
*/
private function _loadPackageFromArchive()
{
if (!function_exists('gzopen')) {
$tmpDir = Horde_Util::createTempDir();
copy($this->_archive, $tmpDir . '/archive.tgz');
system('cd ' . $tmpDir . ' && tar zxpf archive.tgz');
if (!is_file($tmpDir . '/package.xml')) {
throw new Horde_Component_Exception(sprintf('Found no package.xml in "%s"!', $this->_archive));
}
return $tmpDir . '/package.xml';
}
$gz = gzopen($this->_archive, 'r');
if ($gz === false) {
throw new Horde_Component_Exception(sprintf('Failed extracting archive "%s"!', $this->_archive));
}
$tar = '';
while (!gzeof($gz)) {
$tar .= gzread($gz, 10000);
}
gzclose($gz);
while (strlen($tar)) {
$filename = rtrim(substr($tar, 0, 100), chr(0));
$filesize = octdec(rtrim(substr($tar, 124, 12), chr(0)));
if ($filename != 'package.xml') {
$offset = $filesize % 512 == 0 ? $filesize : $filesize + (512 - $filesize % 512);
$tar = substr($tar, 512 + $offset);
continue;
}
$checksum = octdec(rtrim(substr($tar, 148, 8), chr(0)));
$cchecksum = 0;
$tar = substr_replace($tar, ' ', 148, 8);
for ($i = 0; $i < 512; $i++) {
$cchecksum += ord($tar[$i]);
}
if ($checksum != $cchecksum) {
throw new Horde_Component_Exception(sprintf('Invalid archive "%s"!', $this->_archive));
}
$package = substr($tar, 512, $filesize);
$tmpFile = Horde_Util::getTempFile();
file_put_contents($tmpFile, $package);
return $tmpFile;
}
throw new Horde_Component_Exception(sprintf('Found no package.xml in "%s"!', $this->_archive));
}
示例9: setUpBeforeClass
public static function setUpBeforeClass()
{
self::$dir = Horde_Util::createTempDir();
}
示例10: update
/**
* Updates the component information in the horde-web repository.
*
* @param Components_Component $component The data of this component will
* be updated.
* @param array $options The set of options for the
* operation.
*
* @return NULL
*/
public function update(Components_Component $component, $options)
{
if (empty($options['destination'])) {
throw new Components_Exception('"destination" MUST be set for this action!');
} else {
$destination = $options['destination'];
}
if (empty($options['html_generator'])) {
throw new Components_Exception('"--html-generator" MUST be set for this action!');
}
$tmp_dir = Horde_Util::createTempDir();
$archive = $component->placeArchive($tmp_dir, array('logger' => $this->_output));
if (!$archive[0]) {
throw new Components_Exception('Failed retrieving the component archive!');
}
system('cd ' . $tmp_dir . ' && tar zxpf ' . $archive[0]);
$source = preg_replace('/\\.tgz$/', '', $archive[0]);
$doc_files = $this->_identifyDocFiles($source . '/doc');
$doc_files = array_merge($doc_files, $this->_identifyDocFiles($source . '/docs'));
if (file_exists($source . '/README')) {
$doc_files[$source . '/README'] = 'README';
}
if (preg_match('/^Horde_/', $component->getName())) {
$view_root = $destination . '/app/views/Library/libraries/' . $component->getName() . '/docs';
} else {
$view_root = $destination . '/app/views/App/apps/' . $component->getName() . '/docs';
}
if (!file_exists($view_root)) {
mkdir($view_root, 0777, true);
}
$docs = '<h3>Documentation</h3>
<p>These are the documentation files as distributed with the latest component\'s release tarball.</p>
<ul>
';
foreach ($doc_files as $path => $filename) {
if (preg_match('/^Horde_/', $component->getName())) {
$docs .= '<li><a href="<?php echo $this->urlWriter->urlFor(array(\'controller\' => \'library\', \'action\' => \'docs\', \'library\' => \'' . $component->getName() . '\', \'file\' => \'' . $filename . '\')); ?>">' . $filename . '</a></li>' . "\n";
} else {
$docs .= '<li><a href="<?php echo $this->urlWriter->urlFor(array(\'controller\' => \'apps\', \'action\' => \'docs\', \'app\' => \'' . $component->getName() . '\', \'file\' => \'' . $filename . '\')); ?>">' . $filename . '</a></li>' . "\n";
}
if ($filename == 'CHANGES') {
$out = '<h3>Changes by Release</h3><pre>';
$orig = file_get_contents($path);
$orig = preg_replace('/</', '<', $orig);
$orig = preg_replace(';pear\\s*(bug|request)\\s*#([[:digit:]]*);', '<a href="http://pear.php.net/bugs/bug.php?id=\\2">\\0</a>;', $orig);
$orig = preg_replace(';(,\\s*|\\()((bug|request)\\s*#(\\d*));i', '\\1<a href="http://bugs.horde.org/ticket/\\4">\\2</a>', $orig);
$out .= $orig . '</pre>';
} elseif ($filename == 'RELEASE_NOTES') {
$out = "<h3>Release notes for the latest release</h3><pre>\n";
$notes = (include $path);
$out .= $notes['changes'];
$out .= "</pre>\n";
} else {
$descriptorspec = array(array('pipe', 'r'), array('pipe', 'w'), array('pipe', 'w'));
$process = proc_open($options['html_generator'] . ' --output-encoding=UTF-8 --rfc-references ' . $path, $descriptorspec, $pipes);
if (is_resource($process)) {
fclose($pipes[0]);
$out = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$errors = stream_get_contents($pipes[2]);
fclose($pipes[2]);
$return_value = proc_close($process);
$out = preg_replace('#.*<body>[\\n]?(.*)</body>.*#ms', '\\1', $out);
if ($filename == 'DOCS_ORIGIN') {
$out = preg_replace('#\\?actionID=export&format=rst#', '', $out);
$out = preg_replace('#<td class="field-body">(.*)</td>#', '<td class="field-body"><a href="<?php echo $this->urlWriter->urlFor(array(\'controller\' => \'library\', \'action\' => \'docs\', \'library\' => \'' . $component->getName() . '\', \'file\' => \'\\1\')); ?>">\\1</a></td>', $out);
}
if (!empty($errors)) {
$this->_output->warn(print_r($errors, true));
}
} else {
//@todo
}
}
//@todo Pretend
if (!empty($out)) {
file_put_contents($view_root . '/' . $filename . '.html', $out);
$this->_output->ok(sprintf('Wrote documentation file "%s"!', $view_root . '/' . $filename . '.html'));
}
}
$docs .= '</ul>';
file_put_contents($view_root . '/docs.html', $docs);
$data_file = $destination . '/config/components.d/' . strtolower($component->getName()) . '.json';
if (empty($options['pretend'])) {
$data = $component->getData();
$data->hasDocuments = !empty($doc_files);
file_put_contents($data_file, json_encode($data));
$this->_output->ok(sprintf('Wrote data for component %s to %s', $component->getName(), $data_file));
//.........这里部分代码省略.........
示例11: __construct
/**
* Constructor.
*
* @param string $gnupg The path to the GnuPG binary.
* @param string $temp Location of temporary directory.
*/
public function __construct($gnupg, $temp = null)
{
$this->_tempdir = Horde_Util::createTempDir($temp);
/* Store the location of GnuPG and set common options. */
$this->_gnupg = array($gnupg, '--emit-version', '--no-tty', '--no-secmem-warning', '--no-options', '--no-default-keyring', '--yes', '--homedir ' . $this->_tempdir);
}
示例12: testConstruction
public function testConstruction()
{
$b = new Horde_Prefs_Storage_File('nobody', array('directory' => Horde_Util::createTempDir()));
}