File manager - Edit - /home/u466501803/domains/qurdis.my.id/public_html/install.php.tar
Back
home/u466501803/domains/qurdis.my.id/public_html/rojak/install.php 0000644 00000062371 15215712353 0020445 0 ustar 00 <?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * This script creates config.php file during installation. * * @package core * @subpackage install * @copyright 2009 Petr Skoda (http://skodak.org) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ if (isset($_REQUEST['lang'])) { $lang = preg_replace('/[^A-Za-z0-9_-]/i', '', $_REQUEST['lang']); } else { $lang = 'en'; } if (isset($_REQUEST['admin'])) { $admin = preg_replace('/[^A-Za-z0-9_-]/i', '', $_REQUEST['admin']); } else { $admin = 'admin'; } // If config.php exists we just created config.php and need to redirect to continue installation $configfile = './config.php'; if (file_exists($configfile)) { header("Location: $admin/index.php?lang=$lang"); die; } define('CLI_SCRIPT', false); // prevents some warnings later define('AJAX_SCRIPT', false); // prevents some warnings later define('CACHE_DISABLE_ALL', true); // Disables caching.. just in case. define('PHPUNIT_TEST', false); define('IGNORE_COMPONENT_CACHE', true); define('MDL_PERF_TEST', false); define('MDL_PERF', false); define('MDL_PERFTOFOOT', false); define('MDL_PERFTOLOG', false); define('MDL_PERFINC', false); // Servers should define a default timezone in php.ini, but if they don't then make sure something is defined. if (!function_exists('date_default_timezone_set') or !function_exists('date_default_timezone_get')) { echo("Timezone functions are not available."); die; } date_default_timezone_set(@date_default_timezone_get()); // make sure PHP errors are displayed - helps with diagnosing of problems @error_reporting(E_ALL); @ini_set('display_errors', '1'); // Check that PHP is of a sufficient version as soon as possible. require_once(__DIR__.'/lib/phpminimumversionlib.php'); moodle_require_minimum_php_version(); // make sure iconv is available and actually works if (!function_exists('iconv')) { // this should not happen, this must be very borked install echo 'Moodle requires the iconv PHP extension. Please install or enable the iconv extension.'; die(); } if (PHP_INT_SIZE > 4) { // most probably 64bit PHP - we need a lot more memory $minrequiredmemory = '70M'; } else { // 32bit PHP $minrequiredmemory = '40M'; } // increase or decrease available memory - we need to make sure moodle // installs even with low memory, otherwise developers would overlook // sudden increases of memory needs ;-) @ini_set('memory_limit', $minrequiredmemory); /** Used by library scripts to check they are being called by Moodle */ define('MOODLE_INTERNAL', true); require_once(__DIR__.'/lib/classes/component.php'); require_once(__DIR__.'/lib/installlib.php'); // TODO: add lang detection here if empty $_REQUEST['lang'] // distro specific customisation $distro = null; if (file_exists('install/distrolib.php')) { require_once('install/distrolib.php'); if (function_exists('distro_get_config')) { $distro = distro_get_config(); } } $config = new stdClass(); $config->lang = $lang; if (!empty($_POST)) { $config->stage = (int)$_POST['stage']; if (isset($_POST['previous'])) { $config->stage--; if (INSTALL_DATABASETYPE and !empty($distro->dbtype)) { $config->stage--; } if ($config->stage == INSTALL_ENVIRONMENT or $config->stage == INSTALL_DOWNLOADLANG) { $config->stage--; } } else if (isset($_POST['next'])) { $config->stage++; } $config->dbtype = trim($_POST['dbtype']); $config->dbhost = trim($_POST['dbhost']); $config->dbuser = trim($_POST['dbuser']); $config->dbpass = trim($_POST['dbpass']); $config->dbname = trim($_POST['dbname']); $config->prefix = trim($_POST['prefix']); $config->dbport = (int)trim($_POST['dbport']); $config->dbsocket = trim($_POST['dbsocket']); if ($config->dbport <= 0) { $config->dbport = ''; } $config->admin = empty($_POST['admin']) ? 'admin' : trim($_POST['admin']); $config->dataroot = trim($_POST['dataroot']); } else { $config->stage = INSTALL_WELCOME; $config->dbtype = empty($distro->dbtype) ? '' : $distro->dbtype; // let distro skip dbtype selection $config->dbhost = empty($distro->dbhost) ? 'localhost' : $distro->dbhost; // let distros set dbhost $config->dbuser = empty($distro->dbuser) ? '' : $distro->dbuser; // let distros set dbuser $config->dbpass = ''; $config->dbname = 'moodle'; $config->prefix = 'mdl_'; $config->dbport = empty($distro->dbport) ? '' : $distro->dbport; $config->dbsocket = empty($distro->dbsocket) ? '' : $distro->dbsocket; $config->admin = 'admin'; $config->dataroot = empty($distro->dataroot) ? null : $distro->dataroot; // initialised later after including libs or by distro } // Fake some settings so that we can use selected functions from moodlelib.php, weblib.php and filelib.php. global $CFG; $CFG = new stdClass(); $CFG->lang = $config->lang; $CFG->dirroot = __DIR__; $CFG->libdir = "$CFG->dirroot/lib"; $CFG->wwwroot = install_guess_wwwroot(); // can not be changed - ppl must use the real address when installing $CFG->httpswwwroot = $CFG->wwwroot; $CFG->dataroot = $config->dataroot; $CFG->tempdir = $CFG->dataroot.'/temp'; $CFG->backuptempdir = $CFG->tempdir.'/backup'; $CFG->cachedir = $CFG->dataroot.'/cache'; $CFG->localcachedir = $CFG->dataroot.'/localcache'; $CFG->admin = $config->admin; $CFG->docroot = 'https://docs.moodle.org'; $CFG->langotherroot = $CFG->dataroot.'/lang'; $CFG->langlocalroot = $CFG->dataroot.'/lang'; $CFG->directorypermissions = isset($distro->directorypermissions) ? $distro->directorypermissions : 00777; // let distros set dir permissions $CFG->filepermissions = ($CFG->directorypermissions & 0666); $CFG->umaskpermissions = (($CFG->directorypermissions & 0777) ^ 0777); $CFG->running_installer = true; $CFG->early_install_lang = true; $CFG->ostype = (stristr(PHP_OS, 'win') && !stristr(PHP_OS, 'darwin')) ? 'WINDOWS' : 'UNIX'; $CFG->debug = (E_ALL | E_STRICT); $CFG->debugdisplay = true; $CFG->debugdeveloper = true; // Require all needed libs require_once($CFG->libdir.'/setuplib.php'); // we need to make sure we have enough memory to load all libraries $memlimit = @ini_get('memory_limit'); if (!empty($memlimit) and $memlimit != -1) { if (get_real_size($memlimit) < get_real_size($minrequiredmemory)) { // do NOT localise - lang strings would not work here and we CAN not move it to later place echo "Moodle requires at least {$minrequiredmemory}B of PHP memory.<br />"; echo "Please contact server administrator to fix PHP.ini memory settings."; die; } } // Point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else // the problem is that we need specific version of quickforms and hacked excel files :-(. ini_set('include_path', $CFG->libdir.'/pear' . PATH_SEPARATOR . ini_get('include_path')); // Register our classloader. \core\component::register_autoloader(); // Continue with lib loading. require_once($CFG->libdir.'/classes/text.php'); require_once($CFG->libdir.'/classes/string_manager.php'); require_once($CFG->libdir.'/classes/string_manager_install.php'); require_once($CFG->libdir.'/classes/string_manager_standard.php'); require_once($CFG->libdir.'/weblib.php'); require_once($CFG->libdir.'/outputlib.php'); require_once($CFG->libdir.'/dmllib.php'); require_once($CFG->libdir.'/moodlelib.php'); require_once($CFG->libdir .'/pagelib.php'); require_once($CFG->libdir.'/deprecatedlib.php'); require_once($CFG->libdir.'/adminlib.php'); require_once($CFG->libdir.'/environmentlib.php'); require_once($CFG->libdir.'/componentlib.class.php'); require('version.php'); $CFG->target_release = $release; \core\session\manager::init_empty_session(); global $SESSION; global $USER; global $COURSE; $COURSE = new stdClass(); $COURSE->id = 1; global $SITE; $SITE = $COURSE; define('SITEID', 1); $hint_dataroot = ''; $hint_admindir = ''; $hint_database = ''; // Are we in help mode? if (isset($_GET['help'])) { install_print_help_page($_GET['help']); } //first time here? find out suitable dataroot if (is_null($CFG->dataroot)) { $CFG->dataroot = __DIR__.'/../moodledata'; $i = 0; //safety check - dirname might return some unexpected results while(is_dataroot_insecure()) { $parrent = dirname($CFG->dataroot); $i++; if ($parrent == '/' or $parrent == '.' or preg_match('/^[a-z]:\\\?$/i', $parrent) or ($i > 100)) { $CFG->dataroot = ''; //can not find secure location for dataroot break; } $CFG->dataroot = dirname($parrent).DIRECTORY_SEPARATOR.'moodledata'; } $config->dataroot = $CFG->dataroot; $config->stage = INSTALL_WELCOME; } // now let's do the stage work if ($config->stage < INSTALL_WELCOME) { $config->stage = INSTALL_WELCOME; } if ($config->stage > INSTALL_SAVE) { $config->stage = INSTALL_SAVE; } if ($config->stage == INSTALL_SAVE) { $CFG->early_install_lang = false; $database = moodle_database::get_driver_instance($config->dbtype, 'native'); if (!$database->driver_installed()) { $config->stage = INSTALL_DATABASETYPE; } else { if (function_exists('distro_pre_create_db')) { // Hook for distros needing to do something before DB creation $distro = distro_pre_create_db($database, $config->dbhost, $config->dbuser, $config->dbpass, $config->dbname, $config->prefix, array('dbpersist'=>0, 'dbport'=>$config->dbport, 'dbsocket'=>$config->dbsocket), $distro); } $hint_database = install_db_validate($database, $config->dbhost, $config->dbuser, $config->dbpass, $config->dbname, $config->prefix, array('dbpersist'=>0, 'dbport'=>$config->dbport, 'dbsocket'=>$config->dbsocket)); if ($hint_database === '') { $configphp = install_generate_configphp($database, $CFG); umask(0137); if (($fh = @fopen($configfile, 'w')) !== false) { fwrite($fh, $configphp); fclose($fh); } if (file_exists($configfile)) { // config created, let's continue! redirect("$CFG->wwwroot/$config->admin/index.php?lang=$config->lang"); } install_print_header($config, 'config.php', get_string('configurationcompletehead', 'install'), get_string('configurationcompletesub', 'install').get_string('configfilenotwritten', 'install'), 'alert-error'); echo '<div class="configphp"><pre>'; echo p($configphp); echo '</pre></div>'; install_print_footer($config); die; } else { $config->stage = INSTALL_DATABASE; } } } if ($config->stage == INSTALL_DOWNLOADLANG) { if (empty($CFG->dataroot)) { $config->stage = INSTALL_PATHS; } else if (is_dataroot_insecure()) { $hint_dataroot = get_string('pathsunsecuredataroot', 'install'); $config->stage = INSTALL_PATHS; } else if (!file_exists($CFG->dataroot)) { $a = new stdClass(); $a->parent = dirname($CFG->dataroot); $a->dataroot = $CFG->dataroot; if (!is_writable($a->parent)) { $hint_dataroot = get_string('pathsroparentdataroot', 'install', $a); $config->stage = INSTALL_PATHS; } else { if (!install_init_dataroot($CFG->dataroot, $CFG->directorypermissions)) { $hint_dataroot = get_string('pathserrcreatedataroot', 'install', $a); $config->stage = INSTALL_PATHS; } } } else if (!install_init_dataroot($CFG->dataroot, $CFG->directorypermissions)) { $hint_dataroot = get_string('pathserrcreatedataroot', 'install', array('dataroot' => $CFG->dataroot)); $config->stage = INSTALL_PATHS; } if (empty($hint_dataroot) and !is_writable($CFG->dataroot)) { $hint_dataroot = get_string('pathsrodataroot', 'install'); $config->stage = INSTALL_PATHS; } if ($config->admin === '' or !file_exists($CFG->dirroot.'/'.$config->admin.'/environment.xml')) { $hint_admindir = get_string('pathswrongadmindir', 'install'); $config->stage = INSTALL_PATHS; } } if ($config->stage == INSTALL_DOWNLOADLANG) { // no need to download anything if en lang selected if ($CFG->lang == 'en') { $config->stage = INSTALL_DATABASETYPE; } } if ($config->stage == INSTALL_DATABASETYPE) { // skip db selection if distro package supports only one db if (!empty($distro->dbtype)) { $config->stage = INSTALL_DATABASE; } } if ($config->stage == INSTALL_DOWNLOADLANG) { $downloaderror = ''; // download and install required lang packs, the lang dir has already been created in install_init_dataroot $installer = new lang_installer($CFG->lang); $results = $installer->run(); foreach ($results as $langcode => $langstatus) { if ($langstatus === lang_installer::RESULT_DOWNLOADERROR) { $a = new stdClass(); $a->url = $installer->lang_pack_url($langcode); $a->dest = $CFG->dataroot.'/lang'; $downloaderror = get_string('remotedownloaderror', 'error', $a); } } if ($downloaderror !== '') { install_print_header($config, get_string('language'), get_string('langdownloaderror', 'install', $CFG->lang), $downloaderror); install_print_footer($config); die; } else { if (empty($distro->dbtype)) { $config->stage = INSTALL_DATABASETYPE; } else { $config->stage = INSTALL_DATABASE; } } // switch the string_manager instance to stop using install/lang/ $CFG->early_install_lang = false; $CFG->langotherroot = $CFG->dataroot.'/lang'; $CFG->langlocalroot = $CFG->dataroot.'/lang'; get_string_manager(true); } if ($config->stage == INSTALL_DATABASE) { $CFG->early_install_lang = false; $database = moodle_database::get_driver_instance($config->dbtype, 'native'); $sub = '<h3>'.$database->get_name().'</h3>'.$database->get_configuration_help(); install_print_header($config, get_string('database', 'install'), get_string('databasehead', 'install'), $sub); $strdbhost = get_string('databasehost', 'install'); $strdbname = get_string('databasename', 'install'); $strdbuser = get_string('databaseuser', 'install'); $strdbpass = get_string('databasepass', 'install'); $strprefix = get_string('dbprefix', 'install'); $strdbport = get_string('databaseport', 'install'); $strdbsocket = get_string('databasesocket', 'install'); echo '<div class="row mb-4">'; $disabled = empty($distro->dbhost) ? '' : 'disabled="disabled'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_dbhost">'.$strdbhost.'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dbhost" name="dbhost" '.$disabled.' type="text" class="form-control text-ltr" value="'.s($config->dbhost).'" size="50" /></div>'; echo '</div>'; echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_dbname">'.$strdbname.'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dbname" name="dbname" type="text" class="form-control text-ltr" value="'.s($config->dbname).'" size="50" /></div>'; echo '</div>'; $disabled = empty($distro->dbuser) ? '' : 'disabled="disabled'; echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_dbuser">'.$strdbuser.'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dbuser" name="dbuser" '.$disabled.' type="text" class="form-control text-ltr" value="'.s($config->dbuser).'" size="50" /></div>'; echo '</div>'; echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_dbpass">'.$strdbpass.'</label></div>'; // no password field here, the password may be visible in config.php if we can not write it to disk echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dbpass" name="dbpass" type="text" class="form-control text-ltr" value="'.s($config->dbpass).'" size="50" /></div>'; echo '</div>'; echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_prefix">'.$strprefix.'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_prefix" name="prefix" type="text" class="form-control text-ltr" value="'.s($config->prefix).'" size="10" /></div>'; echo '</div>'; echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_prefix">'.$strdbport.'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dbport" name="dbport" type="text" class="form-control text-ltr" value="'.s($config->dbport).'" size="10" /></div>'; echo '</div>'; if (!(stristr(PHP_OS, 'win') && !stristr(PHP_OS, 'darwin'))) { echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_dbsocket">'.$strdbsocket.'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dbsocket" name="dbsocket" type="text" class="form-control text-ltr" value="'.s($config->dbsocket).'" size="50" /></div>'; echo '</div>'; } if ($hint_database !== '') { echo '<div class="alert alert-danger">'.$hint_database.'</div>'; } install_print_footer($config); die; } if ($config->stage == INSTALL_DATABASETYPE) { $CFG->early_install_lang = false; // Finally ask for DB type install_print_header($config, get_string('database', 'install'), get_string('databasetypehead', 'install'), get_string('databasetypesub', 'install')); $databases = array('mysqli' => moodle_database::get_driver_instance('mysqli', 'native'), 'auroramysql' => moodle_database::get_driver_instance('auroramysql', 'native'), 'mariadb'=> moodle_database::get_driver_instance('mariadb', 'native'), 'pgsql' => moodle_database::get_driver_instance('pgsql', 'native'), 'oci' => moodle_database::get_driver_instance('oci', 'native'), 'sqlsrv' => moodle_database::get_driver_instance('sqlsrv', 'native'), // MS SQL*Server PHP driver ); echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="dbtype">'.get_string('dbtype', 'install').'</label></div>'; echo '<div class="col-md-9" data-fieldtype="select">'; echo '<select class="form-control" id="dbtype" name="dbtype">'; $disabled = array(); $options = array(); foreach ($databases as $type=>$database) { if ($database->driver_installed() !== true) { $disabled[$type] = $database; continue; } echo '<option value="'.s($type).'">'.$database->get_name().'</option>'; } if ($disabled) { echo '<optgroup label="'.s(get_string('notavailable')).'">'; foreach ($disabled as $type=>$database) { echo '<option value="'.s($type).'" class="notavailable">'.$database->get_name().'</option>'; } echo '</optgroup>'; } echo '</select></div></div>'; install_print_footer($config); die; } if ($config->stage == INSTALL_ENVIRONMENT or $config->stage == INSTALL_PATHS) { $curl_fail = ($lang !== 'en' and !extension_loaded('curl')); // needed for lang pack download $zip_fail = ($lang !== 'en' and !extension_loaded('zip')); // needed for lang pack download if ($curl_fail or $zip_fail) { $config->stage = INSTALL_ENVIRONMENT; install_print_header($config, get_string('environmenthead', 'install'), get_string('errorsinenvironment', 'install'), get_string('environmentsub2', 'install')); echo '<div id="envresult"><dl>'; if ($curl_fail) { echo '<dt>'.get_string('phpextension', 'install', 'cURL').'</dt><dd>'.get_string('environmentrequireinstall', 'admin').'</dd>'; } if ($zip_fail) { echo '<dt>'.get_string('phpextension', 'install', 'Zip').'</dt><dd>'.get_string('environmentrequireinstall', 'admin').'</dd>'; } echo '</dl></div>'; install_print_footer($config, true); die; } else { $config->stage = INSTALL_PATHS; } } if ($config->stage == INSTALL_PATHS) { $paths = array('wwwroot' => get_string('wwwroot', 'install'), 'dirroot' => get_string('dirroot', 'install'), 'dataroot' => get_string('dataroot', 'install')); $sub = '<dl>'; foreach ($paths as $path=>$name) { $sub .= '<dt>'.$name.'</dt><dd>'.get_string('pathssub'.$path, 'install').'</dd>'; } if (!file_exists("$CFG->dirroot/admin/environment.xml")) { $sub .= '<dt>'.get_string('admindirname', 'install').'</dt><dd>'.get_string('pathssubadmindir', 'install').'</dd>'; } $sub .= '</dl>'; install_print_header($config, get_string('paths', 'install'), get_string('pathshead', 'install'), $sub); $strwwwroot = get_string('wwwroot', 'install'); $strdirroot = get_string('dirroot', 'install'); $strdataroot = get_string('dataroot', 'install'); $stradmindirname = get_string('admindirname', 'install'); echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_wwwroot">'.$paths['wwwroot'].'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_wwwroot" name="wwwroot" type="text" class="form-control text-ltr" value="'.s($CFG->wwwroot).'" disabled="disabled" size="70" /></div>'; echo '</div>'; echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_dirroot">'.$paths['dirroot'].'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dirroot" name="dirroot" type="text" class="form-control text-ltr" value="'.s($CFG->dirroot).'" disabled="disabled" size="70" /></div>'; echo '</div>'; echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_dataroot">'.$paths['dataroot'].'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_dataroot" name="dataroot" type="text" class="form-control text-ltr" value="'.s($config->dataroot).'" size="70" /></div>'; echo '</div>'; if ($hint_dataroot !== '') { echo '<div class="alert alert-danger">'.$hint_dataroot.'</div>'; } if (!file_exists("$CFG->dirroot/admin/environment.xml")) { echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="id_admin">'.$paths['admindir'].'</label></div>'; echo '<div class="col-md-9" data-fieldtype="text">'; echo '<input id="id_admin" name="admin" type="text" class="form-control text-ltr" value="'.s($config->admin).'" size="10" /></div>'; echo '</div>'; if ($hint_admindir !== '') { echo '<div class="alert alert-danger">'.$hint_admindir.'</div>'; } } install_print_footer($config); die; } $config->stage = INSTALL_WELCOME; if ($distro) { ob_start(); include('install/distribution.html'); $sub = ob_get_clean(); install_print_header($config, get_string('language'), get_string('chooselanguagehead', 'install'), $sub, 'alert-success'); } else { install_print_header($config, get_string('language'), get_string('chooselanguagehead', 'install'), get_string('chooselanguagesub', 'install')); } $languages = get_string_manager()->get_list_of_translations(); echo '<div class="row mb-4">'; echo '<div class="col-md-3 text-md-end pt-1"><label for="langselect">'.get_string('language').'</label></div>'; echo '<div class="col-md-9" data-fieldtype="select">'; echo '<select id="langselect" class="form-control" name="lang" onchange="this.form.submit()">'; foreach ($languages as $name=>$value) { $selected = ($name == $CFG->lang) ? 'selected="selected"' : ''; echo '<option value="'.s($name).'" '.$selected.'>'.$value.'</option>'; } echo '</select></div>'; echo '</div>'; install_print_footer($config); die; home/u466501803/domains/qurdis.my.id/public_html/wp-admin/install.php 0000644 00000043641 15215722073 0021052 0 ustar 00 <?php /** * WordPress Installer * * @package WordPress * @subpackage Administration */ // Confidence check. if ( false ) { ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Error: PHP is not running</title> </head> <body class="wp-core-ui admin-color-modern"> <h1>Error: PHP is not running</h1> <p>WordPress requires that your web server is running PHP. Your server does not have PHP installed, or PHP is turned off.</p> </body> </html> <?php } /** * We are installing WordPress. * * @since 1.5.1 * @var bool */ define( 'WP_INSTALLING', true ); /** Load WordPress Bootstrap */ require_once dirname( __DIR__ ) . '/wp-load.php'; /** Load WordPress Administration Upgrade API */ require_once ABSPATH . 'wp-admin/includes/upgrade.php'; /** Load WordPress Translation Install API */ require_once ABSPATH . 'wp-admin/includes/translation-install.php'; /** Load wpdb */ require_once ABSPATH . WPINC . '/class-wpdb.php'; nocache_headers(); $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0; /** * Display installation header. * * @since 2.5.0 * * @param string $body_classes Class attribute values for the body tag. */ function display_header( $body_classes = '' ) { header( 'Content-Type: text/html; charset=utf-8' ); if ( is_rtl() ) { $body_classes .= 'rtl'; } if ( $body_classes ) { $body_classes = ' ' . $body_classes; } ?> <!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="robots" content="noindex,nofollow" /> <title><?php _e( 'WordPress › Installation' ); ?></title> <?php wp_admin_css( 'install', true ); ?> </head> <body class="wp-core-ui admin-color-modern<?php echo $body_classes; ?>"> <p id="logo"><?php _e( 'WordPress' ); ?></p> <?php } // End display_header(). /** * Displays installer setup form. * * @since 2.8.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string|null $error Error message to display, if any. */ function display_setup_form( $error = null ) { global $wpdb; $user_table = ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $wpdb->users ) ) ) !== null ); // Ensure that sites appear in search engines by default. $blog_public = 1; if ( isset( $_POST['weblog_title'] ) ) { $blog_public = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : $blog_public; } $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : ''; $user_name = isset( $_POST['user_name'] ) ? trim( wp_unslash( $_POST['user_name'] ) ) : ''; $admin_email = isset( $_POST['admin_email'] ) ? trim( wp_unslash( $_POST['admin_email'] ) ) : ''; if ( ! is_null( $error ) ) { ?> <h1><?php _ex( 'Welcome', 'Howdy' ); ?></h1> <p class="message"><?php echo $error; ?></p> <?php } ?> <form id="setup" method="post" action="install.php?step=2" novalidate="novalidate"> <table class="form-table" role="presentation"> <tr> <th scope="row"><label for="weblog_title"><?php _e( 'Site Title' ); ?></label></th> <td><input name="weblog_title" type="text" id="weblog_title" size="25" value="<?php echo esc_attr( $weblog_title ); ?>" /></td> </tr> <tr> <th scope="row"><label for="user_login"><?php _e( 'Username' ); ?></label></th> <td> <?php if ( $user_table ) { _e( 'User(s) already exists.' ); echo '<input name="user_name" type="hidden" value="admin" />'; } else { ?> <input name="user_name" type="text" id="user_login" size="25" aria-describedby="user-name-desc" value="<?php echo esc_attr( sanitize_user( $user_name, true ) ); ?>" /> <p id="user-name-desc"><?php _e( 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods, and the @ symbol.' ); ?></p> <?php } ?> </td> </tr> <?php if ( ! $user_table ) : ?> <tr class="form-field form-required user-pass1-wrap"> <th scope="row"> <label for="pass1"> <?php _e( 'Password' ); ?> </label> </th> <td> <div class="wp-pwd"> <?php $initial_password = isset( $_POST['admin_password'] ) ? stripslashes( $_POST['admin_password'] ) : wp_generate_password( 18 ); ?> <div class="password-input-wrapper"> <input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="new-password" spellcheck="false" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result admin-password-desc" /> <div id="pass-strength-result" aria-live="polite"></div> </div> <button type="button" class="button wp-hide-pw hide-if-no-js" data-start-masked="<?php echo (int) isset( $_POST['admin_password'] ); ?>" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>"> <span class="dashicons dashicons-hidden"></span> <span class="text"><?php _e( 'Hide' ); ?></span> </button> </div> <p id="admin-password-desc"><span class="description important hide-if-no-js"> <strong><?php _e( 'Important:' ); ?></strong> <?php /* translators: The non-breaking space prevents 1Password from thinking the text "log in" should trigger a password save prompt. */ ?> <?php _e( 'You will need this password to log in. Please store it in a secure location.' ); ?></span></p> </td> </tr> <tr class="form-field form-required user-pass2-wrap hide-if-js"> <th scope="row"> <label for="pass2"><?php _e( 'Repeat Password' ); ?> <span class="description"><?php _e( '(required)' ); ?></span> </label> </th> <td> <input type="password" name="admin_password2" id="pass2" autocomplete="new-password" spellcheck="false" /> </td> </tr> <tr class="pw-weak"> <th scope="row"><?php _e( 'Confirm Password' ); ?></th> <td> <label> <input type="checkbox" name="pw_weak" class="pw-checkbox" /> <?php _e( 'Confirm use of weak password' ); ?> </label> </td> </tr> <?php endif; ?> <tr> <th scope="row"><label for="admin_email"><?php _e( 'Your Email' ); ?></label></th> <td><input name="admin_email" type="email" id="admin_email" size="25" aria-describedby="admin-email-desc" value="<?php echo esc_attr( $admin_email ); ?>" /> <p id="admin-email-desc"><?php _e( 'Double-check your email address before continuing.' ); ?></p></td> </tr> <?php $blog_privacy_selector_title = has_action( 'blog_privacy_selector' ) ? __( 'Site visibility' ) : __( 'Search engine visibility' ); ?> <tr> <th scope="row"><?php echo $blog_privacy_selector_title; ?></th> <td> <fieldset> <legend class="screen-reader-text"><span><?php echo $blog_privacy_selector_title; ?></span></legend> <?php if ( has_action( 'blog_privacy_selector' ) ) { ?> <input id="blog-public" type="radio" name="blog_public" value="1" <?php checked( 1, $blog_public ); ?> /> <label for="blog-public"><?php _e( 'Allow search engines to index this site' ); ?></label><br /> <input id="blog-norobots" type="radio" name="blog_public" aria-describedby="public-desc" value="0" <?php checked( 0, $blog_public ); ?> /> <label for="blog-norobots"><?php _e( 'Discourage search engines from indexing this site' ); ?></label> <p id="public-desc" class="description"><?php _e( 'Note: Discouraging search engines does not block access to your site — it is up to search engines to honor your request.' ); ?></p> <?php /** This action is documented in wp-admin/options-reading.php */ do_action( 'blog_privacy_selector' ); } else { ?> <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" aria-describedby="privacy-desc" value="0" <?php checked( 0, $blog_public ); ?> /> <?php _e( 'Discourage search engines from indexing this site' ); ?></label> <p id="privacy-desc" class="description"><?php _e( 'It is up to search engines to honor this request.' ); ?></p> <?php } ?> </fieldset> </td> </tr> </table> <p class="step"><?php submit_button( __( 'Install WordPress' ), 'large', 'Submit', false, array( 'id' => 'submit' ) ); ?></p> <input type="hidden" name="language" value="<?php echo isset( $_REQUEST['language'] ) ? esc_attr( $_REQUEST['language'] ) : ''; ?>" /> </form> <?php } // End display_setup_form(). // Let's check to make sure WP isn't already installed. if ( is_blog_installed() ) { display_header(); die( '<h1>' . __( 'Already Installed' ) . '</h1>' . '<p>' . __( 'You appear to have already installed WordPress. To reinstall please clear your old database tables first.' ) . '</p>' . '<p class="step"><a href="' . esc_url( wp_login_url() ) . '">' . __( 'Log In' ) . '</a></p>' . '</body></html>' ); } /** * @global string $wp_version The WordPress version string. * @global string $required_php_version The minimum required PHP version string. * @global string[] $required_php_extensions The names of required PHP extensions. * @global string $required_mysql_version The minimum required MySQL version string. * @global wpdb $wpdb WordPress database abstraction object. */ global $wp_version, $required_php_version, $required_php_extensions, $required_mysql_version, $wpdb; $php_version = PHP_VERSION; $mysql_version = $wpdb->db_version(); $php_compat = version_compare( $php_version, $required_php_version, '>=' ); $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' ); $version_url = sprintf( /* translators: %s: WordPress version. */ esc_url( __( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ), sanitize_title( $wp_version ) ); $php_update_message = '</p><p>' . sprintf( /* translators: %s: URL to Update PHP page. */ __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); $annotation = wp_get_update_php_annotation(); if ( $annotation ) { $php_update_message .= '</p><p><em>' . $annotation . '</em>'; } if ( ! $mysql_compat && ! $php_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Minimum required MySQL version number, 5: Current PHP version number, 6: Current MySQL version number. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires PHP version %3$s or higher and MySQL version %4$s or higher. You are running PHP version %5$s and MySQL version %6$s.' ), $version_url, $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ) . $php_update_message; } elseif ( ! $php_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Current PHP version number. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires PHP version %3$s or higher. You are running version %4$s.' ), $version_url, $wp_version, $required_php_version, $php_version ) . $php_update_message; } elseif ( ! $mysql_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required MySQL version number, 4: Current MySQL version number. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires MySQL version %3$s or higher. You are running version %4$s.' ), $version_url, $wp_version, $required_mysql_version, $mysql_version ); } if ( ! $mysql_compat || ! $php_compat ) { display_header(); die( '<h1>' . __( 'Requirements Not Met' ) . '</h1><p>' . $compat . '</p></body></html>' ); } if ( isset( $required_php_extensions ) && is_array( $required_php_extensions ) ) { $missing_extensions = array(); foreach ( $required_php_extensions as $extension ) { if ( extension_loaded( $extension ) ) { continue; } $missing_extensions[] = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: The PHP extension name needed. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires the %3$s PHP extension.' ), $version_url, $wp_version, $extension ); } if ( count( $missing_extensions ) > 0 ) { display_header(); die( '<h1>' . __( 'Requirements Not Met' ) . '</h1><p>' . implode( '</p><p>', $missing_extensions ) . '</p></body></html>' ); } } if ( ! is_string( $wpdb->base_prefix ) || '' === $wpdb->base_prefix ) { display_header(); die( '<h1>' . __( 'Configuration Error' ) . '</h1>' . '<p>' . sprintf( /* translators: %s: wp-config.php */ __( 'Your %s file has an empty database table prefix, which is not supported.' ), '<code>wp-config.php</code>' ) . '</p></body></html>' ); } // Set error message if DO_NOT_UPGRADE_GLOBAL_TABLES isn't set as it will break install. if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { display_header(); die( '<h1>' . __( 'Configuration Error' ) . '</h1>' . '<p>' . sprintf( /* translators: %s: DO_NOT_UPGRADE_GLOBAL_TABLES */ __( 'The constant %s cannot be defined when installing WordPress.' ), '<code>DO_NOT_UPGRADE_GLOBAL_TABLES</code>' ) . '</p></body></html>' ); } /** * @global string $wp_local_package Locale code of the package. * @global WP_Locale $wp_locale WordPress date and time locale object. * @global wpdb $wpdb WordPress database abstraction object. */ $language = ''; if ( ! empty( $_REQUEST['language'] ) ) { $language = sanitize_locale_name( $_REQUEST['language'] ); } elseif ( isset( $GLOBALS['wp_local_package'] ) ) { $language = $GLOBALS['wp_local_package']; } $scripts_to_print = array( 'jquery' ); switch ( $step ) { case 0: // Step 0. if ( wp_can_install_language_pack() && empty( $language ) ) { $languages = wp_get_available_translations(); if ( $languages ) { $scripts_to_print[] = 'language-chooser'; display_header( 'language-chooser' ); echo '<form id="setup" method="post" action="?step=1">'; wp_install_language_form( $languages ); echo '</form>'; break; } } // Deliberately fall through if we can't reach the translations API. case 1: // Step 1, direct link or from language chooser. if ( ! empty( $language ) ) { $loaded_language = wp_download_language_pack( $language ); if ( $loaded_language ) { load_default_textdomain( $loaded_language ); $GLOBALS['wp_locale'] = new WP_Locale(); } } $scripts_to_print[] = 'user-profile'; display_header(); ?> <h1><?php _ex( 'Welcome', 'Howdy' ); ?></h1> <p><?php _e( 'Welcome to the famous five-minute WordPress installation process! Just fill in the information below and you’ll be on your way to using the most extendable and powerful personal publishing platform in the world.' ); ?></p> <h2><?php _e( 'Information needed' ); ?></h2> <p><?php _e( 'Please provide the following information. Do not worry, you can always change these settings later.' ); ?></p> <?php display_setup_form(); break; case 2: if ( ! empty( $language ) && load_default_textdomain( $language ) ) { $loaded_language = $language; $GLOBALS['wp_locale'] = new WP_Locale(); } else { $loaded_language = 'en_US'; } if ( ! empty( $wpdb->error ) ) { wp_die( $wpdb->error->get_error_message() ); } $scripts_to_print[] = 'user-profile'; display_header(); // Fill in the data we gathered. $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : ''; $user_name = isset( $_POST['user_name'] ) ? trim( wp_unslash( $_POST['user_name'] ) ) : ''; $admin_password = isset( $_POST['admin_password'] ) ? wp_unslash( $_POST['admin_password'] ) : ''; $admin_password_check = isset( $_POST['admin_password2'] ) ? wp_unslash( $_POST['admin_password2'] ) : ''; $admin_email = isset( $_POST['admin_email'] ) ? trim( wp_unslash( $_POST['admin_email'] ) ) : ''; $public = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : 1; // Check email address. $error = false; if ( empty( $user_name ) ) { // TODO: Poka-yoke. display_setup_form( __( 'Please provide a valid username.' ) ); $error = true; } elseif ( sanitize_user( $user_name, true ) !== $user_name ) { display_setup_form( __( 'The username you provided has invalid characters.' ) ); $error = true; } elseif ( $admin_password !== $admin_password_check ) { // TODO: Poka-yoke. display_setup_form( __( 'Your passwords do not match. Please try again.' ) ); $error = true; } elseif ( empty( $admin_email ) ) { // TODO: Poka-yoke. display_setup_form( __( 'You must provide an email address.' ) ); $error = true; } elseif ( ! is_email( $admin_email ) ) { // TODO: Poka-yoke. display_setup_form( __( 'Sorry, that is not a valid email address. Email addresses look like <code>username@example.com</code>.' ) ); $error = true; } if ( false === $error ) { $wpdb->show_errors(); $result = wp_install( $weblog_title, $user_name, $admin_email, $public, '', wp_slash( $admin_password ), $loaded_language ); ?> <h1><?php _e( 'Success!' ); ?></h1> <p><?php _e( 'WordPress has been installed. Thank you, and enjoy!' ); ?></p> <table class="form-table install-success"> <tr> <th><?php _e( 'Username' ); ?></th> <td><?php echo esc_html( sanitize_user( $user_name, true ) ); ?></td> </tr> <tr> <th><?php _e( 'Password' ); ?></th> <td> <?php if ( ! empty( $result['password'] ) && empty( $admin_password_check ) ) : ?> <code><?php echo esc_html( $result['password'] ); ?></code><br /> <?php endif; ?> <p><?php echo $result['password_message']; ?></p> </td> </tr> </table> <p class="step"><a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log In' ); ?></a></p> <?php } break; } if ( ! wp_is_mobile() ) { ?> <script>var t = document.getElementById('weblog_title'); if (t){ t.focus(); }</script> <?php } wp_print_scripts( $scripts_to_print ); ?> <script> jQuery( function( $ ) { $( '.hide-if-no-js' ).removeClass( 'hide-if-no-js' ); } ); </script> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0.07 |
proxy
|
phpinfo
|
Settings