123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052 |
- <?php
- define('SYSTEM_MAIN_DATABASE_FILE', 'db_main.sql');
- define('COUNTRY_DATA_FILENAME', 'country_data.csv');
- define('COURSES_HTACCESS_FILENAME', 'htaccess.dist');
- define('SYSTEM_CONFIG_FILENAME', 'configuration.dist.php');
- function is_already_installed_system() {
- global $new_version, $_configuration;
- if (empty($new_version)) {
- return true;
- }
- $current_config_file = api_get_path(CONFIGURATION_PATH).'configuration.php';
- if (!file_exists($current_config_file)) {
- return false;
- }
- require $current_config_file;
- $current_version = trim($_configuration['dokeos_version']);
- if (empty($current_version)) {
- $current_version = trim($_configuration['system_version']);
- }
-
- return empty($current_version) ? false : version_compare($current_version, $new_version, '>=');
- }
- function check_extension($extension_name, $return_success = 'Yes', $return_failure = 'No', $optional = false) {
- if (extension_loaded($extension_name)) {
- return '<strong><font color="green">'.$return_success.'</font></strong>';
- } else {
- if ($optional) {
- return '<strong><font color="#ff9900">'.$return_failure.'</font></strong>';
- } else {
- return '<strong><font color="red">'.$return_failure.'</font></strong>';
- }
- }
- }
- function check_php_setting($php_setting, $recommended_value, $return_success = false, $return_failure = false) {
- $current_php_value = get_php_setting($php_setting);
- if ($current_php_value == $recommended_value) {
- return '<strong><font color="green">'.$current_php_value.' '.$return_success.'</font></strong>';
- } else {
- return '<strong><font color="red">'.$current_php_value.' '.$return_failure.'</font></strong>';
- }
- }
- function get_php_setting($val) {
- return ini_get($val) == '1' ? 'ON' : 'OFF';
- }
- function true_false($var) {
- return $var ? 'true' : 'false';
- }
- function remove_memory_and_time_limits() {
- if (function_exists('ini_set')) {
- ini_set('memory_limit', -1);
- ini_set('max_execution_time', 0);
- } else {
- error_log('Update-db script: could not change memory and time limits', 0);
- }
- }
- function detect_browser_language() {
- static $language_index = array(
- 'ar' => 'arabic',
- 'ast' => 'asturian',
- 'bg' => 'bulgarian',
- 'bs' => 'bosnian',
- 'ca' => 'catalan',
- 'zh' => 'simpl_chinese',
- 'zh-tw' => 'trad_chinese',
- 'cs' => 'czech',
- 'da' => 'danish',
- 'prs' => 'dari',
- 'de' => 'german',
- 'el' => 'greek',
- 'en' => 'english',
- 'es' => 'spanish',
- 'eo' => 'esperanto',
- 'eu' => 'euskera',
- 'fa' => 'persian',
- 'fr' => 'french',
- 'fur' => 'friulian',
- 'gl' => 'galician',
- 'ka' => 'georgian',
- 'hr' => 'croatian',
- 'he' => 'hebrew',
- 'hi' => 'hindi',
- 'id' => 'indonesian',
- 'it' => 'italian',
- 'ko' => 'korean',
- 'lv' => 'latvian',
- 'lt' => 'lithuanian',
- 'mk' => 'macedonian',
- 'hu' => 'hungarian',
- 'ms' => 'malay',
- 'nl' => 'dutch',
- 'ja' => 'japanese',
- 'no' => 'norwegian',
- 'oc' => 'occitan',
- 'ps' => 'pashto',
- 'pl' => 'polish',
- 'pt' => 'portuguese',
- 'pt-br' => 'brazilian',
- 'ro' => 'romanian',
- 'qu' => 'quechua_cusco',
- 'ru' => 'russian',
- 'sk' => 'slovak',
- 'sl' => 'slovenian',
- 'sr' => 'serbian',
- 'fi' => 'finnish',
- 'sv' => 'swedish',
- 'th' => 'thai',
- 'tr' => 'turkce',
- 'uk' => 'ukrainian',
- 'vi' => 'vietnamese',
- 'sw' => 'swahili',
- 'yo' => 'yoruba'
- );
- $system_available_languages = & get_language_folder_list();
- $accept_languages = strtolower(str_replace('_', '-', $_SERVER['HTTP_ACCEPT_LANGUAGE']));
- foreach ($language_index as $code => $language) {
- if (strpos($accept_languages, $code) === 0) {
- if (!empty($system_available_languages[$language])) {
- return $language;
- }
- }
- }
- $user_agent = strtolower(str_replace('_', '-', $_SERVER['HTTP_USER_AGENT']));
- foreach ($language_index as $code => $language) {
- if (@preg_match("/[\[\( ]{$code}[;,_\-\)]/", $user_agent)) {
- if (!empty($system_available_languages[$language])) {
- return $language;
- }
- }
- }
- return 'english';
- }
- function check_writable($folder, $suggestion = false) {
- if (is_writable(api_get_path(SYS_CODE_PATH).$folder)) {
- return '<strong><font color="green">'.get_lang('Writable').'</font></strong>';
- } else {
- if ($suggestion) {
- return '<strong><font color="#ff9900">'.get_lang('NotWritable').'</font></strong>';
- } else {
- return '<strong><font color="red">'.get_lang('NotWritable').'</font></strong>';
- }
- }
- }
- function file_to_array($filename) {
- $fp = fopen($filename, 'rb');
- $buffer = fread($fp, filesize($filename));
- fclose($fp);
- return explode('<br />', nl2br($buffer));
- }
- function set_file_folder_permissions() {
- @chmod('.', 0755);
- @chmod('..', 0755);
- @chmod('country_data.csv.csv', 0755);
- }
- function write_courses_htaccess_file($url_append) {
- $content = file_get_contents(dirname(__FILE__).'/'.COURSES_HTACCESS_FILENAME);
- $content = str_replace('{CHAMILO_URL_APPEND_PATH}', $url_append, $content);
- $fp = @ fopen(api_get_path(SYS_PATH).'courses/.htaccess', 'w');
- if ($fp) {
- fwrite($fp, $content);
- return fclose($fp);
- }
- return false;
- }
- function write_system_config_file($path) {
- global $dbHostForm;
- global $dbUsernameForm;
- global $dbPassForm;
- global $enableTrackingForm;
- global $singleDbForm;
- global $dbPrefixForm;
- global $dbNameForm;
- global $dbStatsForm;
- global $dbScormForm;
- global $dbUserForm;
- global $urlForm;
- global $pathForm;
- global $urlAppendPath;
- global $languageForm;
- global $encryptPassForm;
- global $installType;
- global $updatePath;
- global $session_lifetime;
- global $new_version;
- global $new_version_stable;
- $root_sys = api_add_trailing_slash(str_replace('\\', '/', realpath($pathForm)));
- $content = file_get_contents(dirname(__FILE__).'/'.SYSTEM_CONFIG_FILENAME);
- $config['{DATE_GENERATED}'] = date('r');
- $config['{DATABASE_HOST}'] = $dbHostForm;
- $config['{DATABASE_USER}'] = $dbUsernameForm;
- $config['{DATABASE_PASSWORD}'] = $dbPassForm;
- $config['TRACKING_ENABLED'] = true_false($enableTrackingForm);
- $config['SINGLE_DATABASE'] = true_false($singleDbForm);
- $config['{COURSE_TABLE_PREFIX}'] = ($singleDbForm ? 'crs_' : '');
- $config['{DATABASE_GLUE}'] = ($singleDbForm ? '_' : '`.`');
- $config['{DATABASE_PREFIX}'] = '';
- $config['{DATABASE_MAIN}'] = $dbNameForm;
- $config['{DATABASE_STATS}'] = $dbNameForm;
- $config['{DATABASE_SCORM}'] = $dbNameForm;
- $config['{DATABASE_PERSONAL}'] = $dbNameForm;
- $config['{ROOT_WEB}'] = $urlForm;
- $config['{ROOT_SYS}'] = $root_sys;
- $config['{URL_APPEND_PATH}'] = $urlAppendPath;
- $config['{PLATFORM_LANGUAGE}'] = $languageForm;
- $config['{SECURITY_KEY}'] = md5(uniqid(rand().time()));
- $config['{ENCRYPT_PASSWORD}'] = $encryptPassForm;
- $config['SESSION_LIFETIME'] = $session_lifetime;
- $config['{NEW_VERSION}'] = $new_version;
- $config['NEW_VERSION_STABLE'] = true_false($new_version_stable);
- foreach ($config as $key => $value) {
- $content = str_replace($key, $value, $content);
- }
- $fp = @ fopen($path, 'w');
- if (!$fp) {
- echo '<strong><font color="red">Your script doesn\'t have write access to the config directory</font></strong><br />
- <em>('.str_replace('\\', '/', realpath($path)).')</em><br /><br />
- You probably do not have write access on Chamilo root directory,
- i.e. you should <em>CHMOD 777</em> or <em>755</em> or <em>775</em>.<br /><br />
- Your problems can be related on two possible causes:<br />
- <ul>
- <li>Permission problems.<br />Try initially with <em>chmod -R 777</em> and increase restrictions gradually.</li>
- <li>PHP is running in <a href="http://www.php.net/manual/en/features.safe-mode.php" target="_blank">Safe-Mode</a>. If possible, try to switch it off.</li>
- </ul>
- <a href="http://forum.chamilo.org/" target="_blank">Read about this problem in Support Forum</a><br /><br />
- Please go back to step 5.
- <p><input type="submit" name="step5" value="< Back" /></p>
- </td></tr></table></form></body></html>';
- exit;
- }
- fwrite($fp, $content);
- fclose($fp);
- }
- function & get_language_folder_list() {
- static $result;
- if (!is_array($result)) {
- $result = array();
- $exceptions = array('.', '..', 'CVS', '.svn');
- $search = array('_latin', '_unicode', '_corporate', '_org' , '_KM', '_');
- $replace_with = array(' (Latin)', ' (unicode)', ' (corporate)', ' (org)', ' (KM)', ' ');
- $dirname = api_get_path(SYS_LANG_PATH);
- $handle = opendir($dirname);
- while ($entries = readdir($handle)) {
- if (in_array($entries, $exceptions)) {
- continue;
- }
- if (is_dir($dirname.$entries)) {
- $result[$entries] = ucwords(str_replace($search, $replace_with, $entries));
- }
- }
- closedir($handle);
- asort($result);
- }
- return $result;
- }
- function my_directory_to_array($directory) {
- $array_items = array();
- if ($handle = opendir($directory)) {
- while (false !== ($file = readdir($handle))) {
- if ($file != "." && $file != "..") {
- if (is_dir($directory. "/" . $file)) {
- $array_items = array_merge($array_items, my_directory_to_array($directory. '/' . $file));
- $file = $directory . "/" . $file;
- $array_items[] = preg_replace("/\/\//si", '/', $file);
- }
- }
- }
- closedir($handle);
- }
- return $array_items;
- }
- function get_config_param($param, $updatePath = '') {
- global $configFile, $updateFromConfigFile;
-
- if (is_array($configFile) && isset($configFile[$param])) {
- return $configFile[$param];
- }
- if (empty($updatePath) && !empty($_POST['updatePath'])) {
- $updatePath = $_POST['updatePath'];
- }
- if (empty($updatePath)) {
- $updatePath = api_get_path(SYS_PATH);
- }
- $updatePath = api_add_trailing_slash(str_replace('\\', '/', realpath($updatePath)));
- $updateFromInstalledVersionFile = '';
- if (empty($updateFromConfigFile)) {
-
-
- if (file_exists($updatePath.'main/inc/conf/configuration.php')) {
- $updateFromConfigFile = 'main/inc/conf/configuration.php';
- } elseif (file_exists($updatePath.'claroline/inc/conf/claro_main.conf.php')) {
- $updateFromConfigFile = 'claroline/inc/conf/claro_main.conf.php';
- } else {
-
- error_log('Chamilo Notice: Could not find previous config file at '.$updatePath.'main/inc/conf/configuration.php nor at '.$updatePath.'claroline/inc/conf/claro_main.conf.php in get_config_param(). Will start new config (in '.__FILE__.', line '.__LINE__.')', 0);
- return null;
- }
- }
- if (file_exists($updatePath.$updateFromConfigFile)) {
-
-
-
- $config_data_2 = array();
- if (file_exists($updatePath.$updateFromInstalledVersionFile)) {
- $config_data_2 = file_to_array($updatePath.$updateFromInstalledVersionFile);
- }
- $configFile = array();
- $config_data = file_to_array($updatePath.$updateFromConfigFile);
- $config_data = array_merge($config_data, $config_data_2);
- $val = '';
-
- foreach ($config_data as $php_statement) {
- if (strpos($php_statement, '=') !== false) {
-
-
-
-
- $php_statement = explode('=', $php_statement);
- $variable = trim($php_statement[0]);
- $value = $php_statement[1];
- if (substr($variable, 0, 1) == '$') {
-
-
- $variable = trim(str_replace('$', '', $variable));
-
- list($value) = explode(' //', $value);
-
- $value = substr(trim($value), 0, -1);
-
- $value = str_replace('\"', '"', preg_replace('/^"|"$/', '', $value));
- $value = str_replace('\'', '"', preg_replace('/^\'|\'$/', '', $value));
- if (strtolower($value) == 'true') {
-
- $value = 1;
- } elseif (strtolower($value) == 'false') {
-
- $value = 0;
- } else {
-
-
-
-
- $implode_string = ' ';
- if (!strstr($value, '." ".') && strstr($value, '.$')) {
-
- $value = str_replace('.$', '." ".$', $value);
- $implode_string = '';
- }
-
- $sub_strings = explode('." ".', $value);
-
- foreach ($sub_strings as $key => & $sub_string) {
- if (preg_match('/^\$[a-zA-Z_][a-zA-Z0-9_]*$/', $sub_string)) {
-
- $sub_string = get_config_param(str_replace('$', '', $sub_string));
- }
- }
-
- $value = implode($implode_string, $sub_strings);
- }
-
- $configFile[$variable] = $value;
- $a = explode("'", $variable);
- $key_tmp = $a[1];
- if ($key_tmp == $param) {
- $val = $value;
- }
- }
- }
- }
- }
-
- if ($param == 'dokeos_version') {
-
- $dokeos_version = $val;
- if (empty($dokeos_version)) {
-
- if (file_exists($updatePath.'main/inc/installedVersion.inc.php')) {
- $updateFromInstalledVersionFile = $updatePath.'main/inc/installedVersion.inc.php';
- require ($updateFromInstalledVersionFile);
- $stable = false;
- }
- }
- return $dokeos_version;
- } else {
- if (file_exists($updatePath.$updateFromConfigFile)) {
- return $val;
- } else {
- error_log('Config array could not be found in get_config_param()', 0);
- return null;
- }
- }
- }
- function get_config_param_from_db($host, $login, $pass, $db_name, $param = '') {
- Database::connect(array('server' => $host, 'username' => $login, 'password' => $pass));
- Database::query("set session sql_mode='';");
- Database::select_db($db_name);
- if (($res = Database::query("SELECT * FROM settings_current WHERE variable = '$param'")) !== false) {
- if (Database::num_rows($res) > 0) {
- $row = Database::fetch_array($res);
- return $row['selected_value'];
- }
- }
- return null;
- }
- function database_server_connect() {
- global $dbHostForm, $dbUsernameForm, $dbPassForm;
- if (($res = @Database::connect(array('server' => $dbHostForm, 'username' => $dbUsernameForm, 'password' => $dbPassForm))) === false) {
- $no = Database::errno();
- $msg = Database::error();
- echo '<hr />#'.$no.': '.$msg.'<hr />';
- echo get_lang('DBServerDoesntWorkOrLoginPassIsWrong').'.<br /><br />'.
- get_lang('PleaseCheckTheseValues').' :<br /><br />'.
- '<strong>'.get_lang('DBHost').'</strong> : '.$dbHostForm.'<br />'.
- '<strong>'.get_lang('DBLogin').'</strong> : '.$dbUsernameForm.'<br />'.
- '<strong>'.get_lang('DBPassword').'</strong> : '.$dbPassForm.'<br /><br />'.
- get_lang('PleaseGoBackToStep').' '. (defined('SYSTEM_INSTALLATION') ? '3' : '1').'.'.
- '<p><button type="submit" class="back" name="step'. (defined('SYSTEM_INSTALLATION') ? '3' : '1').'" value="< '.get_lang('Back').'">'.get_lang('Back').'</button></p>'.
- '</td></tr></table></form></body></html>';
- exit ();
- }
- @Database::query("set session sql_mode='';");
- }
- function database_exists($database_name) {
- $select_database = Database::select_db($database_name);
- $show_database = false;
- $result = @Database::query("SHOW DATABASES LIKE '".Database::escape_string($database_name)."' ");
- if (Database::num_rows($result)) {
- $show_database = true;
- }
- return $select_database || $show_database;
- }
- function test_db_connect($dbHostForm, $dbUsernameForm, $dbPassForm, $singleDbForm, $dbPrefixForm, $dbNameForm) {
- $dbConnect = -1;
-
- if (@Database::connect(array('server' => $dbHostForm, 'username' => $dbUsernameForm, 'password' => $dbPassForm)) !== false) {
-
-
-
-
-
- $dbConnect = 1;
-
-
-
-
-
- } else {
- $dbConnect = -1;
- }
- return $dbConnect;
- }
- function fill_track_countries_table($track_countries_table) {
- $file_path = dirname(__FILE__).'/'.COUNTRY_DATA_FILENAME;
- $countries = file($file_path);
- $add_country_sql = "INSERT INTO $track_countries_table (id, code, country, counter) VALUES ";
- foreach ($countries as $line) {
- $elems = split(',',$line);
- $add_country_sql .= '('.intval($elems[0]).',\''.Database::escape_string($elems[1]).'\',\''.Database::escape_string($elems[2]).'\','.intval($elems[3]).'),';
- }
- $add_country_sql = substr($add_country_sql,0,-1);
-
- @ Database::query($add_country_sql);
- }
- function load_main_database($installation_settings, $db_script = '') {
- if (!empty($db_script)) {
- if (file_exists($db_script)) {
- $sql_text = file_get_contents($db_script);
- }
- } else {
- $db_script = api_get_path(SYS_CODE_PATH).'install/'.SYSTEM_MAIN_DATABASE_FILE;
- if (file_exists($db_script)) {
- $sql_text = file_get_contents($db_script);
- }
- }
-
- foreach ($installation_settings as $key => $value) {
- $sql_text = str_replace($key, Database::escape_string($value), $sql_text);
- }
-
- $sql_instructions = array();
- $success = split_sql_file($sql_instructions, $sql_text);
-
- $count = count($sql_instructions);
- for ($i = 0; $i < $count; $i++) {
- $this_sql_query = $sql_instructions[$i]['query'];
- Database::query($this_sql_query);
- }
- }
- function load_database_script($db_script) {
- $db_script = api_get_path(SYS_CODE_PATH).'install/'.$db_script;
- if (file_exists($db_script)) {
- $sql_text = file_get_contents($db_script);
- }
-
- $sql_instructions = array();
- $success = split_sql_file($sql_instructions, $sql_text);
-
- $count = count($sql_instructions);
- for ($i = 0; $i < $count; $i++) {
- $this_sql_query = $sql_instructions[$i]['query'];
- Database::query($this_sql_query);
- }
- }
- function split_sql_file(&$ret, $sql) {
-
-
- $sql = rtrim($sql, "\n\r");
- $sql_len = strlen($sql);
- $char = '';
- $string_start = '';
- $in_string = false;
- $nothing = true;
- $time0 = time();
- for ($i = 0; $i < $sql_len; ++$i) {
- $char = $sql[$i];
-
-
- if ($in_string) {
- for (;;) {
- $i = strpos($sql, $string_start, $i);
-
-
- if (!$i) {
- $ret[] = $sql;
- return true;
- }
-
-
- elseif ($string_start == '`' || $sql[$i - 1] != '\\') {
- $string_start = '';
- $in_string = false;
- break;
- }
-
- else {
-
- $j = 2;
- $escaped_backslash = false;
- while ($i - $j > 0 && $sql[$i - $j] == '\\') {
- $escaped_backslash = !$escaped_backslash;
- $j++;
- }
-
-
- if ($escaped_backslash) {
- $string_start = '';
- $in_string = false;
- break;
- }
-
- else {
- $i++;
- }
- }
- }
- }
-
- elseif (($char == '-' && $sql_len > $i + 2 && $sql[$i + 1] == '-' && $sql[$i + 2] <= ' ') || $char == '#' || ($char == '/' && $sql_len > $i + 1 && $sql[$i + 1] == '*')) {
- $i = strpos($sql, $char == '/' ? '*/' : "\n", $i);
-
- if ($i === false) {
- break;
- }
- if ($char == '/') $i++;
- }
-
- elseif ($char == ';') {
-
- $ret[] = array('query' => substr($sql, 0, $i), 'empty' => $nothing);
- $nothing = true;
- $sql = ltrim(substr($sql, min($i + 1, $sql_len)));
- $sql_len = strlen($sql);
- if ($sql_len) {
- $i = -1;
- } else {
-
- return true;
- }
- }
-
- elseif (($char == '"') || ($char == '\'') || ($char == '`')) {
- $in_string = true;
- $nothing = false;
- $string_start = $char;
- }
- elseif ($nothing) {
- $nothing = false;
- }
-
- $time1 = time();
- if ($time1 >= $time0 + 30) {
- $time0 = $time1;
- header('X-pmaPing: Pong');
- }
- }
-
- if (!empty($sql) && preg_match('@[^[:space:]]+@', $sql)) {
- $ret[] = array('query' => $sql, 'empty' => $nothing);
- }
- return true;
- }
- function get_sql_file_contents($file, $section, $print_errors = true) {
-
- if (empty($file)) {
- $error = "Missing name of file to parse in get_sql_file_contents()";
- if ($print_errors) echo $error;
- return false;
- }
- if (!in_array($section, array('main', 'user', 'stats', 'scorm', 'course'))) {
- $error = "Section '$section' is not authorized in get_sql_file_contents()";
- if ($print_errors) echo $error;
- return false;
- }
- $filepath = getcwd().'/'.$file;
- if (!is_file($filepath) or !is_readable($filepath)) {
- $error = "File $filepath not found or not readable in get_sql_file_contents()";
- if ($print_errors) echo $error;
- return false;
- }
-
-
- $file_contents = file($filepath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
- if (!is_array($file_contents) or count($file_contents) < 1) {
- $error = "File $filepath looks empty in get_sql_file_contents()";
- if ($print_errors) echo $error;
- return false;
- }
-
- $section_contents = array();
- $record = false;
- foreach ($file_contents as $index => $line) {
- if (substr($line, 0, 2) == '--') {
-
- $result = array();
- if (preg_match('/^-- xx([A-Z]*)xx/', $line, $result)) {
- if ($result[1] == strtoupper($section)) {
-
- $record = true;
- } else {
-
- if ($record) {
- break;
- }
- $record = false;
- }
- }
- } else {
- if ($record) {
- if (!empty($line)) {
- $section_contents[] = $line;
- }
- }
- }
- }
-
- return $section_contents;
- }
- function add_document_180($_course, $path, $filetype, $filesize, $title, $comment = null) {
- $table_document = Database::get_course_table(TABLE_DOCUMENT, $_course['dbName']);
- $sql = "INSERT INTO $table_document
- (`path`,`filetype`,`size`,`title`, `comment`)
- VALUES ('$path','$filetype','$filesize','".
- Database::escape_string($title)."', '$comment')";
- if (Database::query($sql)) {
-
- return Database::insert_id();
- } else {
-
- return false;
- }
- }
- function step_active($param) {
- global $current_step;
- if ($param == $current_step) {
- echo 'class="current_step" ';
- }
- }
- function display_step_sequence() {
- global $current_step;
- return get_lang('Step'.$current_step).' – ';
- }
- function display_language_selection_box($name = 'language_list', $default_language = 'english') {
-
- $language_list = get_language_folder_list();
-
-
- if (!is_array($language_list) || empty($language_list)) {
- $language_list = array('english' => 'English');
- }
-
-
-
- if (!array_key_exists($default_language, $language_list)) {
- if (array_key_exists('english', $language_list)) {
- $default_language = 'english';
- } else {
- $language_keys = array_keys($language_list);
- $default_language = $language_keys[0];
- }
- }
-
- echo "\t\t<select name=\"$name\">\n";
- foreach ($language_list as $key => $value) {
- if ($key == $default_language) {
- $option_end = ' selected="selected">';
- } else {
- $option_end = '>';
- }
- echo "\t\t\t<option value=\"$key\"$option_end";
- echo $value;
- echo "</option>\n";
- }
- echo "\t\t</select>\n";
- }
- function display_language_selection() { ?>
- <h2><?php get_lang('WelcomeToTheDokeosInstaller'); ?></h2>
- <div class="RequirementHeading">
- <h2><?php echo display_step_sequence(); ?><?php echo get_lang('InstallationLanguage'); ?></h2>
- <p><?php echo get_lang('PleaseSelectInstallationProcessLanguage'); ?>:</p>
- <form id="lang_form" method="post" action="<?php echo api_get_self(); ?>">
- <?php display_language_selection_box('language_list', api_get_interface_language()); ?>
- <button type="submit" name="step1" class="next" value="<?php echo get_lang('Next'); ?>"><?php echo get_lang('Next'); ?></button>
- <input type="hidden" name="is_executable" id="is_executable" value="-" />
- </form>
- </div>
- <?php
- }
- /**
- * This function displays the requirements for installing Chamilo.
- *
- * @param string $installType
- * @param boolean $badUpdatePath
- * @param string The updatePath given (if given)
- * @param array $update_from_version_8 The different subversions from version 1.8
- * @param array $update_from_version_6 The different subversions from version 1.6
- *
- * @author unknow
- * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
- */
- function display_requirements($installType, $badUpdatePath, $updatePath = '', $update_from_version_8 = array(), $update_from_version_6 = array()) {
- echo '<div class="RequirementHeading"><h2>'.display_step_sequence().get_lang('Requirements')."</h2></div>";
- echo '<div class="RequirementText">';
- echo '<strong>'.get_lang('ReadThoroughly').'</strong><br />';
- echo get_lang('MoreDetails').' <a href="../../documentation/installation_guide.html" target="_blank">'.get_lang('ReadTheInstallGuide').'</a>.<br />'."\n";
-
- if ($installType == 'update') {
- echo get_lang('IfYouPlanToUpgradeFromOlderVersionYouMightWantToHaveAlookAtTheChangelog').'<br />';
- }
- echo '</div>';
-
- echo '<div class="RequirementHeading"><h2>'.get_lang('ServerRequirements').'</h2>';
- echo '<div class="RequirementText">'.get_lang('ServerRequirementsInfo').'</div>';
- echo '<div class="RequirementContent">';
- echo '<table class="requirements">
- <tr>
- <td class="requirements-item">'.get_lang('PHPVersion').'>= 5.0</td>
- <td class="requirements-value">';
- if (phpversion() < '5.0') {
- echo '<strong><font color="red">'.get_lang('PHPVersionError').'</font></strong>';
- } else {
- echo '<strong><font color="green">'.get_lang('PHPVersionOK'). ' '.phpversion().'</font></strong>';
- }
- echo ' </td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.session.php" target="_blank">Session</a> '.get_lang('support').'</td>
- <td class="requirements-value">'.check_extension('session', get_lang('Yes'), get_lang('ExtensionSessionsNotAvailable')).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.mysql.php" target="_blank">MySQL</a> '.get_lang('support').'</td>
- <td class="requirements-value">'.check_extension('mysql', get_lang('Yes'), get_lang('ExtensionMySQLNotAvailable')).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.zlib.php" target="_blank">Zlib</a> '.get_lang('support').'</td>
- <td class="requirements-value">'.check_extension('zlib', get_lang('Yes'), get_lang('ExtensionZlibNotAvailable')).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.pcre.php" target="_blank">Perl-compatible regular expressions</a> '.get_lang('support').'</td>
- <td class="requirements-value">'.check_extension('pcre', get_lang('Yes'), get_lang('ExtensionPCRENotAvailable')).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.xml.php" target="_blank">XML</a> '.get_lang('support').'</td>
- <td class="requirements-value">'.check_extension('xml', get_lang('Yes'), get_lang('No')).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.mbstring.php" target="_blank">Multibyte string</a> '.get_lang('support').' ('.get_lang('Optional').')</td>
- <td class="requirements-value">'.check_extension('mbstring', get_lang('Yes'), get_lang('ExtensionMBStringNotAvailable'), true).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.iconv.php" target="_blank">Iconv</a> '.get_lang('support').' ('.get_lang('Optional').')</td>
- <td class="requirements-value">'.check_extension('iconv', get_lang('Yes'), get_lang('No'), true).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.intl.php" target="_blank">Internationalization</a> '.get_lang('support').' ('.get_lang('Optional').')</td>
- <td class="requirements-value">'.check_extension('intl', get_lang('Yes'), get_lang('No'), true).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.image.php" target="_blank">GD</a> '.get_lang('support').'</td>
- <td class="requirements-value">'.check_extension('gd', get_lang('Yes'), get_lang('ExtensionGDNotAvailable')).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.json.php" target="_blank">JSON</a> '.get_lang('support').'</td>
- <td class="requirements-value">'.check_extension('json', get_lang('Yes'), get_lang('No')).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/en/book.ldap.php" target="_blank">LDAP</a> '.get_lang('support').' ('.get_lang('Optional').')</td>
- <td class="requirements-value">'.check_extension('ldap', get_lang('Yes'), get_lang('ExtensionLDAPNotAvailable'), true).'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://xapian.org/" target="_blank">Xapian</a> '.get_lang('support').' ('.get_lang('Optional').')</td>
- <td class="requirements-value">'.check_extension('xapian', get_lang('Yes'), get_lang('No'), true).'</td>
- </tr>
- </table>';
- echo ' </div>';
- echo '</div>';
-
-
-
- echo '<div class="RequirementHeading"><h2>'.get_lang('RecommendedSettings').'</h2>';
- echo '<div class="RequirementText">'.get_lang('RecommendedSettingsInfo').'</div>';
- echo '<div class="RequirementContent">';
- echo '<table class="requirements">
- <tr>
- <th>'.get_lang('Setting').'</th>
- <th>'.get_lang('Recommended').'</th>
- <th>'.get_lang('Actual').'</th>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/features.safe-mode.php">Safe Mode</a></td>
- <td class="requirements-recommended">OFF</td>
- <td class="requirements-value">'.check_php_setting('safe_mode','OFF').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ref.errorfunc.php#ini.display-errors">Display Errors</a></td>
- <td class="requirements-recommended">OFF</td>
- <td class="requirements-value">'.check_php_setting('display_errors','OFF').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ini.core.php#ini.file-uploads">File Uploads</a></td>
- <td class="requirements-recommended">ON</td>
- <td class="requirements-value">'.check_php_setting('file_uploads','ON').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ref.info.php#ini.magic-quotes-gpc">Magic Quotes GPC</a></td>
- <td class="requirements-recommended">OFF</td>
- <td class="requirements-value">'.check_php_setting('magic_quotes_gpc','OFF').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ref.info.php#ini.magic-quotes-runtime">Magic Quotes Runtime</a></td>
- <td class="requirements-recommended">OFF</td>
- <td class="requirements-value">'.check_php_setting('magic_quotes_runtime','OFF').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/security.globals.php">Register Globals</a></td>
- <td class="requirements-recommended">OFF</td>
- <td class="requirements-value">'.check_php_setting('register_globals','OFF').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ref.session.php#ini.session.auto-start">Session auto start</a></td>
- <td class="requirements-recommended">OFF</td>
- <td class="requirements-value">'.check_php_setting('session.auto_start','OFF').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ini.core.php#ini.short-open-tag">Short Open Tag</a></td>
- <td class="requirements-recommended">OFF</td>
- <td class="requirements-value">'.check_php_setting('short_open_tag','OFF').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly">Cookie HTTP Only</a></td>
- <td class="requirements-recommended">ON</td>
- <td class="requirements-value">'.check_php_setting('session.cookie_httponly','ON').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ini.core.php#ini.upload-max-filesize">Maximum upload file size</a></td>
- <td class="requirements-recommended">10M-100M</td>
- <td class="requirements-value">'.ini_get('upload_max_filesize').'</td>
- </tr>
- <tr>
- <td class="requirements-item"><a href="http://php.net/manual/ini.core.php#ini.post-max-size">Maximum post size</a></td>
- <td class="requirements-recommended">10M-100M</td>
- <td class="requirements-value">'.ini_get('post_max_size').'</td>
- </tr>
- </table>';
- echo ' </div>';
- echo '</div>';
-
- echo '<div class="RequirementHeading"><h2>'.get_lang('DirectoryAndFilePermissions').'</h2>';
- echo '<div class="RequirementText">'.get_lang('DirectoryAndFilePermissionsInfo').'</div>';
- echo '<div class="RequirementContent">';
- echo '<table class="requirements">
- <tr>
- <td class="requirements-item">chamilo/main/inc/conf/</td>
- <td class="requirements-value">'.check_writable('inc/conf/').'</td>
- </tr>
- <tr>
- <td class="requirements-item">chamilo/main/upload/users/</td>
- <td class="requirements-value">'.check_writable('upload/users/').'</td>
- </tr>
- <tr>
- <td class="requirements-item">chamilo/main/default_course_document/images/</td>
- <td class="requirements-value">'.check_writable('default_course_document/images/').'</td>
- </tr>
- <tr>
- <td class="requirements-item">chamilo/archive/</td>
- <td class="requirements-value">'.check_writable('../archive/').'</td>
- </tr>
- <tr>
- <td class="requirements-item">chamilo/courses/</td>
- <td class="requirements-value">'.check_writable('../courses/').'</td>
- </tr>
- <tr>
- <td class="requirements-item">chamilo/home/</td>
- <td class="requirements-value">'.check_writable('../home/').'</td>
- </tr>
- <tr>
- <td class="requirements-item">chamilo/main/css/</td>
- <td class="requirements-value">'.check_writable('css/', true).' ('.get_lang('SuggestionOnlyToEnableCSSUploadFeature').')</td>
- </tr>
- <tr>
- <td class="requirements-item">chamilo/main/lang/</td>
- <td class="requirements-value">'.check_writable('lang/', true).' ('.get_lang('SuggestionOnlyToEnableSubLanguageFeature').')</td>
- </tr>'.
-
-
-
-
-
-
-
-
-
-
- '';
- echo ' </table>';
- echo ' </div>';
- echo '</div>';
- if ($installType == 'update' && (empty($updatePath) || $badUpdatePath)) {
- if ($badUpdatePath) { ?>
- <div class="error-message">
- <?php echo get_lang('Error'); ?>!<br />
- Chamilo <?php echo (isset($_POST['step2_update_6']) ? implode('|', $update_from_version_6) : implode('|', $update_from_version_8)).' '.get_lang('HasNotBeenFoundInThatDir'); ?>.
- </div>
- <?php }
- else {
- echo '<br />';
- }
- ?>
- <table border="0" cellpadding="5" align="center">
- <tr>
- <td><?php echo get_lang('OldVersionRootPath'); ?>:</td>
- <td><input type="text" name="updatePath" size="50" value="<?php echo ($badUpdatePath && !empty($updatePath)) ? htmlentities($updatePath) : api_get_path(SYS_SERVER_ROOT_PATH).'old_version/'; ?>" /></td>
- </tr>
- <tr>
- <td colspan="2" align="center">
- <button type="submit" class="back" name="step1" value="< <?php echo get_lang('Back'); ?>" ><?php echo get_lang('Back'); ?></button>
- <input type="hidden" name="is_executable" id="is_executable" value="-" />
- <button type="submit" class="next" name="<?php echo (isset($_POST['step2_update_6']) ? 'step2_update_6' : 'step2_update_8'); ?>" value="<?php echo get_lang('Next'); ?> >" ><?php echo get_lang('Next'); ?></button>
- </td>
- </tr>
- </table>
- <?php
- } else {
- $error = false;
-
- $perm = api_get_permissions_for_new_directories();
- $perm_file = api_get_permissions_for_new_files();
- $notwritable = array();
- $curdir = getcwd();
- $checked_writable = api_get_path(CONFIGURATION_PATH);
- if (!is_writable($checked_writable)) {
- $notwritable[] = $checked_writable;
- @chmod($checked_writable, $perm);
- }
- $checked_writable = api_get_path(SYS_CODE_PATH).'upload/users/';
- if (!is_writable($checked_writable)) {
- $notwritable[] = $checked_writable;
- @chmod($checked_writable, $perm);
- }
- $checked_writable = api_get_path(SYS_CODE_PATH).'default_course_document/images/';
- if (!is_writable($checked_writable)) {
- $notwritable[] = $checked_writable;
- @chmod($checked_writable, $perm);
- }
- $checked_writable = api_get_path(SYS_ARCHIVE_PATH);
- if (!is_writable($checked_writable)) {
- $notwritable[] = $checked_writable;
- @chmod($checked_writable, $perm);
- }
- $checked_writable = api_get_path(SYS_COURSE_PATH);
- if (!is_writable($checked_writable)) {
- $notwritable[] = $checked_writable;
- @chmod($checked_writable, $perm);
- }
- $checked_writable = api_get_path(SYS_PATH).'home/';
- if (!is_writable($checked_writable)) {
- $notwritable[] = realpath($checked_writable);
- @chmod($checked_writable, $perm);
- }
- $checked_writable = api_get_path(CONFIGURATION_PATH).'configuration.php';
- if (file_exists($checked_writable) && !is_writable($checked_writable)) {
- $notwritable[] = $checked_writable;
- @chmod($checked_writable, $perm_file);
- }
-
-
- if (count($notwritable) > 0) {
- $error = true;
- echo '<div class="error-message">';
- echo '<center><h3>'.get_lang('Warning').'</h3></center>';
- printf(get_lang('NoWritePermissionPleaseReadInstallGuide'), '</font>
- <a href="../../documentation/installation_guide.html" target="blank">', '</a> <font color="red">');
- echo '</div>';
-
- echo '<ul>';
- foreach ($notwritable as $value) {
- echo '<li>'.$value.'</li>';
- }
- echo '</ul>';
-
- }
-
- elseif (file_exists(api_get_path(CONFIGURATION_PATH).'configuration.php')) {
- echo '<div class="warning-message"><h4><center>';
- echo get_lang('WarningExistingDokeosInstallationDetected');
- echo '</center></h4></div>';
- }
-
- ?>
- <p align="center" style="padding-top:15px">
- <button type="submit" name="step1" class="back" onclick="javascript: window.location='index.php'; return false;" value="< <?php echo get_lang('Previous'); ?>" ><?php echo get_lang('Previous'); ?></button>
- <button type="submit" name="step2_install" class="add" value="<?php echo get_lang("NewInstallation"); ?>" <?php if ($error) echo 'disabled="disabled"'; ?> ><?php echo get_lang('NewInstallation'); ?></button>
- <input type="hidden" name="is_executable" id="is_executable" value="-" />
- <?php
- // Real code
- echo '<button type="submit" class="save" name="step2_update_8" value="Upgrade from Dokeos 1.8.x"';
- if ($error) echo ' disabled="disabled"';
- // Temporary code for alpha version, disabling upgrade
- //echo '<input type="submit" name="step2_update" value="Upgrading is not possible in this beta version"';
- //echo ' disabled="disabled"';
- //end temp code
- echo ' >'.get_lang('UpgradeFromDokeos18x').'</button>';
- echo '<button type="submit" class="save" name="step2_update_6" value="Upgrade from Dokeos 1.6.x"';
- if ($error) echo ' disabled="disabled"';
- echo ' >'.get_lang('UpgradeFromDokeos16x').'</button>';
- echo '</p>';
- }
- }
- /**
- * Displays the license (GNU GPL) as step 2, with
- * - an "I accept" button named step3 to proceed to step 3;
- * - a "Back" button named step1 to go back to the first step.
- */
- function display_license_agreement() {
- echo '<div class="RequirementHeading"><h2>'.display_step_sequence().get_lang('Licence').'</h2>';
- echo '<p>'.get_lang('DokeosLicenseInfo').'</p>';
- echo '<p><a href="../../documentation/license.html" target="_blank">'.get_lang('PrintVers').'</a></p>';
- echo '</div>';
- ?>
- <table>
- <tr><td>
- <p style="font-size:90%">
- <textarea cols="90" rows="7" readonly>
- <?php echo api_htmlentities(@file_get_contents(api_get_path(SYS_PATH).'documentation/license.txt')); ?>
- </textarea></p>
- </td>
- </tr>
- <tr><td>
- <input type="checkbox" name="accept" id="accept_licence" value="1" />
- <label for="accept_licence"><?php echo get_lang('IAccept'); ?></label>
- </td>
- </tr>
- <tr><td><p style="color:#666"><br /><?php echo get_lang('DokeosArtLicense'); ?></p></td></tr>
- <tr>
- <td>
- <table width="100%">
- <tr>
- <td></td>
- <td align="center">
- <button type="submit" class="back" name="step1" value="< <?php echo get_lang('Previous'); ?>" ><?php echo get_lang('Previous'); ?></button>
- <input type="hidden" name="is_executable" id="is_executable" value="-" />
- <button type="submit" class="next" name="step3" onclick="javascript: if(!document.getElementById('accept_licence').checked) { alert('<?php echo get_lang('YouMustAcceptLicence')?>');return false;}" value="<?php echo get_lang('Next'); ?> >" ><?php echo get_lang('Next'); ?></button>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <!-- Contact information form -->
- <div>
-
- <a href="javascript:
- <span id="img_plus_and_minus"> <img src="<?php echo api_get_path(WEB_IMG_PATH) ?>div_hide.gif" alt="<?php echo get_lang('Hide') ?>" title="<?php echo get_lang('Hide')?>" style ="vertical-align:middle" /> <?php echo get_lang('ContactInformation') ?></span>
- </a>
-
- </div>
-
- <div id="id_contact_form" style="display:block">
- <div class="normal-message"><?php echo get_lang('ContactInformationDescription') ?></div>
- <div id="contact_registration">
- <p><?php echo get_contact_registration_form() ?></p><br />
- </div>
- </div>
- <?php
- }
- /**
- * Get contact registration form
- */
- function get_contact_registration_form() {
- $html ='
- <form>
- <fieldset style="width:95%;padding:15px;border:1pt solid #eee">
- <div id="div_sent_information"></div>
-
- <div class="row">
- <div class="label"><span class="form_required">*</span>'.get_lang('Name').'</div>
- <div class="formw"><input id="person_name" type="text" name="person_name" size="30" /></div>
- </div>
- <div class="row">
- <div class="label"><span class="form_required">*</span>'.get_lang('Email').'</div>
- <div class="formw"><input id="person_name" type="text" name="person_email" size="30" /></div>
- </div>
- <div class="row">
- <div class="label"><span class="form_required">*</span>'.get_lang('CompanyName').'</div>
- <div class="formw"><input id="company_name" type="text" name="company_name" size="30" /></div>
- </div>
- <div class="row">
- <div class="label"><span class="form_required">*</span>'.get_lang('CompanyActivity').'</div>
- <div class="formw">
- <select name="company_activity" id="company_activity" >
- <option value="">--- '.get_lang('SelectOne').' ---</option>
- <Option value="Advertising/Marketing/PR">Advertising/Marketing/PR</Option><Option value="Agriculture/Forestry">Agriculture/Forestry</Option>
- <Option value="Architecture">Architecture</Option><Option value="Banking/Finance">Banking/Finance</Option>
- <Option value="Biotech/Pharmaceuticals">Biotech/Pharmaceuticals</Option><Option value="Business Equipment">Business Equipment</Option>
- <Option value="Business Services">Business Services</Option><Option value="Construction">Construction</Option>
- <Option value="Consulting/Research">Consulting/Research</Option><Option value="Education">Education</Option>
- <Option value="Engineering">Engineering</Option><Option value="Environmental">Environmental</Option>
- <Option value="Government">Government</Option><Option value="Healthcare">Health Care</Option>
- <Option value="Hospitality/Lodging/Travel">Hospitality/Lodging/Travel</Option><Option value="Insurance">Insurance</Option>
- <Option value="Legal">Legal</Option><Option value="Manufacturing">Manufacturing</Option>
- <Option value="Media/Entertainment">Media/Entertainment</Option><Option value="Mortgage">Mortgage</Option>
- <Option value="Non-Profit">Non-Profit</Option><Option value="Real Estate">Real Estate</Option>
- <Option value="Restaurant">Restaurant</Option><Option value="Retail">Retail</Option>
- <Option value="Shipping/Transportation">Shipping/Transportation</Option>
- <Option value="Technology">Technology</Option><Option value="Telecommunications">Telecommunications</Option>
- <Option value="Other">Other</Option>
- </select>
- </div>
- </div>
- <div class="row">
- <div class="label"><span class="form_required">*</span>'.get_lang('PersonRole').'</div>
- <div class="formw">
- <select name="person_role" id="person_role" >
- <option value="">--- '.get_lang('SelectOne').' ---</option>
- <Option value="Administration">Administration</Option><Option value="CEO/President/ Owner">CEO/President/ Owner</Option>
- <Option value="CFO">CFO</Option><Option value="CIO/CTO">CIO/CTO</Option>
- <Option value="Consultant">Consultant</Option><Option value="Customer Service">Customer Service</Option>
- <Option value="Engineer/Programmer">Engineer/Programmer</Option><Option value="Facilities/Operations">Facilities/Operations</Option>
- <Option value="Finance/ Accounting Manager">Finance/ Accounting Manager</Option><Option value="Finance/ Accounting Staff">Finance/ Accounting Staff</Option>
- <Option value="General Manager">General Manager</Option><Option value="Human Resources">Human Resources</Option>
- <Option value="IS/IT Management">IS/IT Management</Option><Option value="IS/ IT Staff">IS/ IT Staff</Option>
- <Option value="Marketing Manager">Marketing Manager</Option><Option value="Marketing Staff">Marketing Staff</Option>
- <Option value="Partner/Principal">Partner/Principal</Option><Option value="Purchasing Manager">Purchasing Manager</Option>
- <Option value="Sales/ Business Dev. Manager">Sales/ Business Dev. Manager</Option><Option value="Sales/ Business Dev.">Sales/ Business Dev.</Option>
- <Option value="Vice President/Senior Manager">Vice President/Senior Manager</Option><Option value="Other">Other</Option>
- </select>
- </div>
- </div>
-
- <div class="row">
- <div class="label"><span class="form_required">*</span>'.get_lang('CompanyCountry').'</div>
- <div class="formw">'.get_countries_list_from_array(true).'</div>
- </div>
- <div class="row">
- <div class="label">'.get_lang('CompanyCity').'</div>
- <div class="formw">
- <input type="text" id="company_city" name="company_city" size="30" />
- </div>
- </div>
- <div class="row">
- <div class="label">'.get_lang('WhichLanguageWouldYouLikeToUseWhenContactingYou').'</div>
- <div class="formw">
- <select id="language" name="language">
- <option value="bulgarian">Bulgarian</option>
- <option value="indonesian">Bahasa Indonesia</option>
- <option value="bosnian">Bosanski</option>
- <option value="german">Deutsch</option>
- <option selected="selected" value="english">English</option>
- <option value="spanish">Spanish</option>
- <option value="french">Français</option>
- <option value="italian">Italian</option>
- <option value="hungarian">Magyar</option>
- <option value="dutch">Nederlands</option>
- <option value="brazilian">Português do Brasil</option>
- <option value="portuguese">Português europeu</option>
- <option value="slovenian">Slovenčina</option>
- </select>
- </div>
- </div>
-
- <div class="row">
- <div class="label">'.get_lang('HaveYouThePowerToTakeFinancialDecisions').'</div>
- <div class="formw">
- <input type="radio" name="financial_decision" id="financial_decision1" value="1" checked />'.get_lang('Yes').'
- <input type="radio" name="financial_decision" id="financial_decision2" value="0" />'.get_lang('No').'
- </div>
- </div>
- <div class="clear"></div>
- <div class="row">
- <div class="label"> </div>
- <div class="formw"><button type="button" class="save" onclick="javascript:send_contact_information();" value="'.get_lang('SendInformation').'" >'.get_lang('SendInformation').'</button></div>
- </div>
- <div class="row">
- <div class="label"> </div>
- <div class="formw"><span class="form_required">*</span><small>'.get_lang('FieldRequired').'</small></div>
- </div>
- </fieldset></form>';
- return $html;
- }
- function display_database_parameter($install_type, $parameter_name, $form_field_name, $parameter_value, $extra_notice, $display_when_update = true, $tr_attribute = '') {
- echo "<tr ".$tr_attribute.">";
- echo "<td>$parameter_name </td>";
- if ($install_type == INSTALL_TYPE_UPDATE && $display_when_update) {
- echo '<td><input type="hidden" name="'.$form_field_name.'" id="'.$form_field_name.'" value="'.api_htmlentities($parameter_value).'" />'.$parameter_value."</td>";
- } else {
- $inputtype = $form_field_name == 'dbPassForm' ? 'password' : 'text';
-
- $maxlength = $form_field_name == 'dbPrefixForm' ? '15' : MAX_FORM_FIELD_LENGTH;
- if ($install_type == INSTALL_TYPE_UPDATE) {
- echo '<input type="hidden" name="'.$form_field_name.'" id="'.$form_field_name.'" value="'.api_htmlentities($parameter_value).'" />';
- echo '<td>'.api_htmlentities($parameter_value)."</td>";
-
- } else {
- echo '<td><input type="'.$inputtype.'" size="'.DATABASE_FORM_FIELD_DISPLAY_LENGTH.'" maxlength="'.$maxlength.'" name="'.$form_field_name.'" id="'.$form_field_name.'" value="'.api_htmlentities($parameter_value).'" />'."</td>";
- echo "<td>$extra_notice</td>";
- }
-
- }
- echo "</tr>";
- }
- function display_database_settings_form($installType, $dbHostForm, $dbUsernameForm, $dbPassForm, $dbPrefixForm, $enableTrackingForm, $singleDbForm, $dbNameForm, $dbStatsForm, $dbScormForm, $dbUserForm) {
- if ($installType == 'update') {
- global $_configuration, $update_from_version_6;
- if (in_array($_POST['old_version'], $update_from_version_6)) {
- $dbHostForm = get_config_param('dbHost');
- $dbUsernameForm = get_config_param('dbLogin');
- $dbPassForm = get_config_param('dbPass');
- $dbPrefixForm = get_config_param('dbNamePrefix');
- $enableTrackingForm = get_config_param('is_trackingEnabled');
- $singleDbForm = get_config_param('singleDbEnabled');
- $dbNameForm = get_config_param('mainDbName');
- $dbStatsForm = get_config_param('statsDbName');
- $dbScormForm = get_config_param('scormDbName');
- $dbUserForm = get_config_param('user_personal_database');
- $dbScormExists = true;
- } else {
- $dbHostForm = $_configuration['db_host'];
- $dbUsernameForm = $_configuration['db_user'];
- $dbPassForm = $_configuration['db_password'];
- $dbPrefixForm = $_configuration['db_prefix'];
- $enableTrackingForm = $_configuration['tracking_enabled'];
- $singleDbForm = $_configuration['single_database'];
- $dbNameForm = $_configuration['main_database'];
- $dbStatsForm = $_configuration['statistics_database'];
- $dbScormForm = $_configuration['scorm_database'];
- $dbUserForm = $_configuration['user_personal_database'];
- $dbScormExists = true;
- }
- if (empty($dbScormForm)) {
- if ($singleDbForm) {
- $dbScormForm = $dbNameForm;
- } else {
- $dbScormForm = $dbPrefixForm.'scorm';
- $dbScormExists = false;
- }
- }
- if (empty($dbUserForm)) {
- $dbUserForm = $singleDbForm ? $dbNameForm : $dbPrefixForm.'chamilo_user';
- }
- echo '<div class="RequirementHeading"><h2>' . display_step_sequence() .get_lang('DBSetting') . '</h2></div>';
- echo '<div class="RequirementContent">';
- echo get_lang('DBSettingUpgradeIntro');
- echo '</div>';
- } else {
- if (empty($dbPrefixForm)) {
- $dbPrefixForm = '';
- }
- echo '<div class="RequirementHeading"><h2>' . display_step_sequence() .get_lang('DBSetting') . '</h2></div>';
- echo '<div class="RequirementContent">';
- echo get_lang('DBSettingIntro');
- echo '</div>';
- }
- ?>
- </td>
- </tr>
- <tr>
- <td>
- <table class="data_table_no_border">
- <tr>
- <td width="40%"><?php echo get_lang('DBHost'); ?> </td>
- <?php if ($installType == 'update'): ?>
- <td width="30%"><input type="hidden" name="dbHostForm" value="<?php echo htmlentities($dbHostForm); ?>" /><?php echo $dbHostForm; ?></td>
- <td width="30%"> </td>
- <?php else: ?>
- <td width="30%"><input type="text" size="25" maxlength="50" name="dbHostForm" value="<?php echo htmlentities($dbHostForm); ?>" /></td>
- <td width="30%"><?php echo get_lang('EG').' localhost'; ?></td>
- <?php endif; ?>
- </tr>
- <tr>
- <?php
- //database user username
- $example_login = get_lang('EG').' root';
- display_database_parameter($installType, get_lang('DBLogin'), 'dbUsernameForm', $dbUsernameForm, $example_login);
- //database user password
- $example_password = get_lang('EG').' '.api_generate_password();
- display_database_parameter($installType, get_lang('DBPassword'), 'dbPassForm', $dbPassForm, $example_password);
- //Fields for the four standard Chamilo databases
- if ($installType != INSTALL_TYPE_UPDATE) {
-
- }
- ?>
- <input type="hidden" name="enableTrackingForm" value="1" />
- <?php
-
- $style = '';
- if ($installType == INSTALL_TYPE_UPDATE) {
- $style = '';
- }
-
-
- display_database_parameter($installType, get_lang('MainDB'), 'dbNameForm', $dbNameForm, ' ', null, 'id="optional_param1" '.$style);
-
-
- if ($installType == INSTALL_TYPE_UPDATE) {
- display_database_parameter($installType, get_lang('StatDB'), 'dbStatsForm', $dbStatsForm, ' ', null, 'id="optional_param2" '.$style);
- if ($installType == INSTALL_TYPE_UPDATE && in_array($_POST['old_version'], $update_from_version_6)) {
- display_database_parameter($installType, get_lang('ScormDB'), 'dbScormForm', $dbScormForm, ' ', null, 'id="optional_param3" '.$style);
- }
- display_database_parameter($installType, get_lang('UserDB'), 'dbUserForm', $dbUserForm, ' ', null, 'id="optional_param4" '.$style);
- }
-
-
-
-
-
- ?>
- <tr>
- <td>
- <button type="submit" class="login" name="step3" value="<?php echo get_lang('CheckDatabaseConnection'); ?>" >
- <?php echo get_lang('CheckDatabaseConnection'); ?></button>
- </td>
- <?php
-
- $dbConnect = test_db_connect($dbHostForm, $dbUsernameForm, $dbPassForm, $singleDbForm, $dbPrefixForm, $dbNameForm);
-
- $database_exists_text = '';
-
- if (database_exists($dbNameForm)) {
- $database_exists_text = '<div class="normal-message">'.get_lang('ADatabaseWithTheSameNameAlreadyExists').'</div>';
- } else {
- if ($dbConnect == -1) {
- $database_exists_text = '<div class="warning-message">'.sprintf(get_lang('UserXCantHaveAccessInTheDatabaseX'), $dbUsernameForm, $dbNameForm).'</div>';
- } else {
-
- $user_can_create_databases = false;
- $multipleDbCheck = @Database::query("CREATE DATABASE test_chamilo_connection");
- if ($multipleDbCheck !== false) {
- $multipleDbCheck = @Database::query("DROP DATABASE IF EXISTS test_chamilo_connection");
- $user_can_create_databases = true;
- }
- if ($user_can_create_databases) {
- $database_exists_text = '<div class="normal-message">'.sprintf(get_lang('DatabaseXWillBeCreated'), $dbNameForm, $dbUsernameForm).'</div>';
- } else {
- $dbConnect = 0;
- $database_exists_text = '<div class="warning-message">'.sprintf(get_lang('DatabaseXCantBeCreatedUserXDoestHaveEnoughPermissions'), $dbNameForm, $dbUsernameForm).'</div>';
- }
- }
- }
-
- if ($dbConnect == 1): ?>
- <td colspan="2">
- <?php echo $database_exists_text ?>
- <div id="db_status" class="confirmation-message">
- Database host: <strong><?php echo Database::get_host_info(); ?></strong><br />
- Database server version: <strong><?php echo Database::get_server_info(); ?></strong><br />
- Database client version: <strong><?php echo Database::get_client_info(); ?></strong><br />
- Database protocol version: <strong><?php echo Database::get_proto_info(); ?></strong>
- <div style="clear:both;"></div>
- </div>
- </td>
- <?php else: ?>
- <td colspan="2">
- <?php echo $database_exists_text ?>
- <div id="db_status" style="float:left;" class="error-message">
- <div style="float:left;">
- <strong><?php echo get_lang('FailedConectionDatabase'); ?></strong><br />
- <strong>Database error: <?php echo Database::errno(); ?></strong><br />
- <?php echo Database::error().'<br />'; ?>
-
- </div>
- </div>
- </td>
- <?php endif; ?>
- </tr>
- <tr>
- <td>
- <button type="submit" name="step2" class="back" value="< <?php echo get_lang('Previous'); ?>" ><?php echo get_lang('Previous'); ?></button>
- </td>
- <td> </td>
- <td align="right">
- <input type="hidden" name="is_executable" id="is_executable" value="-" />
- <?php if ($dbConnect == 1) { ?>
- <button type="submit" class="next" name="step4" value="<?php echo get_lang('Next'); ?> >" /><?php echo get_lang('Next'); ?></button>
- <?php } else { ?>
- <button disabled="disabled" type="submit" class="next disabled" name="step4" value="<?php echo get_lang('Next'); ?> >" /><?php echo get_lang('Next'); ?></button>
- <?php } ?>
- </td>
- </tr>
- </table>
- <?php
- }
- /**
- * Displays a parameter in a table row.
- * Used by the display_configuration_settings_form function.
- */
- function display_configuration_parameter($install_type, $parameter_name, $form_field_name, $parameter_value, $display_when_update = 'true') {
- echo "<tr>";
- echo "<td>$parameter_name</td>";
- if ($install_type == INSTALL_TYPE_UPDATE && $display_when_update) {
- echo '<td><input type="hidden" name="'.$form_field_name.'" value="'.api_htmlentities($parameter_value, ENT_QUOTES).'" />'.$parameter_value."</td>\n";
- } else {
- echo '<td><input type="text" size="'.FORM_FIELD_DISPLAY_LENGTH.'" maxlength="'.MAX_FORM_FIELD_LENGTH.'" name="'.$form_field_name.'" value="'.api_htmlentities($parameter_value, ENT_QUOTES).'" />'."</td>\n";
- }
- echo "</tr>";
- }
- function display_configuration_settings_form($installType, $urlForm, $languageForm, $emailForm, $adminFirstName, $adminLastName, $adminPhoneForm, $campusForm, $institutionForm, $institutionUrlForm, $encryptPassForm, $allowSelfReg, $allowSelfRegProf, $loginForm, $passForm) {
- if ($installType != 'update' && empty($languageForm)) {
- $languageForm = $_SESSION['install_language'];
- }
- echo '<div class="RequirementHeading">';
- echo "<h2>" . display_step_sequence() . get_lang("CfgSetting") . "</h2>";
- echo '</div>';
- echo '<div class="RequirementContent">';
- echo '<p>'.get_lang('ConfigSettingsInfo').' <strong>main/inc/conf/configuration.php</strong></p>';
- echo '</div>';
-
- echo '<fieldset>';
- echo '<legend>'.get_lang('Administrator').'</legend>';
- echo '<table class="data_table_no_border">';
-
-
-
- display_configuration_parameter($installType, get_lang('AdminLogin'), 'loginForm', $loginForm, $installType == 'update');
-
-
- if ($installType != 'update') {
- display_configuration_parameter($installType, get_lang('AdminPass'), 'passForm', $passForm, false);
- }
-
-
- if (api_is_western_name_order()) {
- display_configuration_parameter($installType, get_lang('AdminFirstName'), 'adminFirstName', $adminFirstName);
- display_configuration_parameter($installType, get_lang('AdminLastName'), 'adminLastName', $adminLastName);
- } else {
- display_configuration_parameter($installType, get_lang('AdminLastName'), 'adminLastName', $adminLastName);
- display_configuration_parameter($installType, get_lang('AdminFirstName'), 'adminFirstName', $adminFirstName);
- }
-
-
- display_configuration_parameter($installType, get_lang('AdminEmail'), 'emailForm', $emailForm);
-
- display_configuration_parameter($installType, get_lang('AdminPhone'), 'adminPhoneForm', $adminPhoneForm);
-
- echo '</table>';
- echo '</fieldset>';
-
- echo '<fieldset>';
- echo '<legend>'.get_lang('Platform').'</legend>';
-
- echo '<table class="data_table_no_border">';
-
-
- echo "<tr>";
- echo '<td>'.get_lang('MainLang')." </td>";
- if ($installType == 'update') {
- echo '<td><input type="hidden" name="languageForm" value="'.api_htmlentities($languageForm, ENT_QUOTES).'" />'.$languageForm."</td>";
- } else {
- echo '<td>';
- display_language_selection_box('languageForm', $languageForm);
- echo "</td>\n";
- }
- echo "</tr>\n";
-
-
-
- echo "<tr>";
- echo '<td>'.get_lang('ChamiloURL').' (<font color="red">'.get_lang('ThisFieldIsRequired')."</font>) </td>";
- if ($installType == 'update') {
- echo '<td>'.api_htmlentities($urlForm, ENT_QUOTES)."</td>\n";
- } else {
- echo '<td><input type="text" size="40" maxlength="100" name="urlForm" value="'.api_htmlentities($urlForm, ENT_QUOTES).'" />'."</td>";
- }
- echo "</tr>";
-
- display_configuration_parameter($installType, get_lang('CampusName'), 'campusForm', $campusForm);
-
- display_configuration_parameter($installType, get_lang('InstituteShortName'), 'institutionForm', $institutionForm);
-
- display_configuration_parameter($installType, get_lang('InstituteURL'), 'institutionUrlForm', $institutionUrlForm);
-
- ?>
- <tr>
- <td><?php echo get_lang("EncryptMethodUserPass"); ?> :</td>
- <?php if ($installType == 'update') { ?>
- <td><input type="hidden" name="encryptPassForm" value="<?php echo $encryptPassForm; ?>" /><?php echo $encryptPassForm; ?></td>
- <?php } else { ?>
- <td>
- <input class="checkbox" type="radio" name="encryptPassForm" value="sha1" id="encryptPass1" <?php echo ($encryptPassForm == 'sha1') ? 'checked="checked" ': ''; ?>/> <label for="encryptPass1"><?php echo 'sha1'; ?></label>
- <input class="checkbox" type="radio" name="encryptPassForm" value="md5" id="encryptPass0" <?php echo $encryptPassForm == 1 ? 'checked="checked" ' : ''; ?>/> <label for="encryptPass0"><?php echo 'md5'; ?></label>
- <input class="checkbox" type="radio" name="encryptPassForm" value="none" id="encryptPass2" <?php echo $encryptPassForm === '0' or $encryptPassForm === 0 ? 'checked="checked" ':''; ?>/> <label for="encryptPass2"><?php echo get_lang('None'); ?></label>
- </td>
- <?php } ?>
- </tr>
- <tr>
- <td><?php echo get_lang('AllowSelfReg'); ?> :</td>
- <?php if ($installType == 'update'): ?>
- <td><input type="hidden" name="allowSelfReg" value="<?php echo $allowSelfReg; ?>" /><?php echo $allowSelfReg ? get_lang('Yes') : get_lang('No'); ?></td>
- <?php else: ?>
- <td>
- <input class="checkbox" type="radio" name="allowSelfReg" value="1" id="allowSelfReg1" <?php echo $allowSelfReg ? 'checked="checked" ' : ''; ?>/> <label for="allowSelfReg1"><?php echo get_lang('Yes'); ?></label>
- <input class="checkbox" type="radio" name="allowSelfReg" value="0" id="allowSelfReg0" <?php echo $allowSelfReg ? '' : 'checked="checked" '; ?>/> <label for="allowSelfReg0"><?php echo get_lang('No'); ?></label>
- </td>
- <?php endif; ?>
- </tr>
- <tr>
- <td><?php echo get_lang('AllowSelfRegProf'); ?> :</td>
- <?php if ($installType == 'update'): ?>
- <td><input type="hidden" name="allowSelfRegProf" value="<?php echo $allowSelfRegProf; ?>" /><?php echo $allowSelfRegProf? get_lang('Yes') : get_lang('No'); ?></td>
- <?php else: ?>
- <td>
- <input class="checkbox" type="radio" name="allowSelfRegProf" value="1" id="allowSelfRegProf1" <?php echo $allowSelfRegProf ? 'checked="checked" ' : ''; ?>/>
- <label for="allowSelfRegProf1"><?php echo get_lang('Yes'); ?></label>
- <input class="checkbox" type="radio" name="allowSelfRegProf" value="0" id="allowSelfRegProf0" <?php echo $allowSelfRegProf ? '' : 'checked="checked" '; ?>/>
- <label for="allowSelfRegProf0"><?php echo get_lang('No'); ?></label>
- </td>
- <?php endif; ?>
- </tr>
- <tr>
- <td>
- <button type="submit" class="back" name="step3" value="< <?php echo get_lang('Previous'); ?>" /><?php echo get_lang('Previous'); ?></button>
- </td>
- <td align="right"><input type="hidden" name="is_executable" id="is_executable" value="-" /><button class="next" type="submit" name="step5" value="<?php echo get_lang('Next'); ?> >" /><?php echo get_lang('Next'); ?></button></td>
- </tr>
- </fieldset>
- </table>
- <?php
- }
- /**
- * After installation is completed (step 6), this message is displayed.
- */
- function display_after_install_message($installType, $nbr_courses) {
- ?>
- <div class="RequirementHeading">
- <h2><?php echo display_step_sequence() . get_lang('CfgSetting'); ?></h2>
- </div>
-
- <div class="RequirementContent">
- <?php echo get_lang('FirstUseTip'); ?>
- </div>
- <?php
- echo '<div class="warning-message">';
- echo '<strong>'.get_lang('SecurityAdvice').'</strong>';
- echo ': ';
- printf(get_lang('ToProtectYourSiteMakeXAndYReadOnly'), 'main/inc/conf/configuration.php', 'main/install/index.php');
- echo '</div>';
- ?></form>
- <br /><br />
- <a class="a_button green" href="../../index.php"><?php echo get_lang('GoToYourNewlyCreatedPortal'); ?></a>
- <?php
- }
- /**
- * This function return countries list from array (hardcoded)
- * @param bool (Optional) True for returning countries list with select html
- * @return array|string countries list
- */
- function get_countries_list_from_array($combo = false) {
- $a_countries = array(
- "Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Argentina", "Armenia", "Australia", "Austria", "Azerbaijan",
- "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
- "Cambodia", "Cameroon", "Canada", "Cape Verde", "Central African Republic", "Chad", "Chile", "China", "Colombi", "Comoros", "Congo (Brazzaville)", "Congo", "Costa Rica", "Cote d'Ivoire", "Croatia", "Cuba", "Cyprus", "Czech Republic",
- "Denmark", "Djibouti", "Dominica", "Dominican Republic",
- "East Timor (Timor Timur)", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia",
- "Fiji", "Finland", "France",
- "Gabon", "Gambia, The", "Georgia", "Germany", "Ghana", "Greece", "Grenada", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana",
- "Haiti", "Honduras", "Hungary",
- "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy",
- "Jamaica", "Japan", "Jordan",
- "Kazakhstan", "Kenya", "Kiribati", "Korea, North", "Korea, South", "Kuwait", "Kyrgyzstan",
- "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
- "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Morocco", "Mozambique", "Myanmar",
- "Namibia", "Nauru", "Nepa", "Netherlands", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Norway",
- "Oman",
- "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland","Portugal",
- "Qatar",
- "Romania", "Russia", "Rwanda",
- "Saint Kitts and Nevis", "Saint Lucia", "Saint Vincent", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia and Montenegro", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "Spain", "Sri Lanka", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syria",
- "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Togo", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Tuvalu",
- "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "Uzbekistan",
- "Vanuatu", "Vatican City", "Venezuela", "Vietnam",
- "Yemen",
- "Zambia", "Zimbabwe"
- );
- $country_select = '';
- if ($combo) {
- $country_select = '<select id="country" name="country">';
- $country_select .= '<option value="">--- '.get_lang('SelectOne').' ---</option>';
- foreach ($a_countries as $country) {
- $country_select .= '<option value="'.$country.'">'.$country.'</option>';
- }
- $country_select .= '</select>';
- return $country_select;
- }
- return $a_countries;
- }
|