コード例 #1
0
ファイル: Configuration.php プロジェクト: villos/tree_admin
 function OA_Upgrade_Config()
 {
     $this->oSettings = new OA_Admin_Settings();
     $this->aConfig =& $this->oSettings->getConfigArray();
     // set default configPath
     $this->configPath = MAX_PATH . '/var/';
     if (!OA_Admin_Settings::isConfigWritable()) {
         return false;
     }
 }
コード例 #2
0
 function __construct()
 {
     $this->oSettings = new OA_Admin_Settings();
     // Use reference here
     $this->aConfig =& $this->oSettings->getConfigArray();
     // set default configPath
     $this->configPath = MAX_PATH . '/var/';
     if (!OA_Admin_Settings::isConfigWritable()) {
         return false;
     }
 }
コード例 #3
0
 function init()
 {
     $aConf = $GLOBALS['_MAX']['CONF'];
     $this->pathPackages = $aConf['pluginPaths']['packages'];
     $this->pathPlugins = $aConf['pluginPaths']['plugins'];
     $this->pathPluginsAdmin = $aConf['pluginPaths']['admin'];
     $this->pathDataObjects = $aConf['pluginPaths']['var'] . 'DataObjects/';
     // Attempt to increase the memory limit when using the plugin manager
     OX_increaseMemoryLimit(OX_getMinimumRequiredMemory('plugin'));
     $this->basePath = MAX_PATH;
     $this->configLocked = !OA_Admin_Settings::isConfigWritable();
 }
コード例 #4
0
 function testIsConfigWritable()
 {
     $oConf = new OA_Admin_Settings(true);
     // 1) Test we can write to an existing file.
     $path = $this->basePath;
     $filename = 'oa_test_' . rand() . '.conf.php';
     $fp = fopen($path . '/' . $filename, 'w');
     fwrite($fp, 'foo');
     fclose($fp);
     $this->assertTrue($oConf->isConfigWritable($path . '/' . $filename));
     unlink($path . '/' . $filename);
     // 2) A non-existing file in an unwriteable location.
     $this->assertFalse($oConf->isConfigWritable($this->basePath . '/non_existent_dir/non_existent_file'));
     /**
      * @todo Test fails when running the test as root
      */
     // 3) An existing file we don't have write permission for.
     $path = $this->basePath;
     $filename = 'oa_test_' . rand() . '.conf.php';
     $fp = fopen($path . '/' . $filename, 'w');
     fwrite($fp, 'foo');
     fclose($fp);
     chmod($path . '/' . $filename, 0400);
     $this->assertFalse($oConf->isConfigWritable($path . '/' . $filename));
     chmod($path . '/' . $filename, 0700);
     unlink($path . '/' . $filename);
     // 4) An empty directory we can write to.
     $this->assertTrue($oConf->isConfigWritable($this->basePath . '/non_existent_file'));
     /**
      * @todo Test fails when running the test as root or on Windows
      */
     // 5) An empty directory we cannot write to.
     $path = $this->basePath;
     $dirname = 'oa_test_' . rand();
     mkdir($path . '/' . $dirname);
     chmod($path . '/' . $dirname, 00);
     $this->assertFalse($oConf->isConfigWritable($path . '/' . $dirname . '/non_existent_file'));
     chmod($path . '/' . $dirname, 0700);
     rmdir($path . '/' . $dirname);
 }
コード例 #5
0
}
/*-------------------------------------------------------*/
/* HTML framework                                        */
/*-------------------------------------------------------*/
phpAds_PageHeader("plugin-index", new OA_Admin_UI_Model_PageHeaderModel($GLOBALS['strPlugins']), '', false, true);
/*-------------------------------------------------------*/
/* Main code                                             */
/*-------------------------------------------------------*/
if (is_null($oTpl)) {
    if (array_key_exists('selection', $_REQUEST) && $_REQUEST['selection'] == 'groups') {
        $oTpl = new OA_Admin_Template('plugin-group-index-list.html');
        $oTpl->assign('aWarnings', $oComponentGroupManager->aWarnings);
        $oTpl->assign('selected', 'groups');
        $oTpl->assign('aPlugins', $oComponentGroupManager->getComponentGroupsList());
    } else {
        $oTpl = new OA_Admin_Template('plugin-index.html');
        $oTpl->assign('selected', 'plugins');
        $oTpl->assign('aPackages', $oPluginManager->getPackagesList());
        $oTpl->assign('aWarnings', $oPluginManager->aWarnings);
        $oTpl->assign('aErrors', $oPluginManager->aErrors);
        $oTpl->assign('aMessages', $oPluginManager->aMessages);
    }
}
// Determine if config file is writable
$configLocked = !OA_Admin_Settings::isConfigWritable();
$image = $configLocked ? 'closed' : 'open';
$oTpl->assign('configLocked', $configLocked);
$oTpl->assign('image', $image);
$oTpl->assign('token', phpAds_SessionGetToken());
$oTpl->display();
phpAds_PageFooter();
コード例 #6
0
ファイル: Settings.php プロジェクト: villos/tree_admin
 function writeDefaultConfigFile($configPath, $configFile, $newHost)
 {
     $file = $configPath . '/default' . $configFile . '.conf.php';
     if (!OA_Admin_Settings::isConfigWritable($file)) {
         return false;
     }
     $aConfig = array('realConfig' => $newHost);
     $oConfig = new Config();
     $oConfigContainer =& $oConfig->parseConfig($aConfig, 'phpArray');
     $oConfigContainer->createComment('*** DO NOT REMOVE THE LINE ABOVE ***', 'top');
     $oConfigContainer->createComment('<' . '?php exit; ?>', 'top');
     return $oConfig->writeConfig($file, 'IniCommented');
 }
コード例 #7
0
ファイル: Option.php プロジェクト: villos/tree_admin
 /**
  * A private method to determine if a setting configuration file option item should be
  * disabled or not, based on the state of settings configuration file (i.e. if the file
  * be written to, or not).
  *
  * @access private
  * @param array $aItem An array of the option item.
  * @return boolean True if the option should be disabled, false otherwise.
  */
 function _disabledValue($aItem)
 {
     if ($this->_optionType == 'account-settings') {
         $aConf = $GLOBALS['_MAX']['CONF'];
         if (OA_INSTALLATION_STATUS == OA_INSTALLATION_STATUS_INSTALLED && isset($aItem['name'])) {
             $aNameExploded = explode('_', $aItem['name']);
             $aSettingSection = isset($aNameExploded[0]) ? $aNameExploded[0] : null;
             $aSettingKey = isset($aNameExploded[1]) ? $aNameExploded[1] : null;
             if (isset($aConf[$aSettingSection][$aSettingKey]) && !OA_Admin_Settings::isConfigWritable()) {
                 return true;
             }
         }
     }
     return false;
 }