* Helper class for building form
*/
class Posted {
+ /**
+ * HTML-friendly escaped string for the POST param of given name, or empty.
+ * @param string $name
+ * @return string
+ */
function value($name)
+ {
+ return htmlspecialchars($this->string($name));
+ }
+
+ /**
+ * The given POST parameter value, forced to a string.
+ * Missing value will give ''.
+ *
+ * @param string $name
+ * @return string
+ */
+ function string($name)
+ {
+ return strval($this->raw($name));
+ }
+
+ /**
+ * The given POST parameter value, in its original form.
+ * Magic quotes are stripped, if provided.
+ * Missing value will give null.
+ *
+ * @param string $name
+ * @return mixed
+ */
+ function raw($name)
{
if (isset($_POST[$name])) {
- return htmlspecialchars(strval($_POST[$name]));
+ return $this->dequote($_POST[$name]);
} else {
- return '';
+ return null;
}
}
+
+ /**
+ * If necessary, strip magic quotes from the given value.
+ *
+ * @param mixed $val
+ * @return mixed
+ */
+ function dequote($val)
+ {
+ if (get_magic_quotes_gpc()) {
+ if (is_string($val)) {
+ return stripslashes($val);
+ } else if (is_array($val)) {
+ return array_map(array($this, 'dequote'), $val);
+ }
+ }
+ return $val;
+ }
}
/**
global $dbModules;
$post = new Posted();
$dbRadios = '';
- if (isset($_POST['dbtype'])) {
- $dbtype = $_POST['dbtype'];
- } else {
- $dbtype = null;
- }
+ $dbtype = $post->raw('dbtype');
foreach (self::$dbModules as $type => $info) {
if ($this->checkExtension($info['check_module'])) {
if ($dbtype == null || $dbtype == $type) {
*/
function prepare()
{
- $this->host = $_POST['host'];
- $this->dbtype = $_POST['dbtype'];
- $this->database = $_POST['database'];
- $this->username = $_POST['dbusername'];
- $this->password = $_POST['dbpassword'];
- $this->sitename = $_POST['sitename'];
- $this->fancy = !empty($_POST['fancy']);
+ $post = new Posted();
+ $this->host = $post->string('host');
+ $this->dbtype = $post->string('dbtype');
+ $this->database = $post->string('database');
+ $this->username = $post->string('dbusername');
+ $this->password = $post->string('dbpassword');
+ $this->sitename = $post->string('sitename');
+ $this->fancy = (bool)$post->string('fancy');
- $this->adminNick = strtolower($_POST['admin_nickname']);
- $this->adminPass = $_POST['admin_password'];
- $adminPass2 = $_POST['admin_password2'];
- $this->adminEmail = $_POST['admin_email'];
- $this->adminUpdates = $_POST['admin_updates'];
+ $this->adminNick = strtolower($post->string('admin_nickname'));
+ $this->adminPass = $post->string('admin_password');
+ $adminPass2 = $post->string('admin_password2');
+ $this->adminEmail = $post->string('admin_email');
+ $this->adminUpdates = $post->string('admin_updates');
$this->server = $_SERVER['HTTP_HOST'];
$this->path = substr(dirname($_SERVER['PHP_SELF']), 1);
<head>
<title>Install StatusNet</title>
<link rel="shortcut icon" href="favicon.ico"/>
- <link rel="stylesheet" type="text/css" href="theme/default/css/display.css" media="screen, projection, tv"/>
+ <link rel="stylesheet" type="text/css" href="theme/base/css/display.css" media="screen, projection, tv"/>
+ <link rel="stylesheet" type="text/css" href="theme/neo/css/display.css" media="screen, projection, tv"/>
<!--[if IE]><link rel="stylesheet" type="text/css" href="theme/base/css/ie.css" /><![endif]-->
<!--[if lte IE 6]><link rel="stylesheet" type="text/css" theme/base/css/ie6.css" /><![endif]-->
- <!--[if IE]><link rel="stylesheet" type="text/css" href="theme/default/css/ie.css" /><![endif]-->
+ <!--[if IE]><link rel="stylesheet" type="text/css" href="theme/neo/css/ie.css" /><![endif]-->
<script src="js/jquery.min.js"></script>
<script src="js/install.js"></script>
</head>
<div id="header">
<address id="site_contact" class="vcard">
<a class="url home bookmark" href=".">
- <img class="logo photo" src="theme/default/logo.png" alt="StatusNet"/>
+ <img class="logo photo" src="theme/neo/logo.png" alt="StatusNet"/>
<span class="fn org">StatusNet</span>
</a>
</address>
+ <div id="site_nav_global_primary"></div>
</div>
<div id="core">
+ <div id="aside_primary_wrapper">
+ <div id="content_wrapper">
+ <div id="site_nav_local_views_wrapper">
+ <div id="site_nav_local_views"></div>
+
<div id="content">
<div id="content_inner">
<h1>Install StatusNet</h1>
?>
</div>
</div>
+
+ <div id="aside_primary" class="aside"></div>
+ </div>
+ </div>
+ </div>
</div>
+ <div id="footer"></div>
</div>
</body>
</html>