+++ /dev/null
-<?php
-/**
- * @file mod/install.php
- */
-
-use Friendica\App;
-use Friendica\Core\Install;
-use Friendica\Core\L10n;
-use Friendica\Core\System;
-use Friendica\Database\DBA;
-use Friendica\Database\DBStructure;
-use Friendica\Util\Temporal;
-
-$install_wizard_pass = 1;
-
-function install_init(App $a) {
-
- // $baseurl/install/testrwrite to test if rewite in .htaccess is working
- if ($a->argc == 2 && $a->argv[1] == "testrewrite") {
- echo "ok";
- killme();
- }
-
- // We overwrite current theme css, because during install we could not have a working mod_rewrite
- // so we could not have a css at all. Here we set a static css file for the install procedure pages
-
- $a->setConfigValue('system', 'value', '../install');
- $a->theme['stylesheet'] = System::baseUrl()."/view/install/style.css";
-
- global $install_wizard_pass;
- if (x($_POST, 'pass')) {
- $install_wizard_pass = intval($_POST['pass']);
- }
-
-}
-
-function install_post(App $a) {
- global $install_wizard_pass;
-
- switch($install_wizard_pass) {
- case 1:
- case 2:
- return;
- break; // just in case return don't return :)
- case 3:
- $dbhost = notags(trim($_POST['dbhost']));
- $dbuser = notags(trim($_POST['dbuser']));
- $dbpass = notags(trim($_POST['dbpass']));
- $dbdata = notags(trim($_POST['dbdata']));
- $phpath = notags(trim($_POST['phpath']));
-
- require_once("include/dba.php");
- if (!DBA::connect($dbhost, $dbuser, $dbpass, $dbdata)) {
- $a->data['db_conn_failed'] = true;
- }
-
- return;
- break;
- case 4:
- $urlpath = $a->getURLPath();
- $dbhost = notags(trim($_POST['dbhost']));
- $dbuser = notags(trim($_POST['dbuser']));
- $dbpass = notags(trim($_POST['dbpass']));
- $dbdata = notags(trim($_POST['dbdata']));
- $phpath = notags(trim($_POST['phpath']));
- $timezone = notags(trim($_POST['timezone']));
- $language = notags(trim($_POST['language']));
- $adminmail = notags(trim($_POST['adminmail']));
-
- // connect to db
- DBA::connect($dbhost, $dbuser, $dbpass, $dbdata);
-
- $install = new Install();
-
- $errors = $install->createConfig($phpath, $urlpath, $dbhost, $dbuser, $dbpass, $dbdata, $timezone, $language, $adminmail, $a->getBasePath());
-
- if ($errors !== true) {
- $a->data['data'] = $errors;
- return;
- }
-
- $errors = DBStructure::update(false, true, true);
-
- if ($errors) {
- $a->data['db_failed'] = $errors;
- } else {
- $a->data['db_installed'] = true;
- }
-
- return;
- break;
- }
-}
-
-function install_content(App $a) {
-
- global $install_wizard_pass;
- $o = '';
- $wizard_status = "";
- $install_title = L10n::t('Friendica Communications Server - Setup');
-
- if (x($a->data, 'db_conn_failed')) {
- $install_wizard_pass = 2;
- $wizard_status = L10n::t('Could not connect to database.');
- }
- if (x($a->data, 'db_create_failed')) {
- $install_wizard_pass = 2;
- $wizard_status = L10n::t('Could not create table.');
- }
-
- $db_return_text = "";
- if (x($a->data, 'db_installed')) {
- $txt = '<p style="font-size: 130%;">';
- $txt .= L10n::t('Your Friendica site database has been installed.') . EOL;
- $db_return_text .= $txt;
- }
-
- if (x($a->data, 'db_failed')) {
- $txt = L10n::t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . EOL;
- $txt .= L10n::t('Please see the file "INSTALL.txt".') . EOL ."<hr>";
- $txt .= "<pre>".$a->data['db_failed'] . "</pre>". EOL;
- $db_return_text .= $txt;
- }
-
- if (DBA::$connected) {
- $r = q("SELECT COUNT(*) as `total` FROM `user`");
- if (DBA::isResult($r) && $r[0]['total']) {
- $install_wizard_pass = 2;
- $wizard_status = L10n::t('Database already in use.');
- }
- }
-
- if (x($a->data, 'txt') && strlen($a->data['txt'])) {
- $db_return_text .= manual_config($a);
- }
-
- if ($db_return_text != "") {
- $tpl = get_markup_template('install.tpl');
- return replace_macros($tpl, [
- '$title' => $install_title,
- '$pass' => "",
- '$text' => $db_return_text . what_next(),
- ]);
- }
-
- switch ($install_wizard_pass) {
- case 1: { // System check
-
- $phpath = defaults($_POST, 'phpath', 'php');
-
- $install = new Install($phpath);
-
- $status = $install->checkAll($a->getBasePath(), $a->getBaseURL());
-
- $tpl = get_markup_template('install_checks.tpl');
- $o .= replace_macros($tpl, [
- '$title' => $install_title,
- '$pass' => L10n::t('System check'),
- '$checks' => $install->getChecks(),
- '$passed' => $status,
- '$see_install' => L10n::t('Please see the file "INSTALL.txt".'),
- '$next' => L10n::t('Next'),
- '$reload' => L10n::t('Check again'),
- '$phpath' => $phpath,
- '$baseurl' => $a->getBaseURL(),
- ]);
- return $o;
- }; break;
-
- case 2: { // Database config
-
- $dbhost = notags(trim(defaults($_POST, 'dbhost' , 'localhost')));
- $dbuser = notags(trim(defaults($_POST, 'dbuser' , '' )));
- $dbpass = notags(trim(defaults($_POST, 'dbpass' , '' )));
- $dbdata = notags(trim(defaults($_POST, 'dbdata' , '' )));
- $phpath = notags(trim(defaults($_POST, 'phpath' , '' )));
- $adminmail = notags(trim(defaults($_POST, 'adminmail', '' )));
-
- $tpl = get_markup_template('install_db.tpl');
- $o .= replace_macros($tpl, [
- '$title' => $install_title,
- '$pass' => L10n::t('Database connection'),
- '$info_01' => L10n::t('In order to install Friendica we need to know how to connect to your database.'),
- '$info_02' => L10n::t('Please contact your hosting provider or site administrator if you have questions about these settings.'),
- '$info_03' => L10n::t('The database you specify below should already exist. If it does not, please create it before continuing.'),
-
- '$status' => $wizard_status,
-
- '$dbhost' => ['dbhost', L10n::t('Database Server Name'), $dbhost, '', 'required'],
- '$dbuser' => ['dbuser', L10n::t('Database Login Name'), $dbuser, '', 'required', 'autofocus'],
- '$dbpass' => ['dbpass', L10n::t('Database Login Password'), $dbpass, L10n::t("For security reasons the password must not be empty"), 'required'],
- '$dbdata' => ['dbdata', L10n::t('Database Name'), $dbdata, '', 'required'],
- '$adminmail' => ['adminmail', L10n::t('Site administrator email address'), $adminmail, L10n::t('Your account email address must match this in order to use the web admin panel.'), 'required', 'autofocus', 'email'],
-
- '$lbl_10' => L10n::t('Please select a default timezone for your website'),
-
- '$baseurl' => $a->getBaseURL(),
-
- '$phpath' => $phpath,
-
- '$submit' => L10n::t('Submit'),
- ]);
- return $o;
- }; break;
- case 3: { // Site settings
- $dbhost = ((x($_POST, 'dbhost')) ? notags(trim($_POST['dbhost'])) : 'localhost');
- $dbuser = notags(trim($_POST['dbuser']));
- $dbpass = notags(trim($_POST['dbpass']));
- $dbdata = notags(trim($_POST['dbdata']));
- $phpath = notags(trim($_POST['phpath']));
-
- $adminmail = notags(trim($_POST['adminmail']));
- $timezone = ((x($_POST, 'timezone')) ? ($_POST['timezone']) : 'America/Los_Angeles');
- /* Installed langs */
- $lang_choices = L10n::getAvailableLanguages();
-
- $tpl = get_markup_template('install_settings.tpl');
- $o .= replace_macros($tpl, [
- '$title' => $install_title,
- '$pass' => L10n::t('Site settings'),
-
- '$status' => $wizard_status,
-
- '$dbhost' => $dbhost,
- '$dbuser' => $dbuser,
- '$dbpass' => $dbpass,
- '$dbdata' => $dbdata,
- '$phpath' => $phpath,
-
- '$adminmail' => ['adminmail', L10n::t('Site administrator email address'), $adminmail, L10n::t('Your account email address must match this in order to use the web admin panel.'), 'required', 'autofocus', 'email'],
-
-
- '$timezone' => Temporal::getTimezoneField('timezone', L10n::t('Please select a default timezone for your website'), $timezone, ''),
- '$language' => ['language', L10n::t('System Language:'), 'en', L10n::t('Set the default language for your Friendica installation interface and to send emails.'), $lang_choices],
- '$baseurl' => $a->getBaseURL(),
-
- '$submit' => L10n::t('Submit'),
-
- ]);
- return $o;
- }; break;
-
- }
-}
-
-function manual_config(App $a) {
- $data = htmlentities($a->data['txt'],ENT_COMPAT, 'UTF-8');
- $o = L10n::t('The database configuration file "config/local.ini.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.');
- $o .= "<textarea rows=\"24\" cols=\"80\" >$data</textarea>";
- return $o;
-}
-
-function load_database_rem($v, $i) {
- $l = trim($i);
- if (strlen($l)>1 && ($l[0] == "-" || ($l[0] == "/" && $l[1] == "*"))) {
- return $v;
- } else {
- return $v."\n".$i;
- }
-}
-
-function what_next() {
- $baseurl = System::baseUrl();
- return
- L10n::t('<h1>What next</h1>')
- ."<p>".L10n::t('IMPORTANT: You will need to [manually] setup a scheduled task for the worker.')
- .L10n::t('Please see the file "INSTALL.txt".')
- ."</p><p>"
- .L10n::t('Go to your new Friendica node <a href="%s/register">registration page</a> and register as new user. Remember to use the same email you have entered as administrator email. This will allow you to enter the site admin panel.', $baseurl)
- ."</p>";
-}
/**
* Checks the current installation environment. There are optional and mandatory checks.
*
- * @param string $basepath The basepath of Friendica
* @param string $baseurl The baseurl of Friendica
* @param string $phpath Optional path to the PHP binary
*
* @return bool if the check succeed
*/
- public function checkAll($basepath, $baseurl, $phpath = null)
+ public function checkAll($baseurl, $phpath = null)
{
$returnVal = true;
$returnVal = false;
}
- if (!$this->checkHtAccess($basepath, $baseurl)) {
+ if (!$this->checkHtAccess($baseurl)) {
$returnVal = false;
}
*
* Checks, if "url_rewrite" is enabled in the ".htaccess" file
*
- * @param string $basepath The basepath of the app
* @param string $baseurl The baseurl of the app
* @return bool false if something required failed
*/
- public function checkHtAccess($basepath, $baseurl)
+ public function checkHtAccess($baseurl)
{
$status = true;
$help = "";
$error_msg = "";
if (function_exists('curl_init')) {
- $fetchResult = Network::fetchUrlFull($basepath . "/install/testrewrite");
+ $fetchResult = Network::fetchUrlFull($baseurl . "/install/testrewrite");
$url = normalise_link($baseurl . "/install/testrewrite");
- if ($fetchResult->getBody() != "ok") {
+ if ($fetchResult->getReturnCode() != 204) {
$fetchResult = Network::fetchUrlFull($url);
}
- if ($fetchResult->getBody() != "ok") {
+ if ($fetchResult->getReturnCode() != 204) {
$status = false;
$help = L10n::t('Url rewrite in .htaccess is not working. Check your server configuration.');
$error_msg = [];
--- /dev/null
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\App;
+use Friendica\BaseModule;
+use Friendica\Database\DBA;
+use Friendica\Database\DBStructure;
+use Friendica\Core;
+use Friendica\Core\L10n;
+use Friendica\Util\Temporal;
+
+class Install extends BaseModule
+{
+ /**
+ * Step one - System check
+ */
+ const SYSTEM_CHECK = 1;
+ /**
+ * Step two - Database configuration
+ */
+ const DATABASE_CONFIG = 2;
+ /**
+ * Step three - Adapat site settings
+ */
+ const SITE_SETTINGS = 3;
+ /**
+ * Step four - All steps finished
+ */
+ const FINISHED = 4;
+
+ // Default values for the install page
+ const DEFAULT_LANG = 'en';
+ const DEFAULT_TZ = 'America/Los_Angeles';
+ const DEFAULT_HOST = 'localhost';
+
+ /**
+ * @var int The current step of the wizard
+ */
+ private static $currentWizardStep;
+
+ public static function init()
+ {
+ $a = self::getApp();
+
+ // route: install/testrwrite
+ // $baseurl/install/testrwrite to test if rewrite in .htaccess is working
+ if ($a->getArgumentValue(1, '') == 'testrewrite') {
+ // Status Code 204 means that it worked without content
+ Core\System::httpExit(204);
+ }
+
+ // We overwrite current theme css, because during install we clould not have a working mod_rewrite
+ // so we could not have a css at all. Here we set a static css file for the install procedure pages
+ $a->setConfigValue('system', 'value', '../install');
+ $a->theme['stylesheet'] = $a->getBaseURL() . '/view/install/style.css';
+
+ self::$currentWizardStep = defaults($_POST, 'pass', self::SYSTEM_CHECK);
+ }
+
+ public static function post()
+ {
+ $a = self::getApp();
+
+ switch (self::$currentWizardStep) {
+ case self::SYSTEM_CHECK:
+ case self::DATABASE_CONFIG:
+ // Nothing to do in these steps
+ return;
+
+ case self::SITE_SETTINGS:
+ $dbhost = notags(trim(defaults($_POST, 'dbhost', self::DEFAULT_HOST)));
+ $dbuser = notags(trim(defaults($_POST, 'dbuser', '')));
+ $dbpass = notags(trim(defaults($_POST, 'dbpass', '')));
+ $dbdata = notags(trim(defaults($_POST, 'dbdata', '')));
+
+ require_once 'include/dba.php';
+ if (!DBA::connect($dbhost, $dbuser, $dbpass, $dbdata)) {
+ $a->data['db_conn_failed'] = true;
+ }
+
+ return;
+
+ case self::FINISHED:
+ $urlpath = $a->getURLPath();
+ $dbhost = notags(trim(defaults($_POST, 'dbhost', self::DEFAULT_HOST)));
+ $dbuser = notags(trim(defaults($_POST, 'dbuser', '')));
+ $dbpass = notags(trim(defaults($_POST, 'dbpass', '')));
+ $dbdata = notags(trim(defaults($_POST, 'dbdata', '')));
+ $phpath = notags(trim(defaults($_POST, 'phpath', '')));
+ $timezone = notags(trim(defaults($_POST, 'timezone', self::DEFAULT_TZ)));
+ $language = notags(trim(defaults($_POST, 'language', self::DEFAULT_LANG)));
+ $adminmail = notags(trim(defaults($_POST, 'adminmail', '')));
+
+ // connect to db
+ DBA::connect($dbhost, $dbuser, $dbpass, $dbdata);
+
+ $install = new Core\Install();
+
+ $errors = $install->createConfig($phpath, $urlpath, $dbhost, $dbuser, $dbpass, $dbdata, $timezone, $language, $adminmail, $a->getBasePath());
+
+ if ($errors !== true) {
+ $a->data['txt'] = $errors;
+ return;
+ }
+
+ $errors = DBStructure::update(false, true, true);
+
+ if ($errors) {
+ $a->data['db_failed'] = $errors;
+ } else {
+ $a->data['db_installed'] = true;
+ }
+
+ return;
+
+ default:
+ return;
+ }
+ }
+
+ public static function content()
+ {
+ $a = self::getApp();
+
+ $output = '';
+
+ $install_title = L10n::t('Friendica Communctions Server - Setup');
+ $wizard_status = self::checkWizardStatus($a);
+
+ switch (self::$currentWizardStep) {
+ case self::SYSTEM_CHECK:
+ $phppath = defaults($_POST, 'phpath', null);
+
+ $install = new Core\Install();
+ $status = $install->checkAll($a->getBaseURL(), $phppath);
+
+ $tpl = get_markup_template('install_checks.tpl');
+ $output .= replace_macros($tpl, [
+ '$title' => $install_title,
+ '$pass' => L10n::t('System check'),
+ '$checks' => $install->getChecks(),
+ '$passed' => $status,
+ '$see_install' => L10n::t('Please see the file "Install.txt".'),
+ '$next' => L10n::t('Next'),
+ '$reload' => L10n::t('Check again'),
+ '$phpath' => $phppath,
+ '$baseurl' => $a->getBaseURL()
+ ]);
+ break;
+
+ case self::DATABASE_CONFIG:
+ $dbhost = notags(trim(defaults($_POST, 'dbhost' , self::DEFAULT_HOST)));
+ $dbuser = notags(trim(defaults($_POST, 'dbuser' , '')));
+ $dbpass = notags(trim(defaults($_POST, 'dbpass' , '')));
+ $dbdata = notags(trim(defaults($_POST, 'dbdata' , '')));
+ $phpath = notags(trim(defaults($_POST, 'phpath' , '')));
+ $adminmail = notags(trim(defaults($_POST, 'adminmail', '')));
+
+ $tpl = get_markup_template('install_db.tpl');
+ $output .= replace_macros($tpl, [
+ '$title' => $install_title,
+ '$pass' => L10n::t('Database connection'),
+ '$info_01' => L10n::t('In order to install Friendica we need to know how to connect to your database.'),
+ '$info_02' => L10n::t('Please contact your hosting provider or site administrator if you have questions about these settings.'),
+ '$info_03' => L10n::t('The database you specify below should already exist. If it does not, please create it before continuing.'),
+ '$status' => $wizard_status,
+ '$dbhost' => ['dbhost',
+ L10n::t('Database Server Name'),
+ $dbhost,
+ '',
+ 'required'],
+ '$dbuser' => ['dbuser',
+ L10n::t('Database Login Name'),
+ $dbuser,
+ '',
+ 'required',
+ 'autofocus'],
+ '$dbpass' => ['dbpass',
+ L10n::t('Database Login Password'),
+ $dbpass,
+ L10n::t("For security reasons the password must not be empty"),
+ 'required'],
+ '$dbdata' => ['dbdata',
+ L10n::t('Database Name'),
+ $dbdata,
+ '',
+ 'required'],
+ '$adminmail' => ['adminmail',
+ L10n::t('Site administrator email address'),
+ $adminmail,
+ L10n::t('Your account email address must match this in order to use the web admin panel.'),
+ 'required',
+ 'autofocus',
+ 'email'],
+ '$lbl_10' => L10n::t('Please select a default timezone for your website'),
+ '$baseurl' => $a->getBaseURL(),
+ '$phpath' => $phpath,
+ '$submit' => L10n::t('Submit')
+ ]);
+ break;
+ case self::SITE_SETTINGS:
+ $dbhost = notags(trim(defaults($_POST, 'dbhost', self::DEFAULT_HOST)));
+ $dbuser = notags(trim(defaults($_POST, 'dbuser', '' )));
+ $dbpass = notags(trim(defaults($_POST, 'dbpass', '' )));
+ $dbdata = notags(trim(defaults($_POST, 'dbdata', '' )));
+ $phpath = notags(trim(defaults($_POST, 'phpath', '' )));
+
+ $adminmail = notags(trim(defaults($_POST, 'adminmail', '')));
+
+ $timezone = defaults($_POST, 'timezone', self::DEFAULT_TZ);
+ /* Installed langs */
+ $lang_choices = L10n::getAvailableLanguages();
+
+ $tpl = get_markup_template('install_settings.tpl');
+ $output .= replace_macros($tpl, [
+ '$title' => $install_title,
+ '$pass' => L10n::t('Site settings'),
+ '$status' => $wizard_status,
+ '$dbhost' => $dbhost,
+ '$dbuser' => $dbuser,
+ '$dbpass' => $dbpass,
+ '$dbdata' => $dbdata,
+ '$phpath' => $phpath,
+ '$adminmail' => ['adminmail', L10n::t('Site administrator email address'), $adminmail, L10n::t('Your account email address must match this in order to use the web admin panel.'), 'required', 'autofocus', 'email'],
+ '$timezone' => Temporal::getTimezoneField('timezone', L10n::t('Please select a default timezone for your website'), $timezone, ''),
+ '$language' => ['language',
+ L10n::t('System Language:'), #
+ self::DEFAULT_LANG,
+ L10n::t('Set the default language for your Friendica installation interface and to send emails.'),
+ $lang_choices],
+ '$baseurl' => $a->getBaseURL(),
+ '$submit' => L10n::t('Submit')
+ ]);
+ break;
+
+ case self::FINISHED:
+ $db_return_text = "";
+
+ if (defaults($a->data, 'db_installed', false)) {
+ $txt = '<p style="font-size: 130%;">';
+ $txt .= L10n::t('Your Friendica site database has been installed.') . EOL;
+ $db_return_text .= $txt;
+ }
+
+ if (defaults($a->data, 'db_failed', false)) {
+ $txt = L10n::t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . EOL;
+ $txt .= L10n::t('Please see the file "INSTALL.txt".') . EOL ."<hr>";
+ $txt .= "<pre>".$a->data['db_failed'] . "</pre>". EOL;
+ $db_return_text .= $txt;
+ }
+
+ if (isset($a->data['txt']) && strlen($a->data['txt'])) {
+ $db_return_text .= self::manualConfig($a);
+ }
+
+ $tpl = get_markup_template('install.tpl');
+ $output .= replace_macros($tpl, [
+ '$title' => $install_title,
+ '$pass' => "",
+ '$text' => $db_return_text . self::whatNext($a),
+ ]);
+
+ break;
+ }
+
+ return $output;
+ }
+
+ /**
+ * @param App $a The global Friendica App
+ *
+ * @return string The status of Wizard steps
+ */
+ private static function checkWizardStatus($a)
+ {
+ $wizardStatus = "";
+
+ if (defaults($a->data, 'db_conn_failed', false)) {
+ self::$currentWizardStep = 2;
+ $wizardStatus = L10n::t('Could not connect to database.');
+ }
+
+ if (defaults($a->data, 'db_create_failed', false)) {
+ self::$currentWizardStep = 2;
+ $wizardStatus = L10n::t('Could not create table.');
+ }
+
+ if (DBA::connected()) {
+ if (DBA::count('user')) {
+ self::$currentWizardStep = 2;
+ $wizardStatus = L10n::t('Database already in use.');
+ }
+ }
+
+ return $wizardStatus;
+ }
+
+ /**
+ * Creates the text for manual config
+ *
+ * @param App $a The global App
+ *
+ * @return string The manual config text
+ */
+ private static function manualConfig($a) {
+ $data = htmlentities($a->data['txt'],ENT_COMPAT, 'UTF-8');
+ $output = L10n::t('The database configuration file "config/local.ini.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.');
+ $output .= "<textarea rows=\"24\" cols=\"80\" >$data</textarea>";
+ return $output;
+ }
+
+ /**
+ * Creates the text for the next steps
+ *
+ * @param App $a The global App
+ *
+ * @return string The text for the next steps
+ */
+ private static function whatNext($a) {
+ $baseurl = $a->getBaseUrl();
+ return
+ L10n::t('<h1>What next</h1>')
+ ."<p>".L10n::t('IMPORTANT: You will need to [manually] setup a scheduled task for the worker.')
+ .L10n::t('Please see the file "INSTALL.txt".')
+ ."</p><p>"
+ .L10n::t('Go to your new Friendica node <a href="%s/register">registration page</a> and register as new user. Remember to use the same email you have entered as administrator email. This will allow you to enter the site admin panel.', $baseurl)
+ ."</p>";
+ }
+}
// Mocking the CURL Response
$curlResult = \Mockery::mock('Friendica\Network\CurlResult');
$curlResult
- ->shouldReceive('getBody')
- ->andReturn('not ok');
+ ->shouldReceive('getReturnCode')
+ ->andReturn('404');
$curlResult
->shouldReceive('getRedirectUrl')
->andReturn('');
$install = new Install();
- $this->assertFalse($install->checkHtAccess('https://test', 'https://test'));
+ $this->assertFalse($install->checkHtAccess('https://test'));
$this->assertSame('test Error', $install->getChecks()[0]['error_msg']['msg']);
}
// Mocking the failed CURL Response
$curlResultF = \Mockery::mock('Friendica\Network\CurlResult');
$curlResultF
- ->shouldReceive('getBody')
- ->andReturn('not ok');
+ ->shouldReceive('getReturnCode')
+ ->andReturn('404');
// Mocking the working CURL Response
$curlResultW = \Mockery::mock('Friendica\Network\CurlResult');
$curlResultW
- ->shouldReceive('getBody')
- ->andReturn('ok');
+ ->shouldReceive('getReturnCode')
+ ->andReturn('204');
// Mocking the CURL Request
$networkMock = \Mockery::mock('alias:Friendica\Util\Network');
$install = new Install();
- $this->assertTrue($install->checkHtAccess('https://test', 'https://test'));
+ $this->assertTrue($install->checkHtAccess('https://test'));
}
/**