First public release of MyAAC
1
install/includes/.htaccess
Normal file
@@ -0,0 +1 @@
|
||||
deny from all
|
5
install/includes/database.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
require(SYSTEM . 'libs/pot/OTS.php');
|
||||
$ots = POT::getInstance();
|
||||
require(SYSTEM . 'database.php');
|
||||
?>
|
80
install/includes/functions.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
function query($query)
|
||||
{
|
||||
global $db, $error;
|
||||
|
||||
try {
|
||||
$db->query($query);
|
||||
}
|
||||
catch(PDOException $error_) {
|
||||
error($error_);
|
||||
$error = true;
|
||||
}
|
||||
|
||||
return !$error;
|
||||
}
|
||||
|
||||
// define php version id if its not already
|
||||
if(!defined('PHP_VERSION_ID')) {
|
||||
$version = explode('.', PHP_VERSION);
|
||||
|
||||
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
|
||||
}
|
||||
|
||||
function ini_get_bool($a)
|
||||
{
|
||||
$b = ini_get($a);
|
||||
|
||||
switch (strtolower($b))
|
||||
{
|
||||
case 'on':
|
||||
case 'yes':
|
||||
case 'true':
|
||||
return 'assert.active' !== $a;
|
||||
|
||||
case 'stdout':
|
||||
case 'stderr':
|
||||
return 'display_errors' === $a;
|
||||
|
||||
default:
|
||||
return (bool) (int) $b;
|
||||
}
|
||||
}
|
||||
|
||||
function next_buttons($previous = true, $next = true)
|
||||
{
|
||||
global $locale, $step, $steps;
|
||||
|
||||
$i = 1;
|
||||
foreach($steps as $id => $value)
|
||||
{
|
||||
if($step == $value)
|
||||
break;
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
||||
$ret = '<div class="input">';
|
||||
/* if($previous)
|
||||
$ret .= '<input class="button" type="submit" onclick="document.getElementById(\'step\').value=\'' . $steps[$i - 1] . '\';" value="' . $locale['previous'] . '" />';
|
||||
if($next)
|
||||
$ret .= '<input class="button" type="submit" onclick="document.getElementById(\'step\').value=\'' . $steps[$i + 1] . '\';" value="' . $locale['next'] . '" />';
|
||||
*/
|
||||
if($previous)
|
||||
$ret .= '<input type="button" class="button" onclick="document.getElementById(\'step\').value=\'' . $steps[$i - 1] . '\'; this.form.submit();" value="' . $locale['previous'] . '" />';
|
||||
if($next)
|
||||
$ret .= '<input type="button" class="button" onclick="document.getElementById(\'step\').value=\'' . $steps[$i + 1] . '\'; this.form.submit();" value="' . $locale['next'] . '" />';
|
||||
|
||||
$ret .= '</div>';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
function next_form($previous = true, $next = true)
|
||||
{
|
||||
global $step;
|
||||
|
||||
return '<form action="' . BASE_URL . 'install/" method="post">
|
||||
<input type="hidden" name="step" id="step" value="' . $step . '" />' . next_buttons($previous, $next) . '
|
||||
</form>';
|
||||
}
|
||||
?>
|
51
install/includes/locale.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
if(isset($_POST['lang']))
|
||||
{
|
||||
setcookie('locale', $_POST['lang']);
|
||||
$_COOKIE['locale'] = $_POST['lang'];
|
||||
}
|
||||
|
||||
if(isset($_COOKIE['locale']))
|
||||
{
|
||||
$locale_ = $_COOKIE['locale'];
|
||||
$lang_size = strlen($locale_);
|
||||
if(!$lang_size || $lang_size > 4 || !preg_match("/[a-z]/", $locale_)) // validate locale
|
||||
$_COOKIE['locale'] = "en";
|
||||
}
|
||||
else
|
||||
{
|
||||
// detect locale
|
||||
$locale_s = get_browser_languages();
|
||||
if(!sizeof($locale_s))
|
||||
$locale__ = 'en';
|
||||
else
|
||||
{
|
||||
foreach($locale_s as $id => $tmp)
|
||||
{
|
||||
$tmp_file = LOCALE . $tmp;
|
||||
if(@file_exists($tmp_file))
|
||||
{
|
||||
$locale_ = $tmp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!isset($locale_))
|
||||
$locale_ = 'en';
|
||||
}
|
||||
|
||||
require(LOCALE . 'en/main.php');
|
||||
require(LOCALE . 'en/install.php');
|
||||
|
||||
$file_main = LOCALE . $locale_ . '/main.php';
|
||||
if(!file_exists($file_main))
|
||||
$file_main = LOCALE . 'en/main.php';
|
||||
|
||||
$file_install = LOCALE . $locale_ . '/install.php';
|
||||
if(!file_exists($file_install))
|
||||
$file_install = LOCALE . 'en/install.php';
|
||||
|
||||
require($file_main);
|
||||
require($file_install);
|
||||
?>
|
236
install/includes/schema.sql
Normal file
@@ -0,0 +1,236 @@
|
||||
CREATE TABLE `myaac_account_actions`
|
||||
(
|
||||
`account_id` INT(11) NOT NULL,
|
||||
`ip` INT(11) NOT NULL,
|
||||
`date` INT(11) NOT NULL,
|
||||
`action` VARCHAR(255) NOT NULL,
|
||||
KEY (`account_id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_bugtracker`
|
||||
(
|
||||
`account` VARCHAR(255) NOT NULL,
|
||||
`type` INT(11) NOT NULL,
|
||||
`status` INT(11) NOT NULL,
|
||||
`text` text NOT NULL,
|
||||
`id` INT(11) NOT NULL,
|
||||
`subject` VARCHAR(255) NOT NULL,
|
||||
`reply` INT(11) NOT NULL,
|
||||
`who` INT(11) NOT NULL,
|
||||
`uid` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`tag` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`uid`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_changelog`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`body` VARCHAR(500) NOT NULL DEFAULT '',
|
||||
`type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - added, 2 - removed, 3 - changed, 4 - fixed',
|
||||
`where` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - server, 2 - site',
|
||||
`date` INT(11) NOT NULL DEFAULT 0,
|
||||
`player_id` INT(11) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
INSERT INTO `myaac_changelog` (`id`, `type`, `where`, `date`, `body`, `hidden`) VALUES (1, 3, 2, UNIX_TIMESTAMP(), 'MyAAC installed. (:', 0);
|
||||
|
||||
CREATE TABLE `myaac_commands`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`words` VARCHAR(30) NOT NULL DEFAULT 0,
|
||||
`description` VARCHAR(300) NOT NULL,
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE (`words`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_config`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(30) NOT NULL,
|
||||
`value` VARCHAR(1000) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE (`name`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_faq`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`question` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`answer` VARCHAR(1020) NOT NULL,
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_forum_sections`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(32) NOT NULL,
|
||||
`description` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
`closed` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`, `closed`) VALUES (NULL, 'News', 'News commenting', 1);
|
||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Trade', 'Trade offers.');
|
||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Quests', 'Quest making.');
|
||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Pictures', 'Your pictures.');
|
||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Bug Report', 'Report bugs there.');
|
||||
|
||||
CREATE TABLE `myaac_forum`
|
||||
(
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`first_post` int(11) NOT NULL default '0',
|
||||
`last_post` int(11) NOT NULL default '0',
|
||||
`section` int(3) NOT NULL default '0',
|
||||
`replies` int(20) NOT NULL default '0',
|
||||
`views` int(20) NOT NULL default '0',
|
||||
`author_aid` int(20) NOT NULL default '0',
|
||||
`author_guid` int(20) NOT NULL default '0',
|
||||
`post_text` text NOT NULL,
|
||||
`post_topic` varchar(255) NOT NULL,
|
||||
`post_smile` tinyint(1) NOT NULL default '0',
|
||||
`post_date` int(20) NOT NULL default '0',
|
||||
`last_edit_aid` int(20) NOT NULL default '0',
|
||||
`edit_date` int(20) NOT NULL default '0',
|
||||
`post_ip` varchar(32) NOT NULL default '0.0.0.0',
|
||||
`sticked` INT(11) NOT NULL DEFAULT '0',
|
||||
`closed` INT(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `section` (`section`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_monsters` (
|
||||
`hide_creature` tinyint(1) NOT NULL default '0',
|
||||
`name` varchar(255) NOT NULL,
|
||||
`mana` int(11) NOT NULL,
|
||||
`exp` int(11) NOT NULL,
|
||||
`health` int(11) NOT NULL,
|
||||
`speed_lvl` int(11) NOT NULL default '1',
|
||||
`use_haste` tinyint(1) NOT NULL,
|
||||
`voices` text NOT NULL,
|
||||
`immunities` varchar(255) NOT NULL,
|
||||
`summonable` tinyint(1) NOT NULL,
|
||||
`convinceable` tinyint(1) NOT NULL,
|
||||
`race` varchar(255) NOT NULL,
|
||||
`gfx_name` varchar(255) NOT NULL,
|
||||
`file_path` varchar(255) NOT NULL
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_movies`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` VARCHAR(50) NOT NULL DEFAULT '',
|
||||
`youtube_id` VARCHAR(20) NOT NULL,
|
||||
`author` VARCHAR(50) NOT NULL DEFAULT '',
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_news`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` VARCHAR(50) NOT NULL,
|
||||
`body` VARCHAR(10000) NOT NULL,
|
||||
`type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - news, 2 - ticket, 3 - article',
|
||||
`date` INT(11) NOT NULL DEFAULT 0,
|
||||
`category` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`player_id` INT(11) NOT NULL DEFAULT 0,
|
||||
`last_modified_by` INT(11) NOT NULL DEFAULT 0,
|
||||
`last_modified_date` INT(11) NOT NULL DEFAULT 0,
|
||||
`comments` VARCHAR(50) NOT NULL,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_news_categories`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(50) NOT NULL DEFAULT "",
|
||||
`description` VARCHAR(50) NOT NULL DEFAULT "",
|
||||
`icon_id` INT(2) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 0);
|
||||
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 1);
|
||||
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 2);
|
||||
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 3);
|
||||
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 4);
|
||||
INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '1', UNIX_TIMESTAMP(), '2', 'Hello!', 'MyAAC is just READY to use!', 'slawkens', 'http://my-aac.org', '0');
|
||||
INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '2', UNIX_TIMESTAMP(), '4', 'Hello tickets!', 'http://my-aac.org', 'slawkens', '', '0');
|
||||
|
||||
CREATE TABLE `myaac_notepad`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`account_id` INT(11) NOT NULL,
|
||||
/*`name` VARCHAR(30) NOT NULL,*/
|
||||
`content` TEXT NOT NULL DEFAULT '',
|
||||
/*`public` TINYINT(1) NOT NULL DEFAULT 0*/
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_pages`
|
||||
(
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(30) NOT NULL,
|
||||
`title` VARCHAR(30) NOT NULL,
|
||||
`body` TEXT NOT NULL,
|
||||
`date` INT(11) NOT NULL DEFAULT 0,
|
||||
`player_id` INT(11) NOT NULL DEFAULT 0,
|
||||
`php` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '0 - plain html, 1 - php',
|
||||
`access` TINYINT(2) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_screenshots`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(30) NOT NULL,
|
||||
`comment` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`image` VARCHAR(255) NOT NULL,
|
||||
`thumb` VARCHAR(255) NOT NULL,
|
||||
`author` VARCHAR(50) NOT NULL DEFAULT '',
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
INSERT INTO `myaac_screenshots` (`id`, `ordering`, `name`, `comment`, `image`, `thumb`, `author`) VALUES (NULL, 1, 'Demon', 'Demon', 'images/screenshots/demon.jpg', 'images/screenshots/demon_thumb.gif', 'MyAAC');
|
||||
|
||||
CREATE TABLE `myaac_spells`
|
||||
(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`spell` VARCHAR(255) NOT NULL,
|
||||
`name` VARCHAR(255) NOT NULL,
|
||||
`words` VARCHAR(255) NOT NULL,
|
||||
`category` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - attack, 2 - healing, 3 - summon, 4 - supply, 5 - support',
|
||||
`type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 - instant, 2 - rune',
|
||||
`level` INT(11) NOT NULL DEFAULT 0,
|
||||
`maglevel` INT(11) NOT NULL DEFAULT 0,
|
||||
`mana` INT(11) NOT NULL DEFAULT 0,
|
||||
`soul` TINYINT(3) NOT NULL DEFAULT 0,
|
||||
`conjure_count` TINYINT(3) NOT NULL DEFAULT 0,
|
||||
`premium` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
`vocations` VARCHAR(32) NOT NULL,
|
||||
`cities` VARCHAR(32) NOT NULL,
|
||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE (`spell`)
|
||||
) ENGINE = MyISAM;
|
||||
|
||||
CREATE TABLE `myaac_visitors`
|
||||
(
|
||||
`ip` VARCHAR(16) NOT NULL,
|
||||
`lastvisit` INT(11) NOT NULL DEFAULT 0,
|
||||
`page` VARCHAR(100) NOT NULL,
|
||||
UNIQUE (`ip`)
|
||||
) ENGINE = MyISAM;
|
46
install/index.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
require('../common.php');
|
||||
|
||||
// step
|
||||
$step = isset($_POST['step']) ? $_POST['step'] : 'welcome';
|
||||
|
||||
// includes
|
||||
require(SYSTEM . 'functions.php');
|
||||
require(BASE . 'install/includes/functions.php');
|
||||
require(BASE . 'install/includes/locale.php');
|
||||
require(BASE . 'config.local.php');
|
||||
|
||||
if(isset($_POST['vars']))
|
||||
{
|
||||
foreach($_POST['vars'] as $key => $value)
|
||||
$_SESSION['var_' . $key] = $value;
|
||||
}
|
||||
|
||||
$steps = array(1 => 'welcome', 2 => 'license', 3 => 'requirements', 4 => 'config', 5 => 'database', 6 => 'finish');
|
||||
if(!in_array($step, $steps)) // check if step is valid
|
||||
die('ERROR: Unknown step.');
|
||||
|
||||
if($step == 'database')
|
||||
{
|
||||
foreach($_POST['vars'] as $key => $value)
|
||||
{
|
||||
if(empty($value))
|
||||
{
|
||||
$step = 'config';
|
||||
$errors = '<p class="error">' . $locale['please_fill_all'] . '</p>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// step include
|
||||
ob_start();
|
||||
require('steps/' . $step . '.php');
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
// render
|
||||
require('template/template.php');
|
||||
//$_SESSION['laststep'] = $step;
|
||||
|
||||
?>
|
1
install/steps/.htaccess
Normal file
@@ -0,0 +1 @@
|
||||
deny from all
|
113
install/steps/config.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
$clients = array(
|
||||
710,
|
||||
740,
|
||||
750,
|
||||
760,
|
||||
770,
|
||||
780,
|
||||
7920,
|
||||
800,
|
||||
810,
|
||||
821,
|
||||
822,
|
||||
831,
|
||||
840,
|
||||
841,
|
||||
842,
|
||||
850,
|
||||
852,
|
||||
853,
|
||||
854,
|
||||
855,
|
||||
857,
|
||||
860,
|
||||
870,
|
||||
|
||||
900,
|
||||
910,
|
||||
920,
|
||||
930,
|
||||
940,
|
||||
942,
|
||||
944,
|
||||
946,
|
||||
950,
|
||||
952,
|
||||
953,
|
||||
954,
|
||||
960,
|
||||
970,
|
||||
980,
|
||||
|
||||
1000,
|
||||
1010,
|
||||
1021,
|
||||
1031,
|
||||
1034,
|
||||
1041,
|
||||
1050,
|
||||
1053,
|
||||
1054,
|
||||
1058,
|
||||
1075,
|
||||
1077,
|
||||
1079,
|
||||
1080,
|
||||
1090,
|
||||
1093,
|
||||
1094,
|
||||
1095,
|
||||
1096,
|
||||
1097,
|
||||
1098,
|
||||
);
|
||||
|
||||
?>
|
||||
<form action="<?php echo BASE_URL; ?>install/" method="post" autocomplete="off">
|
||||
<input type="hidden" name="step" id="step" value="database" />
|
||||
<table>
|
||||
<?php
|
||||
foreach(array('server_path', 'account', 'password', 'mail_admin', 'mail_address') as $value)
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
<label for="vars_' . $value . '">
|
||||
<span>' . $locale['step_config_' . $value] . '</span>
|
||||
</label>
|
||||
<br>
|
||||
<input type="text" name="vars[' . $value . ']" id="vars_' . $value . '"' . (isset($_SESSION['var_' . $value]) ? ' value="' . $_SESSION['var_' . $value] . '"' : '') . '/>
|
||||
</td>
|
||||
<td>
|
||||
<em>' . $locale['step_config_' . $value . '_desc'] . '</em>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
<label for="vars_client">
|
||||
<span>' . $locale['step_config_client'] . '</span>
|
||||
</label>
|
||||
<br>
|
||||
<select name="vars[client]" id="vars_client">';
|
||||
//$i = 0;
|
||||
foreach($clients as $client) {
|
||||
$client_version = (string)($client / 100);
|
||||
if(strpos($client_version, '.') == false)
|
||||
$client_version .= '.0';
|
||||
echo '<option value="' . $client . '">' . $client_version . '</option>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</td>
|
||||
<td>
|
||||
<em>' . $locale['step_config_client_desc'] . '</em>
|
||||
</td>
|
||||
</tr>';
|
||||
?>
|
||||
</table>
|
||||
<?php
|
||||
echo next_buttons(true, true);
|
||||
?>
|
||||
</form>
|
342
install/steps/database.php
Normal file
@@ -0,0 +1,342 @@
|
||||
<?php
|
||||
//ini_set('display_errors', false);
|
||||
$error = false;
|
||||
|
||||
if(!isset($_SESSION['var_server_path'])) {
|
||||
error($locale['step_database_error_path']);
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if(!$error) {
|
||||
$content = "<?php\n";
|
||||
foreach($_SESSION as $key => $value)
|
||||
{
|
||||
if(strpos($key, 'var_') !== false)
|
||||
{
|
||||
if($key == 'var_server_path')
|
||||
{
|
||||
$value = str_replace("\\", "/", $value);
|
||||
if($value[strlen($value) - 1] != '/')
|
||||
$value .= "/";
|
||||
}
|
||||
|
||||
if($key != 'var_account' && $key != 'var_password') {
|
||||
$content .= '$config[\'' . str_replace('var_', '', $key) . '\'] = \'' . $value . '\';';
|
||||
$content .= PHP_EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$config['server_path'] = $_SESSION['var_server_path'];
|
||||
// take care of trailing slash at the end
|
||||
if($config['server_path'][strlen($config['server_path']) - 1] != '/')
|
||||
$config['server_path'] .= '/';
|
||||
|
||||
if(!file_exists($config['server_path'] . 'config.lua')) {
|
||||
error($locale['step_database_error_config']);
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if(!$error) {
|
||||
$config['lua'] = load_config_lua($config['server_path'] . 'config.lua');
|
||||
if(isset($config['lua']['sqlType'])) // tfs 0.3
|
||||
$config['database_type'] = $config['lua']['sqlType'];
|
||||
else if(isset($config['lua']['mysqlHost'])) // tfs 0.2/1.0
|
||||
$config['database_type'] = 'mysql';
|
||||
else if(isset($config['lua']['database_type'])) // otserv
|
||||
$config['database_type'] = $config['lua']['database_type'];
|
||||
else if(isset($config['lua']['sql_type'])) // otserv
|
||||
$config['database_type'] = $config['lua']['sql_type'];
|
||||
|
||||
$config['database_type'] = strtolower($config['database_type']);
|
||||
if($config['database_type'] != 'mysql') {
|
||||
$locale['step_database_error_only_mysql'] = str_replace('$DATABASE_TYPE$', '<b>' . $config['database_type'] . '</b>', $locale['step_database_error_only_mysql']);
|
||||
error($locale['step_database_error_only_mysql']);
|
||||
$error = true;
|
||||
}
|
||||
else {
|
||||
success($locale['step_database_importing']);
|
||||
require(BASE . 'install/includes/database.php');
|
||||
|
||||
if(!tableExist('accounts')) {
|
||||
$locale['step_database_error_table'] = str_replace('$TABLE$', 'accounts', $locale['step_database_error_table']);
|
||||
error($locale['step_database_error_table']);
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if(tableExist(TABLE_PREFIX . 'account_actions')) {
|
||||
$locale['step_database_error_table_exist'] = str_replace('$TABLE$', TABLE_PREFIX . 'account_actions', $locale['step_database_error_table_exist']);
|
||||
warning($locale['step_database_error_table_exist']);
|
||||
}
|
||||
else if(!$error) {
|
||||
// import schema
|
||||
try {
|
||||
$db->query(file_get_contents(BASE . 'install/includes/schema.sql'));
|
||||
}
|
||||
catch(PDOException $error_) {
|
||||
error($locale['step_database_error_schema'] . ' ' . $error_);
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if(!$error) {
|
||||
$locale['step_database_success_schema'] = str_replace('$PREFIX$', TABLE_PREFIX, $locale['step_database_success_schema']);
|
||||
success($locale['step_database_success_schema']);
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldExist('key', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` MODIFY `key` VARCHAR(64) NOT NULL DEFAULT '';"))
|
||||
success($locale['step_database_modifying_field'] . ' accounts.key...');
|
||||
}
|
||||
else {
|
||||
if(query("ALTER TABLE `accounts` ADD `key` VARCHAR(64) NOT NULL DEFAULT '' AFTER `email`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.key...');
|
||||
}
|
||||
|
||||
if(!fieldExist('blocked', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `blocked` TINYINT(1) NOT NULL DEFAULT FALSE COMMENT 'internal usage' AFTER `key`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.created...');
|
||||
}
|
||||
|
||||
if(!fieldExist('created', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `created` INT(11) NOT NULL DEFAULT 0 AFTER `" . (fieldExist('group_id', 'accounts') ? 'group_id' : 'blocked') . "`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.created...');
|
||||
}
|
||||
|
||||
if(!fieldExist('rlname', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `rlname` VARCHAR(255) NOT NULL DEFAULT '' AFTER `created`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.rlname...');
|
||||
}
|
||||
|
||||
if(!fieldExist('location', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `location` VARCHAR(255) NOT NULL DEFAULT '' AFTER `rlname`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.location...');
|
||||
}
|
||||
|
||||
if(!fieldExist('country', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `country` VARCHAR(3) NOT NULL DEFAULT '' AFTER `location`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.country...');
|
||||
}
|
||||
|
||||
if(fieldExist('page_lastday', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` CHANGE `page_lastday` `web_lastlogin` INT(11) NOT NULL DEFAULT 0;")) {
|
||||
$tmp = str_replace('$FIELD$', 'accounts.page_lastday', $locale['step_database_changing_field']);
|
||||
$tmp = str_replace('$FIELD_NEW$', 'accounts.web_lastlogin', $tmp);
|
||||
success($tmp);
|
||||
}
|
||||
}
|
||||
else if(!fieldExist('web_lastlogin', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `web_lastlogin` INT(11) NOT NULL DEFAULT 0 AFTER `country`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.created...');
|
||||
}
|
||||
|
||||
if(!fieldExist('web_flags', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `web_flags` INT(11) NOT NULL DEFAULT 0 AFTER `web_lastlogin`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.country...');
|
||||
}
|
||||
|
||||
if(!fieldExist('email_hash', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `email_hash` VARCHAR(32) NOT NULL DEFAULT '' AFTER `web_flags`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.email_hash...');
|
||||
}
|
||||
|
||||
if(!fieldExist('email_verified', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `email_verified` TINYINT(1) NOT NULL DEFAULT 0 AFTER `email_hash`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.email_verified...');
|
||||
}
|
||||
|
||||
if(!fieldExist('email_new', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `email_new` VARCHAR(255) NOT NULL DEFAULT '' AFTER `email_hash`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.email_new...');
|
||||
}
|
||||
|
||||
if(!fieldExist('email_new_time', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `email_new_time` INT(11) NOT NULL DEFAULT 0 AFTER `email_new`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.email_new_time...');
|
||||
}
|
||||
|
||||
if(!fieldExist('email_code', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `email_code` VARCHAR(255) NOT NULL DEFAULT '' AFTER `email_new_time`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.email_code...');
|
||||
}
|
||||
|
||||
if(fieldExist('next_email', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` CHANGE `next_email` `email_next` INT(11) NOT NULL DEFAULT 0;")) {
|
||||
$tmp = str_replace('$FIELD$', 'accounts.next_email', $locale['step_database_changing_field']);
|
||||
$tmp = str_replace('$FIELD_NEW$', 'accounts.email_next', $tmp);
|
||||
success($tmp);
|
||||
}
|
||||
}
|
||||
else if(!fieldExist('email_next', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `email_next` INT(11) NOT NULL DEFAULT 0 AFTER `email_code`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.email_next...');
|
||||
}
|
||||
|
||||
if(!fieldExist('premium_points', 'accounts')) {
|
||||
if(query("ALTER TABLE `accounts` ADD `premium_points` INT(11) NOT NULL DEFAULT 0 AFTER `email_next`;"))
|
||||
success($locale['step_database_adding_field'] . ' accounts.premium_points...');
|
||||
}
|
||||
|
||||
if(!fieldExist('description', 'guilds')) {
|
||||
if(query("ALTER TABLE `guilds` ADD `description` TEXT NOT NULL DEFAULT '';"))
|
||||
success($locale['step_database_adding_field'] . ' guilds.description...');
|
||||
}
|
||||
|
||||
if(fieldExist('logo_gfx_name', 'guilds')) {
|
||||
if(query("ALTER TABLE `guilds` CHANGE `logo_gfx_name` `logo_name` VARCHAR( 255 ) NOT NULL DEFAULT 'default.gif';")) {
|
||||
$tmp = str_replace('$FIELD$', 'guilds.logo_gfx_name', $locale['step_database_changing_field']);
|
||||
$tmp = str_replace('$FIELD_NEW$', 'guilds.logo_name', $tmp);
|
||||
success($tmp);
|
||||
}
|
||||
}
|
||||
else if(!fieldExist('logo_name', 'guilds')) {
|
||||
if(query("ALTER TABLE `guilds` ADD `logo_name` VARCHAR( 255 ) NOT NULL DEFAULT 'default.gif';"))
|
||||
success($locale['step_database_adding_field'] . ' guilds.logo_name...');
|
||||
}
|
||||
|
||||
if(!fieldExist('created', 'players')) {
|
||||
if(query("ALTER TABLE `players` ADD `created` INT(11) NOT NULL DEFAULT 0;"))
|
||||
success($locale['step_database_adding_field'] . ' players.created...');
|
||||
}
|
||||
|
||||
if(fieldExist('hide_char', 'players')) {
|
||||
if(query("ALTER TABLE `players` CHANGE `hide_char` `hidden` TINYINT(1) NOT NULL DEFAULT 0;")) {
|
||||
$tmp = str_replace('$FIELD$', 'players.hide_char', $locale['step_database_changing_field']);
|
||||
$tmp = str_replace('$FIELD_NEW$', 'players.hidden', $tmp);
|
||||
success($tmp);
|
||||
}
|
||||
}
|
||||
else if(!fieldExist('hidden', 'players')) {
|
||||
if(query("ALTER TABLE `players` ADD `hidden` VARCHAR( 255 ) TINYINT(1) NOT NULL DEFAULT 0;"))
|
||||
success($locale['step_database_adding_field'] . ' players.hidden...');
|
||||
}
|
||||
|
||||
if(!fieldExist('comment', 'players')) {
|
||||
if(query("ALTER TABLE `players` ADD `comment` TEXT NOT NULL DEFAULT '';"))
|
||||
success($locale['step_database_adding_field'] . ' players.comment...');
|
||||
}
|
||||
|
||||
$account = $_SESSION['var_account'];
|
||||
$password = $_SESSION['var_password'];
|
||||
|
||||
$config_salt_enabled = fieldExist('salt', 'accounts');
|
||||
if($config_salt_enabled)
|
||||
{
|
||||
$salt = generateRandomString(10, false, true, true);
|
||||
$password = $salt . $password;
|
||||
}
|
||||
|
||||
$account_db = new OTS_Account();
|
||||
$account_db->load(1);
|
||||
if($account_db->isLoaded()) {
|
||||
$account_db->setName('dummy_account');
|
||||
$account_db->setPassword('for sample characters. ' . generateRandomString(10));
|
||||
$account_db->save();
|
||||
}
|
||||
else {
|
||||
$new_account = $ots->createObject('Account');
|
||||
$new_account->create('dummy_account', 1);
|
||||
$account_db->setPassword('for sample characters. ' . generateRandomString(10));
|
||||
}
|
||||
|
||||
|
||||
$account_db = new OTS_Account();
|
||||
$account_db->find($account);
|
||||
if($account_db->isLoaded()) {
|
||||
if($config_salt_enabled)
|
||||
$account_db->setSalt($salt);
|
||||
|
||||
$account_db->setPassword(encrypt($password));
|
||||
$account_db->setEMail($_SESSION['var_mail_admin']);
|
||||
$account_db->save();
|
||||
$account_db->setCustomField('web_flags', 3);
|
||||
$account_db->setCustomField('country', 'us');
|
||||
|
||||
$_SESSION['account'] = $account_db->getId();
|
||||
}
|
||||
else {
|
||||
$new_account = $ots->createObject('Account');
|
||||
$new_account->create($account);
|
||||
|
||||
if($config_salt_enabled)
|
||||
$new_account->setSalt($salt);
|
||||
|
||||
$new_account->setPassword(encrypt($password));
|
||||
$new_account->setEMail($_SESSION['var_mail_admin']);
|
||||
$new_account->unblock();
|
||||
$new_account->save();
|
||||
$new_account->setCustomField('created', time());
|
||||
$new_account->setCustomField('web_flags', 3);
|
||||
$new_account->setCustomField('country', 'us');
|
||||
$new_account->logAction('Account created.');
|
||||
|
||||
$_SESSION['account'] = $new_account->getId();
|
||||
}
|
||||
|
||||
success($locale['step_database_created_account']);
|
||||
$_SESSION['password'] = encrypt($password);
|
||||
$_SESSION['remember_me'] = true;
|
||||
|
||||
$deleted = 'deleted';
|
||||
if(fieldExist('deletion', 'players'))
|
||||
$deleted = 'deletion';
|
||||
|
||||
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Rook Sample') . ' OR `name` = ' . $db->quote('Sorcerer Sample') . ' OR `name` = ' . $db->quote('Druid Sample') . ' OR `name` = ' . $db->quote('Paladin Sample') . ' OR `name` = ' . $db->quote('Knight Sample'));
|
||||
if($query->rowCount() == 0) {
|
||||
if(query("INSERT INTO `players` (`id`, `name`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `lastlogout`, `blessings`, `balance`, `stamina`, `$deleted`, `created`, `hidden`, `comment`) VALUES
|
||||
(null, 'Rook Sample', 1, 1, 8, 0, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179613, 2453925456, 1, 0, 0, 1255179614, 0, 0, 151200000, 1, UNIX_TIMESTAMP(), 1, ''),
|
||||
(null, 'Sorcerer Sample', 1, 1, 8, 1, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179571, 2453925456, 1, 0, 0, 1255179612, 0, 0, 151200000, 1, UNIX_TIMESTAMP(), 1, ''),
|
||||
(null, 'Druid Sample', 1, 1, 8, 2, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179655, 2453925456, 1, 0, 0, 1255179658, 0, 0, 151200000, 1, UNIX_TIMESTAMP(), 1, ''),
|
||||
(null, 'Paladin Sample', 1, 1, 8, 3, 185, 185, 4200, 118, 114, 38, 57, 129, 0, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179854, 2453925456, 1, 0, 0, 1255179858, 0, 0, 151200000, 1, UNIX_TIMESTAMP(), 1, ''),
|
||||
(null, 'Knight Sample', 1, 1, 8, 4, 185, 185, 4200, 118, 114, 38, 57, 131, 0, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179620, 2453925456, 1, 0, 0, 1255179654, 0, 0, 151200000, 1, UNIX_TIMESTAMP(), 1, '');"))
|
||||
success($locale['step_database_imported_players']);
|
||||
}
|
||||
|
||||
if(!$error && !isset($_SESSION['saved'])) {
|
||||
$content .= '$config[\'installed\'] = true;';
|
||||
$content .= PHP_EOL;
|
||||
if(strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) {
|
||||
$content .= '$config[\'friendly_urls\'] = true;';
|
||||
$content .= PHP_EOL;
|
||||
}
|
||||
|
||||
$content .= '$config[\'mail_enabled\'] = true;';
|
||||
$content .= PHP_EOL;
|
||||
if(!check_mail($_SESSION['var_mail_admin'])) {
|
||||
error($locale['step_config_mail_admin_error']);
|
||||
$error = true;
|
||||
}
|
||||
if(!check_mail($_SESSION['var_mail_address'])) {
|
||||
error($locale['step_config_mail_address_error']);
|
||||
$error = true;
|
||||
}
|
||||
|
||||
$content .= '$config[\'client_download\'] = \'http://clients.halfaway.net/windows.php?tibia=\'. $config[\'client\'];';
|
||||
$content .= PHP_EOL;
|
||||
$content .= '$config[\'client_download_linux\'] = \'http://clients.halfaway.net/linux.php?tibia=\'. $config[\'client\'];';
|
||||
$content .= PHP_EOL;
|
||||
|
||||
$content .= "?>";
|
||||
$file = fopen(BASE . 'config.local.php', 'a+');
|
||||
if($file) {
|
||||
if(!$error) {
|
||||
fwrite($file, $content);
|
||||
$_SESSION['saved'] = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$locale['step_database_error_file'] = str_replace('$FILE$', '<b>' . BASE . 'config.local.php</b>', $locale['step_database_error_file']);
|
||||
warning($locale['step_database_error_file'] . '<br/>
|
||||
<textarea cols="70" rows="10">' . $content . '</textarea>');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<form action="<?php echo BASE_URL; ?>install/" method="post">
|
||||
<input type="hidden" name="step" id="step" value="finish" />
|
||||
<?php echo next_buttons(true, $error ? false : true);
|
||||
?>
|
||||
</form>
|
20
install/steps/finish.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
$locale['step_finish_desc'] = str_replace('$ADMIN_PANEL$', generateLink(ADMIN_URL, $locale['step_finish_admin_panel'], true), $locale['step_finish_desc']);
|
||||
$locale['step_finish_desc'] = str_replace('$HOMEPAGE$', generateLink(BASE_URL, $locale['step_finish_homepage'], true), $locale['step_finish_desc']);
|
||||
$locale['step_finish_desc'] = str_replace('$LINK$', generateLink('http://my-aac.org', 'http://my-aac.org', true), $locale['step_finish_desc']);
|
||||
?>
|
||||
<p class="success"><?php echo $locale['step_finish_desc']; ?></p>
|
||||
|
||||
<?php
|
||||
|
||||
if(!isset($_SESSION['installed'])) {
|
||||
file_get_contents('http://my-aac.org/report_install.php?v=' . MYAAC_VERSION);
|
||||
$_SESSION['installed'] = false;
|
||||
}
|
||||
|
||||
foreach($_SESSION as $key => $value) {
|
||||
if(strpos($key, 'var_') !== false)
|
||||
unset($_SESSION[$key]);
|
||||
}
|
||||
unset($_SESSION['saved']);
|
||||
?>
|
7
install/steps/license.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<form action="<?php echo BASE_URL; ?>install/" method="post">
|
||||
<input type="hidden" name="step" id="step" value="requirements" />
|
||||
<textarea rows="10" cols="80" readonly="1"><?php echo file_get_contents(BASE . 'LICENSE'); ?></textarea>
|
||||
|
||||
<?php echo next_buttons();
|
||||
?>
|
||||
</form>
|
46
install/steps/requirements.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/*
|
||||
*
|
||||
* @param string $name
|
||||
* @param boolean $ok
|
||||
* @param mixed $version
|
||||
*/
|
||||
function version_check($name, $ok, $version = '', $warning = false)
|
||||
{
|
||||
global $failed;
|
||||
echo '<p class="' . ($ok ? 'success' : ($warning ? 'warning' : 'error')) . '">' . $name;
|
||||
if(!empty($version))
|
||||
echo ': <b>' . $version . '</b>';
|
||||
|
||||
echo '</p>';
|
||||
if(!$ok && !$warning)
|
||||
$failed = true;
|
||||
}
|
||||
|
||||
$failed = false;
|
||||
|
||||
// start validating
|
||||
version_check($locale['step_requirements_php_version'], (PHP_VERSION_ID >= 50000), PHP_VERSION);
|
||||
foreach(array('config.local.php', 'images/guilds', 'images/houses', 'images/screenshots') as $value)
|
||||
{
|
||||
$perms = (int) substr(decoct(fileperms(BASE . $value)), 2);
|
||||
version_check($locale['step_requirements_write_perms'] . ': ' . $value, $perms >= 660);
|
||||
}
|
||||
|
||||
$ini_register_globals = ini_get_bool('register_globals');
|
||||
version_check('register_long_arrays', !$ini_register_globals, $ini_register_globals ? $locale['on'] : $locale['off']);
|
||||
|
||||
$ini_safe_mode = ini_get_bool('safe_mode');
|
||||
version_check('safe_mode', !$ini_safe_mode, $ini_safe_mode ? $locale['on'] : $locale['off'], true);
|
||||
|
||||
version_check('PDO extension loaded', extension_loaded('pdo'), '', false);
|
||||
version_check('zip extension loaded', extension_loaded('zip'), '', false);
|
||||
|
||||
if($failed)
|
||||
{
|
||||
echo '<br/><b>' . $locale['step_requirements_failed'];
|
||||
echo next_form(true, false);
|
||||
}
|
||||
else
|
||||
echo next_form(true, true);
|
||||
?>
|
31
install/steps/welcome.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
if(isset($config['installed']) && $config['installed'])
|
||||
echo '<p class="warning">' . $locale['already_installed'] . '</p>';
|
||||
else
|
||||
{
|
||||
?>
|
||||
<form action="<?php echo BASE_URL; ?>install/" method="post">
|
||||
<input type="hidden" name="step" id="step" value="license" />
|
||||
<div class="input"><p><?php echo $locale['step_welcome_desc']; ?></p>
|
||||
<select name="lang">
|
||||
<?php
|
||||
foreach(get_locales() as $tmp_locale)
|
||||
{
|
||||
$lang_file_main = LOCALE . $tmp_locale . '/main.php';
|
||||
$lang_file_install = LOCALE . $tmp_locale . '/install.php';
|
||||
if(@file_exists($lang_file_main)
|
||||
&& @file_exists($lang_file_install))
|
||||
{
|
||||
require($lang_file_main);
|
||||
echo '<option value="' . $tmp_locale . '">' . $locale['name'] . '</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<?php echo next_buttons(false, true); ?>
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
?>
|
BIN
install/template/images/active.gif
Normal file
After Width: | Height: | Size: 155 B |
BIN
install/template/images/approve.gif
Normal file
After Width: | Height: | Size: 535 B |
BIN
install/template/images/background.jpg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
install/template/images/bullet.gif
Normal file
After Width: | Height: | Size: 261 B |
BIN
install/template/images/button.gif
Normal file
After Width: | Height: | Size: 152 B |
BIN
install/template/images/delete.gif
Normal file
After Width: | Height: | Size: 590 B |
BIN
install/template/images/divider.gif
Normal file
After Width: | Height: | Size: 155 B |
BIN
install/template/images/edit.gif
Normal file
After Width: | Height: | Size: 600 B |
BIN
install/template/images/error.gif
Normal file
After Width: | Height: | Size: 599 B |
BIN
install/template/images/footer.jpg
Normal file
After Width: | Height: | Size: 385 B |
BIN
install/template/images/negative.gif
Normal file
After Width: | Height: | Size: 597 B |
BIN
install/template/images/note.gif
Normal file
After Width: | Height: | Size: 610 B |
BIN
install/template/images/positive.gif
Normal file
After Width: | Height: | Size: 608 B |
BIN
install/template/images/sidebody.gif
Normal file
After Width: | Height: | Size: 197 B |
BIN
install/template/images/sidehead.gif
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
install/template/images/success.gif
Normal file
After Width: | Height: | Size: 606 B |
BIN
install/template/images/userbox.gif
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
install/template/images/visitwebsite.gif
Normal file
After Width: | Height: | Size: 676 B |
BIN
install/template/images/warning.gif
Normal file
After Width: | Height: | Size: 588 B |
BIN
install/template/images/wrapper.gif
Normal file
After Width: | Height: | Size: 348 B |
297
install/template/style.css
Normal file
@@ -0,0 +1,297 @@
|
||||
* {
|
||||
margin: 0; padding: 0;
|
||||
}
|
||||
body {
|
||||
text-align: center;
|
||||
font: 12px Verdana;
|
||||
color: #000000;
|
||||
background-color: #000000;
|
||||
}
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.break {
|
||||
font-size: 0;
|
||||
width: 0; height: 0;
|
||||
clear: both;
|
||||
}
|
||||
.alignleft {
|
||||
float: left;
|
||||
margin: 4px 10px 5px 0;
|
||||
}
|
||||
.alignright {
|
||||
float: right;
|
||||
margin: 4px 0 5px 10px;
|
||||
}
|
||||
.aligncenter {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/** BEGIN wrapper **/
|
||||
#wrapper {
|
||||
background: #ffffff url(images/background.jpg) repeat-x 0 0;
|
||||
width: 980px;
|
||||
}
|
||||
|
||||
#header {
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
#footer {
|
||||
padding-top: 15px;
|
||||
border-top: 1px solid #eee;
|
||||
margin-top: 10px;
|
||||
text-align: right;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
#header h1 {
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#header span {
|
||||
font-size: 25px;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
padding-left: 40px;
|
||||
line-height: 80px;
|
||||
}
|
||||
|
||||
#version {
|
||||
float: right;
|
||||
color: #000;
|
||||
font-size: 17px;
|
||||
padding-top: 25px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
/** BEGIN body **/
|
||||
#body {
|
||||
background: url(images/wrapper.gif) repeat-y 0 0;
|
||||
}
|
||||
/** END body **/
|
||||
|
||||
/** BEGIN content **/
|
||||
#content {
|
||||
width: 642px;
|
||||
float: left;
|
||||
padding: 20px 18px 20px 20px;
|
||||
color: #434242;
|
||||
}
|
||||
|
||||
/** begin headers **/
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: Tahoma;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
h2, h3, h4, h5, h6 {
|
||||
margin-top: 30px;
|
||||
}
|
||||
h1 { font-size: 2em; }
|
||||
h2 { font-size: 1.6em; }
|
||||
h3 { font-size: 1.3em; }
|
||||
h4, h5, h6 { font-size: 1em; }
|
||||
/** end headers **/
|
||||
|
||||
/** begin messages **/
|
||||
.error, .success, .note, .warning {
|
||||
font-weight: bold;
|
||||
font-size: 0.9em;
|
||||
padding: 4px 10px 4px 24px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 5px 6px;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
}
|
||||
.error {
|
||||
background-color: #FDD9D9;
|
||||
background-image: url(images/error.gif);
|
||||
border-color: #FBA3A3;
|
||||
color: #D80303;
|
||||
}
|
||||
.success {
|
||||
background-color: #E4FCD9;
|
||||
background-image: url(images/success.gif);
|
||||
border-color: #BFFDA3;
|
||||
color: #35A502;
|
||||
}
|
||||
.note {
|
||||
background-color: #DDEAFA;
|
||||
background-image: url(images/note.gif);
|
||||
border-color: #A3D8FD;
|
||||
color: #026DA5;
|
||||
}
|
||||
.warning {
|
||||
background-color: #FBF0B3;
|
||||
background-image: url(images/warning.gif);
|
||||
border-color: #FBBB95;
|
||||
color: #FD6002;
|
||||
}
|
||||
/** end messages **/
|
||||
|
||||
/** begin form **/
|
||||
form {
|
||||
border: 1px solid #DDDDDD;
|
||||
padding: 16px;
|
||||
}
|
||||
form .input {
|
||||
padding-top: 12px;
|
||||
clear: both;
|
||||
}
|
||||
form .first {
|
||||
padding-top: 0;
|
||||
}
|
||||
form .input p {
|
||||
margin-bottom: 7px !important;
|
||||
}
|
||||
form input {
|
||||
margin-right: 5px;
|
||||
}
|
||||
form label {
|
||||
margin-right: 10px;
|
||||
color: #8B8B8B;
|
||||
}
|
||||
form input.text, form textarea {
|
||||
border: 1px solid #BEBDBD;
|
||||
font-size: 1em;
|
||||
font-family: Verdana;
|
||||
background-color: #F3F3F3;
|
||||
color: #808080;
|
||||
padding: 2px;
|
||||
max-width: 100%;
|
||||
}
|
||||
.positive, .negative {
|
||||
font-size: 0.9em;
|
||||
font-weight: bold;
|
||||
padding: 1px 0 0 20px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 0;
|
||||
display: inline;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.positive {
|
||||
background-image: url(images/positive.gif);
|
||||
color: #35A502;
|
||||
}
|
||||
.negative {
|
||||
background-image: url(images/negative.gif);
|
||||
color: #D80303;
|
||||
}
|
||||
form textarea {
|
||||
line-height: 1.6em;
|
||||
}
|
||||
form button, form input.button {
|
||||
font-size: 0.9em;
|
||||
font-family: Verdana;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
background: #B6B4B4 url(images/button.gif) repeat-x 0 0;
|
||||
border: 1px solid #B6B4B4;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
/** end form **/
|
||||
|
||||
/** begin table **/
|
||||
table {
|
||||
|
||||
}
|
||||
table th {
|
||||
font-size: 0.9em;
|
||||
color: #ffffff;
|
||||
background-color: #679BC5;
|
||||
padding: 2px 4px;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
table td {
|
||||
line-height: 1.6em;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
table tr.odd td { background-color: #EEEEEE; }
|
||||
table tr.even td { background-color: #E5E5E5; }
|
||||
|
||||
/** end table **/
|
||||
|
||||
/** begin paragraphs, lists, etc. **/
|
||||
#content p {
|
||||
line-height: 1.6em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#content ul, #content ol {
|
||||
list-style-position: inside;
|
||||
}
|
||||
#content li {
|
||||
line-height: 1.6em;
|
||||
padding: 2px 0 2px 0;
|
||||
}
|
||||
a {
|
||||
color: #679BC5;
|
||||
}
|
||||
a:hover {
|
||||
color: #ff0000;
|
||||
text-decoration: none;
|
||||
}
|
||||
blockquote {
|
||||
padding: 10px;
|
||||
background-color: #eeeeee;
|
||||
line-height: 1.6em;
|
||||
border-width: 2px 0 1px;
|
||||
border-style: solid;
|
||||
border-color: #e0e0e0;
|
||||
}
|
||||
/** end paragraphs, lists, etc. **/
|
||||
|
||||
/** END content **/
|
||||
|
||||
/** BEGIN sidebar **/
|
||||
#sidebar {
|
||||
width: 300px;
|
||||
float: right;
|
||||
padding: 10px 0;
|
||||
}
|
||||
#sidebar h2 {
|
||||
background: green url(images/sidehead.gif) no-repeat 0 0;
|
||||
margin: 0 10px;
|
||||
font-size: 1em;
|
||||
color: #ffffff;
|
||||
padding: 7px 10px;
|
||||
}
|
||||
#sidebar ul {
|
||||
list-style-type: none;
|
||||
background: #E0E0E0 url(images/sidebody.gif) no-repeat 0 bottom;
|
||||
padding: 10px;
|
||||
margin: 0 10px 10px;
|
||||
}
|
||||
#sidebar ul li {
|
||||
padding: 4px 0 4px 14px;
|
||||
background: none;
|
||||
line-height: 1.6em;
|
||||
font-size: 0.9em;
|
||||
font-weight: bold;
|
||||
}
|
||||
#sidebar ul li a {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
}
|
||||
#sidebar ul li a:hover {
|
||||
text-decoration: none;
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
#sidebar ul li a:active {
|
||||
text-decoration: none;
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
#sidebar ul li current {
|
||||
text-decoration: none;
|
||||
color: #ff0000;
|
||||
}
|
||||
.current {
|
||||
text-decoration: none;
|
||||
color: #ff0000;
|
||||
}
|
46
install/template/template.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" dir="<?php echo $locale['direction']; ?>" lang="<?php echo $locale['lang']; ?>" xml:lang="<?php echo $locale['lang']; ?>">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $locale['encoding']; ?>" />
|
||||
<title>MyAAC - <?php echo $locale['installation']; ?></title>
|
||||
<link rel="stylesheet" type="text/css" href="template/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<!--div class="buffer"-->
|
||||
<div id="header">
|
||||
<h1>MyAAC v<?php echo MYAAC_VERSION . ' ' . $locale['installation']; ?></h1>
|
||||
</div>
|
||||
|
||||
<div id="body">
|
||||
|
||||
<div id="sidebar">
|
||||
<h2><?php echo $locale['steps']; ?></h2>
|
||||
<ul>
|
||||
<?php
|
||||
$i = 0;
|
||||
foreach($steps as $key => $value)
|
||||
echo '<li' . ($step == $value ? ' class="current"' : '') . '>' . ++$i . '. ' . $locale['step_' . $value] . '</li>';
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="content">
|
||||
<?php
|
||||
if(isset($locale['step_' . $step . '_title']))
|
||||
echo '<h1>' . $locale['step_' . $step . '_title'] . '</h1>';
|
||||
else
|
||||
echo '<h1>' . $locale['step_' . $step] . '</h1>';
|
||||
echo $content;
|
||||
?>
|
||||
</div>
|
||||
|
||||
<div class="break"></div>
|
||||
</div>
|
||||
<!--/div-->
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
<p style="text-align: center;">Powered by <a href="http://my-aac.org" target="_blank">MyAAC.</a></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|