Esempio n. 1
0
 /**
  * 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();
     }
 }
Esempio n. 2
0
 /**
  * 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;
 }
Esempio n. 4
0
 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;
     }
 }