mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
Allow modules to provide license file (license.<module_name>.xml) with same format as setup/licenses/community_license.xml
SVN:trunk[4921]
This commit is contained in:
@@ -1192,7 +1192,7 @@ EOF
|
||||
$aAvailableModules = $oRuntimeEnv->AnalyzeInstallation(MetaModel::GetConfig(), $aSearchDirs);
|
||||
|
||||
require_once(APPROOT.'setup/setuputils.class.inc.php');
|
||||
$aLicenses = SetupUtils::GetLicenses();
|
||||
$aLicenses = SetupUtils::GetLicenses($sCurrEnv);
|
||||
|
||||
$aItopSettings = array('cron_max_execution_time', 'timezone');
|
||||
$aPHPSettings = array('memory_limit', 'max_execution_time', 'upload_max_filesize', 'post_max_size');
|
||||
@@ -1238,11 +1238,13 @@ EOF
|
||||
$oPage->add('<fieldset>');
|
||||
$oPage->add('<legend>'.Dict::S('UI:About:Licenses').'</legend>');
|
||||
$oPage->add('<ul style="margin: 0; font-size: smaller; max-height: 15em; overflow: auto;">');
|
||||
foreach($aLicenses as $index => $oLicense)
|
||||
$index = 0;
|
||||
foreach($aLicenses as $oLicense)
|
||||
{
|
||||
$oPage->add('<li><b>'.$oLicense->product.'</b>, © '.$oLicense->author.' is licensed under the <b>'.$oLicense->license_type.' license</b>. (<a id="toggle_'.$index.'" class="CollapsibleLabel" style="cursor:pointer;">Details</a>)');
|
||||
$oPage->add('<div id="license_'.$index.'" class="license_text" style="display:none;overflow:auto;max-height:10em;font-size:small;border:1px #696969 solid;margin-bottom:1em; margin-top:0.5em;padding:0.5em;">'.$oLicense->text.'</div>');
|
||||
$oPage->add_ready_script('$("#toggle_'.$index.'").click( function() { $("#license_'.$index.'").slideToggle("normal"); } );');
|
||||
$index++;
|
||||
}
|
||||
$oPage->add('</ul>');
|
||||
$oPage->add('</fieldset>');
|
||||
|
||||
@@ -58,7 +58,7 @@ class SetupUtils
|
||||
/**
|
||||
* Check the version of PHP, the needed PHP extension and a number
|
||||
* of configuration parameters (memory_limit, max_upload_file_size, etc...)
|
||||
* @param SetupPage $oP The page used only for its 'log' method
|
||||
* @internal SetupPage $oP The page used only for its 'log' method
|
||||
* @return array An array of CheckResults objects
|
||||
*/
|
||||
static function CheckPHPVersion()
|
||||
@@ -159,10 +159,7 @@ class SetupUtils
|
||||
}
|
||||
SetupPage::log("Info - php.ini file(s): '$sPhpIniFile'");
|
||||
}
|
||||
else
|
||||
{
|
||||
$sPhpIniFile = 'php.ini';
|
||||
}
|
||||
|
||||
if (!ini_get('file_uploads'))
|
||||
{
|
||||
$aResult[] = new CheckResult(CheckResult::ERROR, "Files upload is not allowed on this server (file_uploads = ".ini_get('file_uploads').").");
|
||||
@@ -224,15 +221,14 @@ class SetupUtils
|
||||
$aResult[] = new CheckResult(CheckResult::ERROR, "'magic_quotes_gpc' is set to On. Please turn it Off in php.ini before continuing.");
|
||||
}
|
||||
}
|
||||
if (function_exists('magic_quotes_runtime'))
|
||||
{
|
||||
if (@magic_quotes_runtime())
|
||||
if (function_exists('get_magic_quotes_runtime'))
|
||||
{
|
||||
if (@get_magic_quotes_runtime())
|
||||
{
|
||||
$aResult[] = new CheckResult(CheckResult::ERROR, "'magic_quotes_runtime' is set to On. Please turn it Off in php.ini before continuing.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$sMemoryLimit = trim(ini_get('memory_limit'));
|
||||
if (empty($sMemoryLimit))
|
||||
{
|
||||
@@ -337,9 +333,13 @@ class SetupUtils
|
||||
return $aResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that the selected modules meet their dependencies
|
||||
*/
|
||||
/**
|
||||
* Check that the selected modules meet their dependencies
|
||||
* @param $sSourceDir
|
||||
* @param $sExtensionDir
|
||||
* @param $aSelectedModules
|
||||
* @return array
|
||||
*/
|
||||
static function CheckSelectedModules($sSourceDir, $sExtensionDir, $aSelectedModules)
|
||||
{
|
||||
$aResult = array();
|
||||
@@ -364,11 +364,12 @@ class SetupUtils
|
||||
return $aResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that the backup could be executed
|
||||
* @param Page $oP The page used only for its 'log' method
|
||||
* @return array An array of CheckResults objects
|
||||
*/
|
||||
/**
|
||||
* Check that the backup could be executed
|
||||
* @param $sDestDir
|
||||
* @return array An array of CheckResults objects
|
||||
* @internal param Page $oP The page used only for its 'log' method
|
||||
*/
|
||||
static function CheckBackupPrerequisites($sDestDir)
|
||||
{
|
||||
$aResult = array();
|
||||
@@ -438,11 +439,12 @@ class SetupUtils
|
||||
return $aResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that graphviz can be launched
|
||||
* @param string $GraphvizPath The path where graphviz' dot program is installed
|
||||
* @return CheckResult The result of the check
|
||||
*/
|
||||
/**
|
||||
* Check that graphviz can be launched
|
||||
* @param $sGraphvizPath
|
||||
* @return CheckResult The result of the check
|
||||
* @internal param string $GraphvizPath The path where graphviz' dot program is installed
|
||||
*/
|
||||
static function CheckGraphviz($sGraphvizPath)
|
||||
{
|
||||
$oResult = null;
|
||||
@@ -489,7 +491,7 @@ class SetupUtils
|
||||
|
||||
/**
|
||||
* Helper function to retrieve the system's temporary directory
|
||||
* Emulates sys_get_temp_dir if neeed (PHP < 5.2.1)
|
||||
* Emulates sys_get_temp_dir if needed (PHP < 5.2.1)
|
||||
* @return string Path to the system's temp directory
|
||||
*/
|
||||
static function GetTmpDir()
|
||||
@@ -530,9 +532,11 @@ class SetupUtils
|
||||
return $sPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to recursively remove a directory
|
||||
*/
|
||||
/**
|
||||
* Helper to recursively remove a directory
|
||||
* @param $dir
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function rrmdir($dir)
|
||||
{
|
||||
if ((strlen(trim($dir)) == 0) || ($dir == '/') || ($dir == '\\'))
|
||||
@@ -543,9 +547,11 @@ class SetupUtils
|
||||
rmdir($dir);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to recursively cleanup a directory
|
||||
*/
|
||||
/**
|
||||
* Helper to recursively cleanup a directory
|
||||
* @param $dir
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function tidydir($dir)
|
||||
{
|
||||
if ((strlen(trim($dir)) == 0) || ($dir == '/') || ($dir == '\\'))
|
||||
@@ -581,9 +587,10 @@ class SetupUtils
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to build the full path of a new directory
|
||||
*/
|
||||
/**
|
||||
* Helper to build the full path of a new directory
|
||||
* @param $dir
|
||||
*/
|
||||
public static function builddir($dir)
|
||||
{
|
||||
$parent = dirname($dir);
|
||||
@@ -597,10 +604,15 @@ class SetupUtils
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to copy a directory to a target directory, skipping .SVN files (for developer's comfort!)
|
||||
* Returns true if successfull
|
||||
*/
|
||||
/**
|
||||
* Helper to copy a directory to a target directory, skipping .SVN files (for developer's comfort!)
|
||||
* Returns true if successful
|
||||
* @param $sSource
|
||||
* @param $sDest
|
||||
* @param bool $bUseSymbolicLinks
|
||||
* @return bool
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function copydir($sSource, $sDest, $bUseSymbolicLinks = false)
|
||||
{
|
||||
if (is_dir($sSource))
|
||||
@@ -679,12 +691,15 @@ class SetupUtils
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to move a directory when the parent directory of the target dir cannot be written
|
||||
* To be used as alternative to rename()
|
||||
* Files/Subdirs of the source directory are moved one by one
|
||||
* Returns void
|
||||
*/
|
||||
/**
|
||||
* Helper to move a directory when the parent directory of the target dir cannot be written
|
||||
* To be used as alternative to rename()
|
||||
* Files/Subdirs of the source directory are moved one by one
|
||||
* Returns void
|
||||
* @param $sSource
|
||||
* @param $sDest
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function movedir($sSource, $sDest)
|
||||
{
|
||||
if (!is_dir($sSource))
|
||||
@@ -728,9 +743,8 @@ class SetupUtils
|
||||
|
||||
static function GetPreviousInstance($sDir)
|
||||
{
|
||||
$bFound = false;
|
||||
$sSourceDir = '';
|
||||
$sSourceEnvironement = '';
|
||||
$sSourceEnvironment = '';
|
||||
$sConfigFile = '';
|
||||
$aResult = array(
|
||||
'found' => false,
|
||||
@@ -954,11 +968,14 @@ EOF
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function check the connection to the database, verify a few conditions (minimum version, etc...) and (if connected)
|
||||
* enumerate the existing databases (if possible)
|
||||
* @return mixed false if the connection failed or array('checks' => Array of CheckResult, 'databases' => Array of database names (as strings) or null if not allowed)
|
||||
*/
|
||||
/**
|
||||
* Helper function check the connection to the database, verify a few conditions (minimum version, etc...) and (if connected)
|
||||
* enumerate the existing databases (if possible)
|
||||
* @param $sDBServer
|
||||
* @param $sDBUser
|
||||
* @param $sDBPwd
|
||||
* @return mixed false if the connection failed or array('checks' => Array of CheckResult, 'databases' => Array of database names (as strings) or null if not allowed)
|
||||
*/
|
||||
static function CheckServerConnection($sDBServer, $sDBUser, $sDBPwd)
|
||||
{
|
||||
$aResult = array('checks' => array(), 'databases' => null);
|
||||
@@ -1083,7 +1100,7 @@ EOF
|
||||
{
|
||||
$sEncodedName = htmlentities($sDatabaseName, ENT_QUOTES, 'UTF-8');
|
||||
$sSelected = ($sDatabaseName == $sDBName) ? ' selected ' : '';
|
||||
$sDBNameInput .= '<option value="'.$sEncodedName.'"'.$sSelected.'>'.$sEncodedName.'</option>';
|
||||
$sDBNameInput .= '<option value="'.$sEncodedName.'" '.$sSelected.'>'.$sEncodedName.'</option>';
|
||||
}
|
||||
}
|
||||
$sDBNameInput .= '</select>';
|
||||
@@ -1097,8 +1114,8 @@ EOF
|
||||
|
||||
/**
|
||||
* Helper function to get the available languages from the given directory
|
||||
* @param $sDir Path to the dictionary
|
||||
* @return an array of language code => description
|
||||
* @param $sDir String Path to the dictionary
|
||||
* @return array of language code => description
|
||||
*/
|
||||
static public function GetAvailableLanguages($sDir)
|
||||
{
|
||||
@@ -1120,9 +1137,9 @@ EOF
|
||||
require_once($sFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
return Dict::GetLanguages();
|
||||
}
|
||||
|
||||
return Dict::GetLanguages();
|
||||
}
|
||||
|
||||
static public function GetLanguageSelect($sSourceDir, $sInputName, $sDefaultLanguageCode)
|
||||
{
|
||||
@@ -1131,19 +1148,22 @@ EOF
|
||||
$aLanguages = SetupUtils::GetAvailableLanguages($sSourceDir);
|
||||
foreach($aLanguages as $sCode => $aInfo)
|
||||
{
|
||||
$sSelected = ($sCode == $sDefaultLanguageCode) ? ' selected ' : '';
|
||||
$sHtml .= '<option value="'.$sCode.'"'.$sSelected.'>'.htmlentities($aInfo['description'], ENT_QUOTES, 'UTF-8').' ('.htmlentities($aInfo['localized_description'], ENT_QUOTES, 'UTF-8').')</option>';
|
||||
$sSelected = ($sCode == $sDefaultLanguageCode) ? 'selected ' : '';
|
||||
$sHtml .= '<option value="'.$sCode.'" '.$sSelected.'>'.htmlentities($aInfo['description'], ENT_QUOTES, 'UTF-8').' ('.htmlentities($aInfo['localized_description'], ENT_QUOTES, 'UTF-8').')</option>';
|
||||
}
|
||||
$sHtml .= '</select></td></tr>';
|
||||
|
||||
return $sHtml;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param bool $bAbortOnMissingDependency ...
|
||||
* @param array $aModulesToLoad List of modules to search for, defaults to all if ommitted
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @param $oWizard
|
||||
* @param bool $bAbortOnMissingDependency ...
|
||||
* @param array $aModulesToLoad List of modules to search for, defaults to all if ommitted
|
||||
* @return hash
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function AnalyzeInstallation($oWizard, $bAbortOnMissingDependency = false, $aModulesToLoad = null)
|
||||
{
|
||||
require_once(APPROOT.'/setup/moduleinstaller.class.inc.php');
|
||||
@@ -1222,14 +1242,17 @@ EOF
|
||||
$oProductionEnv = new RunTimeEnvironment();
|
||||
return $oProductionEnv->GetApplicationVersion($oConfig);
|
||||
}
|
||||
/**
|
||||
* Checks if the content of a directory matches the given manifest
|
||||
* @param string $sBaseDir Path to the root directory of iTop
|
||||
* @param string $sSourceDir Relative path to the directory to check under $sBaseDir
|
||||
* @param Array $aDOMManifest Array of array('path' => relative_path 'size'=> iSize, 'md5' => sHexMD5)
|
||||
* @param Hash $aResult Used for recursion
|
||||
* @return hash Hash array ('added' => array(), 'removed' => array(), 'modified' => array())
|
||||
*/
|
||||
|
||||
/**
|
||||
* Checks if the content of a directory matches the given manifest
|
||||
* @param string $sBaseDir Path to the root directory of iTop
|
||||
* @param string $sSourceDir Relative path to the directory to check under $sBaseDir
|
||||
* @param $aManifest
|
||||
* @param array $aExcludeNames
|
||||
* @param Hash $aResult Used for recursion
|
||||
* @return hash Hash array ('added' => array(), 'removed' => array(), 'modified' => array())
|
||||
* @internal param array $aDOMManifest Array of array('path' => relative_path 'size'=> iSize, 'md5' => sHexMD5)
|
||||
*/
|
||||
public static function CheckDirAgainstManifest($sBaseDir, $sSourceDir, $aManifest, $aExcludeNames = array('.svn', '.git'), $aResult = null)
|
||||
{
|
||||
//echo "CheckDirAgainstManifest($sBaseDir, $sSourceDir ...)\n";
|
||||
@@ -1466,19 +1489,35 @@ EOF
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of xml nodes describing the licences
|
||||
*/
|
||||
static public function GetLicenses()
|
||||
/**
|
||||
* Returns an array of xml nodes describing the licences.
|
||||
* @param $sEnv string|null Execution environment. If present loads licenses only for installed modules else loads all licenses available.
|
||||
* @return array Licenses list.
|
||||
*/
|
||||
static public function GetLicenses($sEnv = null)
|
||||
{
|
||||
$aLicenses = array();
|
||||
foreach (glob(APPROOT.'setup/licenses/*.xml') as $sFile)
|
||||
$aLicenceFiles = glob(APPROOT.'setup/licenses/*.xml');
|
||||
if (empty($sEnv))
|
||||
{
|
||||
$aLicenceFiles = array_merge($aLicenceFiles, glob(APPROOT.'datamodels/*/*/license.*.xml'));
|
||||
$aLicenceFiles = array_merge($aLicenceFiles, glob(APPROOT.'extensions/*/license.*.xml'));
|
||||
$aLicenceFiles = array_merge($aLicenceFiles, glob(APPROOT.'data/*-modules/*/license.*.xml'));
|
||||
}
|
||||
else
|
||||
{
|
||||
$aLicenceFiles = array_merge($aLicenceFiles, glob(APPROOT.'env-'.$sEnv.'/*/license.*.xml'));
|
||||
}
|
||||
foreach ($aLicenceFiles as $sFile)
|
||||
{
|
||||
$oXml = simplexml_load_file($sFile);
|
||||
foreach($oXml->license as $oLicense)
|
||||
{
|
||||
$aLicenses[] = $oLicense;
|
||||
}
|
||||
if (!empty($oXml->license))
|
||||
{
|
||||
foreach ($oXml->license as $oLicense)
|
||||
{
|
||||
$aLicenses[(string)$oLicense->product] = $oLicense;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $aLicenses;
|
||||
}
|
||||
|
||||
@@ -238,9 +238,9 @@ class WizStepInstallOrUpgrade extends WizardStep
|
||||
}
|
||||
$oPage->add('<h2>What do you want to do?</h2>');
|
||||
$sChecked = ($sInstallMode == 'install') ? ' checked ' : '';
|
||||
$oPage->p('<input id="radio_install" type="radio" name="install_mode" value="install"'.$sChecked.'/><label for="radio_install"> Install a new '.ITOP_APPLICATION.'</label>');
|
||||
$oPage->p('<input id="radio_install" type="radio" name="install_mode" value="install" '.$sChecked.'/><label for="radio_install"> Install a new '.ITOP_APPLICATION.'</label>');
|
||||
$sChecked = ($sInstallMode == 'upgrade') ? ' checked ' : '';
|
||||
$oPage->p('<input id="radio_update" type="radio" name="install_mode" value="upgrade"'.$sChecked.'/><label for="radio_update"> Upgrade an existing '.ITOP_APPLICATION.' instance</label>');
|
||||
$oPage->p('<input id="radio_update" type="radio" name="install_mode" value="upgrade" '.$sChecked.'/><label for="radio_update"> Upgrade an existing '.ITOP_APPLICATION.' instance</label>');
|
||||
//$oPage->add('<fieldset id="upgrade_info"'.$sUpgradeInfoStyle.'>');
|
||||
//$oPage->add('<legend>Information about the previous instance:</legend>');
|
||||
$oPage->add('<table id="upgrade_info"'.$sUpgradeInfoStyle.'>');
|
||||
@@ -264,7 +264,7 @@ class WizStepInstallOrUpgrade extends WizardStep
|
||||
}
|
||||
$sChecked = ($bCanBackup && $bDBBackup) ? ' checked ' : '';
|
||||
$sDisabled = $bCanBackup ? '' : ' disabled ';
|
||||
$oPage->add('<tr><td colspan="2"><input id="db_backup" type="checkbox" name="db_backup"'.$sChecked.$sDisabled.' value="1"/><label for="db_backup"> Backup the '.ITOP_APPLICATION.' database before upgrading</label></td></tr>');
|
||||
$oPage->add('<tr><td colspan="2"><input id="db_backup" type="checkbox" name="db_backup" '.$sChecked.$sDisabled.' value="1"/><label for="db_backup"> Backup the '.ITOP_APPLICATION.' database before upgrading</label></td></tr>');
|
||||
$oPage->add('<tr><td colspan="2">Save the backup to: <input id="db_backup_path" type="text" name="db_backup_path" '.$sDisabled.'value="'.htmlentities($sDBBackupPath, ENT_QUOTES, 'UTF-8').'" size="25"/></td></tr>');
|
||||
$fFreeSpace = SetupUtils::CheckDiskSpace($sDBBackupPath);
|
||||
$sMessage = '';
|
||||
@@ -527,8 +527,8 @@ EOF
|
||||
$aErrors = SetupUtils::CheckWritableDirs($aWritableDirs);
|
||||
$sChecked = ($this->oWizard->GetParameter('upgrade_type') == 'keep-previous') ? ' checked ' : '';
|
||||
$sDisabled = (count($aErrors) > 0) ? ' disabled ' : '';
|
||||
|
||||
$oPage->p('<input id="radio_upgrade_keep" type="radio" name="upgrade_type" value="keep-previous"'.$sChecked.$sDisabled.'/><label for="radio_upgrade_keep"> Preserve the modifications of the installed version (the dasboards inside '.ITOP_APPLICATION.' may not be editable).</label>');
|
||||
|
||||
$oPage->p('<input id="radio_upgrade_keep" type="radio" name="upgrade_type" value="keep-previous" '.$sChecked.$sDisabled.'/><label for="radio_upgrade_keep"> Preserve the modifications of the installed version (the dasboards inside '.ITOP_APPLICATION.' may not be editable).</label>');
|
||||
$oPage->add('<input type="hidden" name="datamodel_previous_version" value="'.htmlentities($sInstalledDataModelVersion, ENT_QUOTES, 'UTF-8').'">');
|
||||
|
||||
$oPage->add('<input type="hidden" name="relative_source_dir" value="'.htmlentities($sPreviousSourceDir, ENT_QUOTES, 'UTF-8').'">');
|
||||
@@ -543,8 +543,8 @@ EOF
|
||||
}
|
||||
|
||||
$sChecked = ($this->oWizard->GetParameter('upgrade_type') == 'use-compatible') ? ' checked ' : '';
|
||||
|
||||
$oPage->p('<input id="radio_upgrade_convert" type="radio" name="upgrade_type" value="use-compatible"'.$sChecked.'/><label for="radio_upgrade_convert"> Discard the modifications, use a standard '.$sUpgradeDMVersion.' data model.</label>');
|
||||
|
||||
$oPage->p('<input id="radio_upgrade_convert" type="radio" name="upgrade_type" value="use-compatible" '.$sChecked.'/><label for="radio_upgrade_convert"> Discard the modifications, use a standard '.$sUpgradeDMVersion.' data model.</label>');
|
||||
|
||||
$oPage->add('<input type="hidden" name="datamodel_path" value="'.htmlentities($sCompatibleDMDir, ENT_QUOTES, 'UTF-8').'">');
|
||||
$oPage->add('<input type="hidden" name="datamodel_version" value="'.htmlentities($sUpgradeDMVersion, ENT_QUOTES, 'UTF-8').'">');
|
||||
@@ -675,9 +675,12 @@ class WizStepLicense extends WizardStep
|
||||
return array('class' => 'WizStepDBParams', 'state' => '');
|
||||
}
|
||||
|
||||
public function Display(WebPage $oPage)
|
||||
{
|
||||
$aLicenses = SetupUtils::GetLicenses();
|
||||
/**
|
||||
* @param WebPage $oPage
|
||||
*/
|
||||
public function Display(WebPage $oPage)
|
||||
{
|
||||
$aLicenses = SetupUtils::GetLicenses();
|
||||
|
||||
$oPage->add('<h2>Licenses agreements for the components of '.ITOP_APPLICATION.'</h2>');
|
||||
$oPage->add_style('div a.no-arrow { background:transparent; padding-left:0;}');
|
||||
@@ -685,17 +688,19 @@ class WizStepLicense extends WizardStep
|
||||
$oPage->add('<fieldset>');
|
||||
$oPage->add('<legend>Components of '.ITOP_APPLICATION.'</legend>');
|
||||
$oPage->add('<ul>');
|
||||
foreach($aLicenses as $index => $oLicense)
|
||||
$index = 0;
|
||||
foreach ($aLicenses as $oLicense)
|
||||
{
|
||||
$oPage->add('<li><b>'.$oLicense->product.'</b>, © '.$oLicense->author.' is licensed under the <b>'.$oLicense->license_type.' license</b>. (<span class="toggle" id="toggle_'.$index.'">Details</span>)');
|
||||
$oPage->add('<div id="license_'.$index.'" class="license_text" style="display:none;overflow:auto;max-height:10em;font-size:small;border:1px #696969 solid;margin-bottom:1em; margin-top:0.5em;padding:0.5em;">'.$oLicense->text.'</div>');
|
||||
$oPage->add_ready_script('$(".license_text a").attr("target", "_blank").addClass("no-arrow");');
|
||||
$oPage->add_ready_script('$("#toggle_'.$index.'").click( function() { $("#license_'.$index.'").toggle(); } );');
|
||||
$index++;
|
||||
}
|
||||
$oPage->add('</ul>');
|
||||
$oPage->add('</fieldset>');
|
||||
$sChecked = ($this->oWizard->GetParameter('accept_license', 'no') == 'yes') ? ' checked ' : '';
|
||||
$oPage->p('<input type="checkbox" name="accept_license" id="accept" value="yes"'.$sChecked.'><label for="accept"> I accept the terms of the licenses of the '.count($aLicenses).' components mentioned above.</label>');
|
||||
$sChecked = ($this->oWizard->GetParameter('accept_license', 'no') == 'yes') ? ' checked ' : '';
|
||||
$oPage->p('<input type="checkbox" name="accept_license" id="accept" value="yes" '.$sChecked.'><label for="accept"> I accept the terms of the licenses of the '.count($aLicenses).' components mentioned above.</label>');
|
||||
$oPage->add_ready_script('$("#accept").bind("click change", function() { WizardUpdateButtons(); });');
|
||||
}
|
||||
|
||||
@@ -707,7 +712,8 @@ class WizStepLicense extends WizardStep
|
||||
{
|
||||
return 'return ($("#accept").attr("checked") === "checked");';
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -803,7 +809,7 @@ class WizStepDBParams extends WizardStep
|
||||
bRet = ValidateField("db_name", true) && bRet;
|
||||
bRet = ValidateField("db_new_name", true) && bRet;
|
||||
bRet = ValidateField("db_prefix", true) && bRet;
|
||||
|
||||
|
||||
return bRet;
|
||||
EOF
|
||||
;
|
||||
@@ -956,10 +962,10 @@ class WizStepMiscParams extends WizardStep
|
||||
$oPage->add('</fieldset>');
|
||||
$oPage->add('<fieldset>');
|
||||
$oPage->add('<legend>Sample Data</legend>');
|
||||
$sChecked = ($sSampleData == 'yes') ? ' checked ' : '';
|
||||
$oPage->p('<input id="sample_data_yes" name="sample_data" type="radio" value="yes"'.$sChecked.'><label for="sample_data_yes"> I am installing a <b>demo or test</b> instance, populate the database with some demo data.');
|
||||
$sChecked = ($sSampleData == 'no') ? ' checked ' : '';
|
||||
$oPage->p('<input id="sample_data_no" name="sample_data" type="radio" value="no"'.$sChecked.'><label for="sample_data_no"> I am installing a <b>production</b> instance, create an empty database to start from.');
|
||||
$sChecked = ($sSampleData == 'yes') ? 'checked ' : '';
|
||||
$oPage->p('<input id="sample_data_yes" name="sample_data" type="radio" value="yes" '.$sChecked.'><label for="sample_data_yes"> I am installing a <b>demo or test</b> instance, populate the database with some demo data.');
|
||||
$sChecked = ($sSampleData == 'no') ? 'checked ' : '';
|
||||
$oPage->p('<input id="sample_data_no" name="sample_data" type="radio" value="no" '.$sChecked.'><label for="sample_data_no"> I am installing a <b>production</b> instance, create an empty database to start from.');
|
||||
$oPage->add('</fieldset>');
|
||||
$oPage->add_ready_script(
|
||||
<<<EOF
|
||||
|
||||
Reference in New Issue
Block a user