예제 #1
0
 function writeSettingsOverride()
 {
     //just to be sure, we check again content validity just before writing it
     $this->checkContentValidity();
     $sConfigDefaultFile = "none";
     try {
         $sConfigDefaultFile = $this->getComponent()->getConfigurableFileDefault();
     } catch (AnwFileNotFoundException $e) {
     }
     //no default config
     $cfg = $this->toOverrideCfgArray();
     $sPhpCode = '<?php ' . "\n";
     $sPhpCode .= ' /**' . "\n";
     $sPhpCode .= '  * Anwiki override file.' . "\n";
     $sPhpCode .= '  * This file can be edited directly from file system, or from Anwiki web interface.' . "\n";
     $sPhpCode .= '  * ' . "\n";
     $sPhpCode .= '  * Overridden file: ' . $sConfigDefaultFile . "\n";
     $sPhpCode .= '  * Generated on: ' . Anwi18n::datetime(time()) . "\n";
     $sPhpCode .= '  * By: ' . AnwCurrentSession::getUser()->getLogin() . "\n";
     $sPhpCode .= '  * Using version: ' . ANWIKI_VERSION_NAME . ' (' . ANWIKI_VERSION_ID . ')' . "\n";
     $sPhpCode .= '  */' . "\n";
     $sPhpCode .= "\n";
     $sPhpCode .= '$cfg = ' . AnwUtils::arrayToPhp($cfg) . "\n";
     $sPhpCode .= '?>';
     $sFileOverride = $this->getComponent()->getConfigurableFileOverride();
     AnwUtils::file_put_contents($sFileOverride, $sPhpCode, LOCK_EX);
     // clear component's cache for configurableContent
     $this->getComponent()->___notifyConfigurableContentChanged();
 }