X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=install.php;h=8a299f89755bc13d2c51466c85681d3f90f7c1aa;hb=1e21af42a685f600f4a53f49a194013e78b12f20;hp=78a4b8763695141e90738201f96ebc8c52c5a573;hpb=104a47e4a2903f1c7ea73363a73cee12f0cf14ac;p=quix0rs-gnu-social.git
diff --git a/install.php b/install.php
index 78a4b87636..8a299f8975 100644
--- a/install.php
+++ b/install.php
@@ -31,6 +31,7 @@
* @author Robin Millette
* @author Sarven Capadisli
* @author Tom Adams
+ * @author Zach Copley
* @license GNU Affero General Public License http://www.gnu.org/licenses/
* @version 0.9.x
* @link http://status.net
@@ -300,8 +301,21 @@ function checkPrereqs()
$pass = false;
}
+ // Look for known library bugs
+ $str = "abcdefghijklmnopqrstuvwxyz";
+ $replaced = preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
+ if ($str != $replaced) {
+ printf('
PHP is linked to a version of the PCRE library ' .
+ 'that does not support Unicode properties. ' .
+ 'If you are running Red Hat Enterprise Linux / ' .
+ 'CentOS 5.4 or earlier, see our documentation page on fixing this.
');
+ $pass = false;
+ }
+
$reqs = array('gd', 'curl',
- 'xmlwriter', 'mbstring','tidy');
+ 'xmlwriter', 'mbstring', 'xml', 'dom', 'simplexml');
foreach ($reqs as $req) {
if (!checkExtension($req)) {
@@ -391,7 +405,7 @@ function showLibs()
libraries instead, as they tend to provide security updates faster, and may offer improved performance.
On Debian based distributions, such as Ubuntu, use a package manager (such as "aptitude", "apt-get", and "synaptic") to install the package listed.
On RPM based distributions, such as Red Hat, Fedora, CentOS, Scientific Linux, Yellow Dog Linux and Oracle Enterprise Linux, use a package manager (such as "yum", "apt-rpm", and "up2date") to install the package listed.
-
On servers without a package manager (such as Windows), or if the library is not packaged for your distribution, you can use PHP PEAR to install the library. Simply run "pear install <name>".
+
On servers without a package manager (such as Windows), or if the library is not packaged for your distribution, you can use PHP's PEAR to install the library. Simply run "pear install <name>".
Absent Libraries
@@ -434,73 +448,125 @@ E_O_T;
E_O_T;
}
+/**
+ * Helper class for building form
+ */
+class Posted {
+ function value($name)
+ {
+ if (isset($_POST[$name])) {
+ return htmlspecialchars(strval($_POST[$name]));
+ } else {
+ return '';
+ }
+ }
+}
+
function showForm()
{
global $dbModules;
+ $post = new Posted();
$dbRadios = '';
- $checked = 'checked="checked" '; // Check the first one which exists
+ if (isset($_POST['dbtype'])) {
+ $dbtype = $_POST['dbtype'];
+ } else {
+ $dbtype = null;
+ }
foreach ($dbModules as $type => $info) {
if (checkExtension($info['check_module'])) {
+ if ($dbtype == null || $dbtype == $type) {
+ $checked = 'checked="checked" ';
+ $dbtype = $type; // if we didn't have one checked, hit the first
+ } else {
+ $checked = '';
+ }
$dbRadios .= " $info[name] \n";
- $checked = '';
}
}
+
echo<<
-
-
Page notice
-
-
-
Enter your database connection information below to initialize the database.