/** * Save the local configuration file */ public function save() { if ($this->strTop == '') { $this->strTop = '<?php'; } $strFile = trim($this->strTop) . "\n\n"; $strFile .= "### INSTALL SCRIPT START ###\n"; foreach ($this->arrData as $k => $v) { $strFile .= "{$k} = {$v}\n"; } $strFile .= "### INSTALL SCRIPT STOP ###\n"; $this->strBottom = trim($this->strBottom); if ($this->strBottom != '') { $strFile .= $this->strBottom . "\n"; } $strTemp = md5(uniqid(mt_rand(), true)); // Write to a temp file first $objFile = fopen(TL_ROOT . '/system/tmp/' . $strTemp, 'wb'); fputs($objFile, $strFile); fclose($objFile); // Then move the file to its final destination $this->Files->rename('system/tmp/' . $strTemp, 'system/config/localconfig.php'); // Reset the Zend Optimizer+ cache (unfortunately no API to delete just a single file) if (function_exists('accelerator_reset')) { accelerator_reset(); } }
/** * Save the local configuration file */ public function save() { if ($this->strTop == '') { $this->strTop = '<?php'; } $strFile = trim($this->strTop) . "\n\n"; $strFile .= "### INSTALL SCRIPT START ###\n"; foreach ($this->arrData as $k => $v) { $strFile .= "{$k} = {$v}\n"; } $strFile .= "### INSTALL SCRIPT STOP ###\n"; $this->strBottom = trim($this->strBottom); if ($this->strBottom != '') { $strFile .= "\n" . $this->strBottom . "\n"; } $strTemp = md5(uniqid(mt_rand(), true)); // Write to a temp file first $objFile = fopen(TL_ROOT . '/system/tmp/' . $strTemp, 'wb'); fputs($objFile, $strFile); fclose($objFile); // Make sure the file has been written (see #4483) if (!filesize(TL_ROOT . '/system/tmp/' . $strTemp)) { \System::log('The local configuration file could not be written. Have your reached your quota limit?', __METHOD__, TL_ERROR); return; } // Adjust the file permissions (see #8178) $this->Files->chmod('system/tmp/' . $strTemp, \Config::get('defaultFileChmod')); // Then move the file to its final destination $this->Files->rename('system/tmp/' . $strTemp, 'system/config/localconfig.php'); // Reset the Zend OPcache if (function_exists('opcache_invalidate')) { opcache_invalidate(TL_ROOT . '/system/config/localconfig.php', true); } // Reset the Zend Optimizer+ cache (unfortunately no API to delete just a single file) if (function_exists('accelerator_reset')) { accelerator_reset(); } // Recompile the APC file (thanks to Trenker) if (function_exists('apc_compile_file') && !ini_get('apc.stat')) { apc_compile_file(TL_ROOT . '/system/config/localconfig.php'); } // Purge the eAccelerator cache (thanks to Trenker) if (function_exists('eaccelerator_purge') && !ini_get('eaccelerator.check_mtime')) { @eaccelerator_purge(); } // Purge the XCache cache (thanks to Trenker) if (function_exists('xcache_count') && !ini_get('xcache.stat')) { if (($count = xcache_count(XC_TYPE_PHP)) > 0) { for ($id = 0; $id < $count; $id++) { xcache_clear_cache(XC_TYPE_PHP, $id); } } } $this->blnIsModified = false; }
/** * Set favorite * * @param boolean $favorite * @return ClipboardXmlElement */ public function setFavorite($favorite) { if (!is_null($this->_favorite) || $this->_favorite != $favorite) { $strNewFileName = $this->_setNewFileName('favorite', $favorite ? 'F' : 'N'); $this->_objFiles->rename($this->_path . '/' . $this->_filename, $this->_path . '/' . $strNewFileName); $this->_filename = $strNewFileName; $this->_setFileInfo(); } $this->_favorite = $favorite; return $this; }
function processPaste() { switch ($_GET['paste']) { case 'copyFile': $src = Files::makeFile($this->getImagesDir(), $_GET['srcdir'] . $_GET['file']); $file = $_GET['file']; $dest = Files::makeFile($this->getImagesDir(), $_GET['dir']); return Files::copyFile($src, $dest, $file); break; case 'copyDir': $basePath = $this->getImagesDir(); $src = $_GET['srcdir'] . $_GET['file']; $dest = $_GET['dir'] . $_GET['file']; return Files::copyDir($basePath, $src, $dest); break; case 'moveFile': $src = Files::makePath($this->getImagesDir(), $_GET['srcdir'] . $_GET['file']); $dest = Files::makePath($this->getImagesDir(), $_GET['dir'] . $_GET['file']); return Files::rename($src, $dest); break; case 'moveDir': $src = Files::makeFile($this->getImagesDir(), $_GET['srcdir'] . $_GET['file']); $dest = Files::makeFile($this->getImagesDir(), $_GET['dir'] . $_GET['file']); return Files::rename($src, $dest); break; } }