Installer updates
Added probe.php Added new installer views and controllers Updated AuthController Updated Middlewares Updated Commands for installation process
This commit is contained in:
@@ -9,7 +9,7 @@ active
|
||||
|
||||
<div class="woocommerce-message woocommerce-tracker" >
|
||||
<center id="fail" style="font-size: 1.3em">JavaScript Disabled!</center>
|
||||
<p style="font-size:1.0em">Hello, Sparky! You are just a few steps away from your support system. It looks like that JavaScript is disabled in your browser or not supported by your browser. FAVEO doesn't work properly without JavaScript, and it may cause errors in installation. Please check and enable JavaScript in your browser in order to install and run FAVEO to its full extent.</p>
|
||||
<p style="font-size:1.0em">Hello, Sparky! You are just a few steps away from your support system. It looks like that JavaScript is not supported or disabled in your browser. FAVEO doesn't work properly without JavaScript, and it may cause errors in installation process. Please check and enable JavaScript in your browser in order to install and run FAVEO to its full extent.</p>
|
||||
<p class="wc-setup-actions step">
|
||||
Have you enabled JavaScript?
|
||||
<a href="{!! $url !!}">Click here</a> to reload the page now.
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1,9 +1,5 @@
|
||||
@extends('themes.default1.installer.layout.installer')
|
||||
|
||||
@section('license')
|
||||
done
|
||||
@stop
|
||||
|
||||
@section('environment')
|
||||
active
|
||||
@stop
|
||||
@@ -11,7 +7,13 @@ active
|
||||
|
||||
|
||||
@section('content')
|
||||
|
||||
<div id="no-js">
|
||||
<noscript>
|
||||
<meta http-equiv="refresh" content="0; URL=JavaScript-disabled">
|
||||
<style type="text/css">#form-content {display: none;}</style>
|
||||
</noscript>
|
||||
</div>
|
||||
|
||||
<div id="form-content">
|
||||
<center><h1>Environment Test</h1></center>
|
||||
@if (Session::has('fail_to_change'))
|
||||
@@ -53,8 +55,8 @@ class TestResult {
|
||||
<?php
|
||||
|
||||
function validate_php(&$results) {
|
||||
if (version_compare(PHP_VERSION, '5.5') == -1) {
|
||||
$results[] = new TestResult('Minimum PHP version required in order to run Faveo HELPDESK is PHP 5.5. Your PHP version: ' . PHP_VERSION, STATUS_ERROR);
|
||||
if (version_compare(PHP_VERSION, '7.1.3') == -1) {
|
||||
$results[] = new TestResult('PHP version required in order to run Faveo HELPDESK is PHP 7.1.3 or greater. Your PHP version: ' . PHP_VERSION, STATUS_ERROR);
|
||||
return false;
|
||||
} else {
|
||||
$results[] = new TestResult('Your PHP version is ' . PHP_VERSION, STATUS_OK);
|
||||
@@ -74,6 +76,7 @@ function validate_php(&$results) {
|
||||
function php_config_value_to_bytes($val) {
|
||||
$val = trim($val);
|
||||
$last = strtolower($val{strlen($val) - 1});
|
||||
$val = (integer)$val;
|
||||
switch ($last) {
|
||||
// The 'G' modifier is available since PHP 5.1.0
|
||||
case 'g':
|
||||
@@ -178,7 +181,9 @@ function validate_zend_compatibility_mode(&$results) {
|
||||
function validate_extensions(&$results) {
|
||||
$ok = true;
|
||||
|
||||
$required_extensions = array('mcrypt', 'openssl', 'pdo', 'fileinfo', 'curl', 'zip', 'mbstring');
|
||||
$required_extensions = ['curl', 'ctype', 'imap', 'mbstring',
|
||||
'openssl', 'tokenizer', 'zip', 'pdo', 'mysqli', 'bcmath',
|
||||
'iconv', 'xml', 'json'];
|
||||
|
||||
foreach ($required_extensions as $required_extension) {
|
||||
if (extension_loaded($required_extension)) {
|
||||
@@ -202,7 +207,8 @@ function validate_extensions(&$results) {
|
||||
} // if
|
||||
|
||||
$recommended_extensions = array(
|
||||
'imap' => 'IMAP extension is used for connecting to mail server using IMAP settings to fetch emails in the system.'
|
||||
// 'imap' => 'IMAP extension is used for connecting to mail server using IMAP settings to fetch emails in the system.',
|
||||
// 'mcrypt' => 'Optional extension',
|
||||
// 'gd' => 'GD is used for image manipulation. Without it, system is not able to create thumbnails for files or manage avatars, logos and project icons. Please refer to <a href="http://www.php.net/manual/en/image.installation.php">this</a> page for installation instructions',
|
||||
// 'mbstring' => 'MultiByte String is used for work with Unicode. Without it, system may not split words and string properly and you can have weird question mark characters in Recent Activities for example. Please refer to <a href="http://www.php.net/manual/en/mbstring.installation.php">this</a> page for installation instructions',
|
||||
// 'curl' => 'cURL is used to support various network tasks. Please refer to <a href="http://www.php.net/manual/en/curl.installation.php">this</a> page for installation instructions',
|
||||
@@ -257,6 +263,7 @@ function checkMaxExecutiontime(&$results)
|
||||
}
|
||||
return $ok;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------
|
||||
// Do the magic
|
||||
// ---------------------------------------------------
|
||||
@@ -288,7 +295,7 @@ if ($php_ok && $memory_ok && $extensions_ok && $file_permission && $required_fun
|
||||
|
||||
|
||||
<form action="{{URL::route('postprerequisites')}}" method="post" class="border-line">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
{{ csrf_field() }}
|
||||
<p class="setup-actions step">
|
||||
<input type="submit" id="submitme" class="button-primary button button-large button-next" value="Continue">
|
||||
<a href="{!! route('licence') !!}" class="button button-large button-next" style="float: left">Previous</a>
|
||||
@@ -319,4 +326,4 @@ if ($php_ok && $memory_ok && $extensions_ok && $file_permission && $required_fun
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
@stop
|
||||
|
@@ -53,7 +53,7 @@ active
|
||||
<td>
|
||||
<div class="side-by-side clearfix moveleftthre">
|
||||
<div>
|
||||
<select name="default" data-placeholder="Choose a SQL format..." class="chosen-select" style="width:290px;" tabindex="2">
|
||||
<select name="default" data-placeholder="Choose a SQL format..." class="chosen-select" style="width:288px;" tabindex="2">
|
||||
<option value="mysql">MySQL</option>
|
||||
</select>
|
||||
</div>
|
||||
@@ -126,9 +126,15 @@ active
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<p ng-controller="MainController">
|
||||
<input id="dummy-data" class="input-checkbox" type="checkbox" name="dummy-data">
|
||||
<label for="dummy-data" style="color:#3AA7D9">Install dummy data</label>
|
||||
<button type="button" data-toggle="popover" data-placement="right" data-arrowcolor="#eeeeee" data-bordercolor="#bbbbbb" data-title-backcolor="#cccccc" data-title-bordercolor="#bbbbbb" data-title-textcolor="#444444" data-content-backcolor="#eeeeee" data-content-textcolor="#888888" title="@{{DummyDataTitle}}" data-content="@{{DummyDataContent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
|
||||
</button>
|
||||
</p>
|
||||
<p class="setup-actions step">
|
||||
<input type="submit" id="submitme" class="button-primary button button-large button-next" value="Continue">
|
||||
<a href="{!! route('prerequisites') !!}" class="button button-large button-next" style="float: left">Previous</a>
|
||||
<a href="{!! route('licence') !!}" class="button button-large button-next" style="float: left">Previous</a>
|
||||
</p>
|
||||
<br>
|
||||
</form>
|
||||
@@ -169,16 +175,22 @@ active
|
||||
@endif
|
||||
|
||||
$('#databaseform').on('submit', function(e){
|
||||
var empty_field = 0;
|
||||
$("#databaseform input[type=text]").each(function(){
|
||||
if($(this).attr('name') == 'host' || $(this).attr('name') == 'databasename' || $(this).attr('name') == 'username'){
|
||||
if ($(this).val() == '') {
|
||||
$(this).css('border-color','red')
|
||||
$(this).css('border-width','1px');
|
||||
e.preventDefault();
|
||||
alert('Please fill all required values.');
|
||||
empty_field = 1;
|
||||
} else {
|
||||
empty_field = 0;
|
||||
}
|
||||
}
|
||||
});
|
||||
if (empty_field != 0) {
|
||||
e.preventDefault();
|
||||
alert('Please fill all required values.');
|
||||
}
|
||||
});
|
||||
|
||||
$('input[type=text]').on('blur', function(){
|
||||
|
@@ -14,8 +14,8 @@ active
|
||||
|
||||
@section('content')
|
||||
|
||||
<h1 style="text-align: center;">Database Setup</h1>
|
||||
This test will check prerequisites required to install Faveo<br/>
|
||||
<h1 style="text-align: center;">Database Setup</h1>
|
||||
This test will check prerequisites required to install Faveo<br/>
|
||||
<?php
|
||||
/**
|
||||
* Faveo HELPDESK Probe
|
||||
@@ -29,6 +29,7 @@ $host = Session::get('host');
|
||||
$username = Session::get('username');
|
||||
$password = Session::get('password');
|
||||
$databasename = Session::get('databasename');
|
||||
$dummy_install = Session::get('dummy_data_installation');
|
||||
$port = Session::get('port');
|
||||
define('DB_HOST', $host); // Address of your MySQL server (usually localhost)
|
||||
define('DB_USER', $username); // Username that is used to connect to the server
|
||||
@@ -40,23 +41,34 @@ define('PROBE_FOR', '<b>Faveo</b> HELPDESK 1.0 and Newer');
|
||||
define('STATUS_OK', 'Ok');
|
||||
define('STATUS_WARNING', 'Warning');
|
||||
define('STATUS_ERROR', 'Error');
|
||||
|
||||
class TestResult {
|
||||
|
||||
var $message;
|
||||
var $status;
|
||||
|
||||
function __construct($message, $status = STATUS_OK) {
|
||||
$this->message = $message;
|
||||
$this->status = $status;
|
||||
}
|
||||
} // TestResult
|
||||
|
||||
}
|
||||
|
||||
// TestResult
|
||||
if (DB_HOST && DB_USER && DB_NAME) {
|
||||
?>
|
||||
<?php
|
||||
<?php
|
||||
$mysqli_ok = true;
|
||||
$results = array();
|
||||
// error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
|
||||
error_reporting(0);
|
||||
if($default == 'mysql') {
|
||||
if ($connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME)) {
|
||||
if ($default == 'mysql') {
|
||||
if(DB_PORT != '' && is_numeric(DB_PORT)) {
|
||||
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
|
||||
} else {
|
||||
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
|
||||
}
|
||||
if ($connection) {
|
||||
$results[] = new TestResult('Connected to database as ' . DB_USER . '@' . DB_HOST . DB_PORT, STATUS_OK);
|
||||
if (mysqli_select_db($connection, DB_NAME)) {
|
||||
$results[] = new TestResult('Database "' . DB_NAME . '" selected', STATUS_OK);
|
||||
@@ -64,7 +76,7 @@ if (DB_HOST && DB_USER && DB_NAME) {
|
||||
if (version_compare($mysqli_version, '5') >= 0) {
|
||||
$results[] = new TestResult('MySQL version is ' . $mysqli_version, STATUS_OK);
|
||||
// $have_inno = check_have_inno($connection);
|
||||
$sql = "SHOW TABLES FROM ".DB_NAME;
|
||||
$sql = "SHOW TABLES FROM " . DB_NAME;
|
||||
$res = mysqli_query($connection, $sql);
|
||||
if (mysqli_fetch_array($res) === null) {
|
||||
$results[] = new TestResult('Database is empty');
|
||||
@@ -78,14 +90,14 @@ if (DB_HOST && DB_USER && DB_NAME) {
|
||||
$mysqli_ok = false;
|
||||
} // if
|
||||
} else {
|
||||
$results[] = new TestResult('Failed to select database. ' . mysqli_error(), STATUS_ERROR);
|
||||
$results[] = new TestResult('Failed to select database. ' . mysqli_connect_error(), STATUS_ERROR);
|
||||
$mysqli_ok = false;
|
||||
} // if
|
||||
} else {
|
||||
$results[] = new TestResult('Failed to connect to database. ' . mysqli_error(), STATUS_ERROR);
|
||||
$results[] = new TestResult('Failed to connect to database. ' . mysqli_connect_error(), STATUS_ERROR);
|
||||
$mysqli_ok = false;
|
||||
} // if
|
||||
}
|
||||
}
|
||||
// elseif($default == 'pgsql') {
|
||||
// if ($connection2 = pg_connect("'host='.DB_HOST.' port='.DB_PORT.' dbname='.DB_NAME.' user='.DB_USER.' password='.DB_PASS.")) {
|
||||
// $results[] = new TestResult('Connected to database as ' . DB_USER . '@' . DB_HOST, STATUS_OK);
|
||||
@@ -94,7 +106,6 @@ if (DB_HOST && DB_USER && DB_NAME) {
|
||||
// $mysqli_ok = false;
|
||||
// }
|
||||
// } elseif($default == 'sqlsrv') {
|
||||
|
||||
// }
|
||||
// ---------------------------------------------------
|
||||
// Validators
|
||||
@@ -105,105 +116,180 @@ if (DB_HOST && DB_USER && DB_NAME) {
|
||||
print '<br><span class="' . strtolower($result->status) . '">' . $result->status . '</span> — ' . $result->message . '';
|
||||
} // foreach
|
||||
?> </p>
|
||||
<!-- </ul> -->
|
||||
<!-- </ul> -->
|
||||
<?php } else { ?>
|
||||
<p>Database test is <strong>turned off</strong>. To turn it On, please open probe.php in your favorite text editor and set DB_XXXX connection parameters in database section at the beginning of the file:</p>
|
||||
<ul>
|
||||
<li>DB_HOST — Address of your MySQL server (usually localhost)</li>
|
||||
<li>DB_USER — Username that is used to connect to the server</li>
|
||||
<li>DB_PASS — User's password</li>
|
||||
<li>DB_NAME — Name of the database you are connecting to</li>
|
||||
</ul>
|
||||
<p>Once these settings are set, probe.php will check if your database meets the system requirements.</p>
|
||||
<?php $mysqli_ok = null;?>
|
||||
<?php } ?>
|
||||
<br/>
|
||||
<ul>
|
||||
<li><p>Unable to test database connection. Please make sure your database server is up and running and PHP is working with session.</p></li>
|
||||
</ul>
|
||||
<p>If you have fixed all the errors. <a href="{{ URL::route('configuration') }}">Click here</a> to continue the installation process.</p>
|
||||
<?php $mysqli_ok = null; ?>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($mysqli_ok !== null) {?>
|
||||
<?php if ($mysqli_ok) {?>
|
||||
<?php if ($mysqli_ok !== null) { ?>
|
||||
<?php if ($mysqli_ok) { ?>
|
||||
|
||||
<div class="woocommerce-message woocommerce-tracker" >
|
||||
<p id="pass">Database connection successful. This system can run Faveo</p>
|
||||
</div>
|
||||
<div class="woocommerce-message woocommerce-tracker" >
|
||||
<p id="pass">Database connection successful. This system can run Faveo</p>
|
||||
</div>
|
||||
|
||||
<script src="{{asset("lb-faveo/js/ajax-jquery.min.js")}}"></script>
|
||||
<script src="{{asset("lb-faveo/js/ajax-jquery.min.js")}}"></script>
|
||||
|
||||
<span id="wait">Please wait this may take a while......</span>
|
||||
<span id="wait"></span>
|
||||
|
||||
{!! Form::open( ['id'=>'form','method' => 'POST'] )!!}
|
||||
{{-- <input type="hidden" name="_token" value="{{ csrf_token() }}"> --}}
|
||||
<!-- <b>default</b><br> -->
|
||||
<input type="hidden" name="default" value="{!! $default !!}"/>
|
||||
<!-- <b>Host</b><br> -->
|
||||
<input type="hidden" name="host" value="{!! $host !!}"/>
|
||||
<!-- <b>Database Name</b><br> -->
|
||||
<input type="hidden" name="databasename" value="{!! $databasename !!}"/>
|
||||
<!-- <b>User Name</b><br> -->
|
||||
<input type="hidden" name="username" value="{!! $username !!}"/>
|
||||
<!-- <b>User Password</b><br> -->
|
||||
<input type="hidden" name="password" value="{!! $password !!}"/>
|
||||
<!-- <b>Port</b><br> -->
|
||||
<input type="hidden" name="port" value="{!! $port !!}"/>
|
||||
{!! Form::open( ['id'=>'form','method' => 'POST'] )!!}
|
||||
{{-- <input type="hidden" name="_token" value="{{ csrf_token() }}"> --}}
|
||||
<!-- <b>default</b><br> -->
|
||||
<input type="hidden" name="default" value="{!! $default !!}"/>
|
||||
<!-- <b>Host</b><br> -->
|
||||
<input type="hidden" name="host" value="{!! $host !!}"/>
|
||||
<!-- <b>Database Name</b><br> -->
|
||||
<input type="hidden" name="databasename" value="{!! $databasename !!}"/>
|
||||
<!-- <b>User Name</b><br> -->
|
||||
<input type="hidden" name="username" value="{!! $username !!}"/>
|
||||
<!-- <b>User Password</b><br> -->
|
||||
<input type="hidden" name="password" value="{!! $password !!}"/>
|
||||
<!-- <b>Port</b><br> -->
|
||||
<input type="hidden" name="port" value="{!! $port !!}"/>
|
||||
<!-- Dummy data installation -->
|
||||
<input type="hidden" name="dummy_install" value="{!! $dummy_install !!}"/>
|
||||
|
||||
<input type="submit" style="display:none;">
|
||||
<input type="submit" style="display:none;">
|
||||
|
||||
</form>
|
||||
</form>
|
||||
|
||||
<div id="show" style="display:none;">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
|
||||
<div id="show" style="display:none;">
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
</div>
|
||||
<div class="col-md-9" style="text-align: center"id='loader' >
|
||||
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="border-bottom: 1px solid #eee;">
|
||||
<p class="setup-actions step">
|
||||
<a href="{{ URL::route('account') }}" class="pull-right" id="next" style="text-color:black"><input type="submit" id="submitme" class="button-primary button button-large button-next" value="Continue"> </a>
|
||||
<a href="{{ URL::route('configuration') }}" class="button button-large button-next" style="float: left">Previous</a>
|
||||
</p>
|
||||
</div>
|
||||
<div style="border-bottom: 1px solid #eee;">
|
||||
<p class="setup-actions step" id="retry">
|
||||
<a href="{{ URL::route('account') }}" class="pull-right" id="next" style="text-color:black"><input type="submit" id="submitme" class="button-primary button button-large button-next" value="Continue"> </a>
|
||||
<a href="{{ URL::route('configuration') }}" class="button button-large button-next" style="float: left">Previous</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<script type="text/javascript">
|
||||
// submit a ticket
|
||||
$(document).ready(function () {
|
||||
$("#form").submit();
|
||||
});
|
||||
// Edit a ticket
|
||||
$('#form').on('submit', function() {
|
||||
<script type="text/javascript">
|
||||
// submit a ticket
|
||||
$(document).ready(function () {
|
||||
$("#form").submit();
|
||||
});
|
||||
// Edit a ticket
|
||||
$('#form').on('submit', function () {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{!! route('postconnection') !!}",
|
||||
dataType: "html",
|
||||
type: "GET",
|
||||
url: "{!! url('create/env') !!}",
|
||||
dataType: "json",
|
||||
data: $(this).serialize(),
|
||||
beforeSend: function() {
|
||||
beforeSend: function () {
|
||||
$("#conn").hide();
|
||||
$("#show").show();
|
||||
$("#wait").show();
|
||||
},
|
||||
success: function(response) {
|
||||
// $("#dismis").trigger("click");
|
||||
if (response == 1) {
|
||||
$("#show").hide();
|
||||
$("#wait").hide();
|
||||
$("#conn").show();
|
||||
// $("#next1").trigger("click");
|
||||
} else if (response == 0) {
|
||||
alert('Please check all your fields');
|
||||
}
|
||||
success: function (response) {
|
||||
var data=response.result;
|
||||
console.log(data);
|
||||
var message = data.success;
|
||||
var next = data.next;
|
||||
var api = data.api;
|
||||
$('#submitme').attr('disabled','disabled');
|
||||
$('#wait').append('<ul><li>'+message+'</li><li class="seco">'+next+'...</li></ul>');
|
||||
callApi(api);
|
||||
},
|
||||
error: function(response){
|
||||
var data=response.responseJSON.result;
|
||||
$('#wait').append('<ul><li style="color:red">'+data.error+'</li></ul>');
|
||||
$('#loader').hide();
|
||||
$('#next').find('#submitme').hide();
|
||||
$('#retry').append('<input type="button" id="submitm" class="button-primary button button-large button-next" value="Retry" onclick="reload()">');
|
||||
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php } else {?>
|
||||
<div class="woocommerce-message woocommerce-tracker" >
|
||||
function callApi(api) {
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: api,
|
||||
dataType: "json",
|
||||
data: $(this).serialize(),
|
||||
success: function (response) {
|
||||
var data=response.result;
|
||||
console.log(data);
|
||||
var message = data.success;
|
||||
var next = data.next;
|
||||
var api = data.api;
|
||||
$("#wait").find('.seco').remove();
|
||||
$('#wait ul').append('<li>'+message+'</li><li class="seco">'+next+'...</li>');
|
||||
if (message == 'Database has been setup successfully.') {
|
||||
$('#loader').hide();
|
||||
$('#next').find('#submitme').show();
|
||||
$('#submitme').removeAttr('disabled');
|
||||
$('.seco').hide();
|
||||
} else {
|
||||
callApi(api);
|
||||
}
|
||||
},
|
||||
error: function(response){
|
||||
console.log(response);
|
||||
var data=response.responseJSON.result;
|
||||
$('#seco').append('<p style="color:red">'+data.error+'</p>');
|
||||
$('#loader').hide();
|
||||
$('#next').find('#submitme').hide();
|
||||
$('#retry').append('<input type="button" id="submitm" class="button-primary button button-large button-next" value="Retry" onclick="reload()">');
|
||||
}
|
||||
});
|
||||
}
|
||||
function reload(){
|
||||
$('#retry').find('#submitm').remove();
|
||||
$('#loader').show();
|
||||
$('#wait').find('ol').remove();
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "{!! url('create/env') !!}",
|
||||
dataType: "json",
|
||||
data: $(this).serialize(),
|
||||
beforeSend: function () {
|
||||
$("#conn").hide();
|
||||
$("#show").show();
|
||||
$("#wait").show();
|
||||
},
|
||||
success: function (response) {
|
||||
var data=response.result;
|
||||
console.log(data);
|
||||
var message = data.success;
|
||||
var next = data.next;
|
||||
var api = data.api;
|
||||
$('#submitme').attr('disabled','disabled');
|
||||
$('#wait').append('<ul><li>'+message+'</li><li class="seco">'+next+'...</li></ul>');
|
||||
callApi(api);
|
||||
},
|
||||
error: function(response){
|
||||
var data=response.responseJSON.result;
|
||||
$('#wait').append('<ul><li style="color:red">'+data.error+'</li></ul>');
|
||||
$('#loader').hide();
|
||||
$('#next').find('#submitme').hide();
|
||||
$('#retry').append('<input type="button" id="submitm" class="button-primary button button-large button-next" value="Retry" onclick="reload()">');
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php } else { ?>
|
||||
<div class="woocommerce-message woocommerce-tracker" >
|
||||
<p id="fail">Database connection unsuccessful. This system does not meet Faveo system requirements</p>
|
||||
</div>
|
||||
</div>
|
||||
<p>This either means that the username and password information is incorrect or we can’t contact the database server. This could mean your host’s database server is down.</p>
|
||||
<ul>
|
||||
<li>Are you sure you have the correct username and password?</li>
|
||||
@@ -213,15 +299,15 @@ $(document).ready(function () {
|
||||
<p>If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href="http://www.ladybirdweb.com/support">Faveo Support </a>.</p>
|
||||
|
||||
|
||||
<div style="border-bottom: 1px solid #eee;">
|
||||
@if(Cache::has('step4')) <?php Cache::forget('step4')?> @endif
|
||||
<p class="setup-actions step">
|
||||
<input type="submit" id="submitme" class="button-danger button button-large button-next" style="background-color: #d43f3a;color:#fff;" value="continue" disabled>
|
||||
<a href="{{URL::route('configuration')}}" class="button button-large button-next" style="float: left;">Previous</a>
|
||||
</p>
|
||||
</div>
|
||||
<br/><br/>
|
||||
<?php } // if ?>
|
||||
<div style="border-bottom: 1px solid #eee;">
|
||||
@if(Cache::has('step4')) <?php Cache::forget('step4') ?> @endif
|
||||
<p class="setup-actions step">
|
||||
<input type="button" id="submitme" class="button-danger button button-large button-next" style="background-color: #d43f3a;color:#fff;" value="continue" disabled>
|
||||
<a href="{{URL::route('configuration')}}" class="button button-large button-next" style="float: left;">Previous</a>
|
||||
</p>
|
||||
</div>
|
||||
<br/><br/>
|
||||
<?php } // if ?>
|
||||
<div id="legend">
|
||||
{{-- <ul> --}}
|
||||
<p class="setup-actions step">
|
||||
@@ -231,6 +317,6 @@ $(document).ready(function () {
|
||||
</p>
|
||||
{{-- </ul> --}}
|
||||
</div>
|
||||
<?php } // if ?>
|
||||
<?php } // if ?>
|
||||
|
||||
@stop
|
@@ -24,7 +24,7 @@ active
|
||||
|
||||
|
||||
<!-- checking if the form submit fails -->
|
||||
@if($errors->first('firstname')||$errors->first('Lastname')||$errors->first('email')||$errors->first('username')||$errors->first('password')||$errors->first('confirmpassword'))
|
||||
@if($errors->first('firstname')||$errors->first('Lastname')||$errors->first('email')||$errors->first('username')||$errors->first('password')||$errors->first('confirm_password'))
|
||||
<div class="woocommerce-message woocommerce-tracker">
|
||||
<div class="fail">
|
||||
@if($errors->first('firstname'))
|
||||
@@ -42,8 +42,8 @@ active
|
||||
@if($errors->first('password'))
|
||||
<span id="fail">{!! $errors->first('password', ':message') !!}</span><br/>
|
||||
@endif
|
||||
@if($errors->first('confirmpassword'))
|
||||
<span id="fail">{!! $errors->first('confirmpassword', ':message') !!}</span><br/><br/>
|
||||
@if($errors->first('confirm_password'))
|
||||
<span id="fail">{!! $errors->first('confirm_password', ':message') !!}</span><br/><br/>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@@ -319,7 +319,7 @@ active
|
||||
?>
|
||||
<select name="language" data-placeholder="Choose a timezone..." class="chosen-select" style="width:295px;" tabindex="2">
|
||||
@foreach($values as $value)
|
||||
<option value="{!! $value !!}">{!! Config::get('languages.' . $value) !!}</option>
|
||||
<option value="{!! $value !!}">{!! Config::get('languages.' . $value)[0] !!} ({!! Config::get('languages.' . $value)[1] !!})</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
@@ -331,10 +331,6 @@ active
|
||||
</tr>
|
||||
</div>
|
||||
</table>
|
||||
<input id="dummy-data" class="input-checkbox" type="checkbox" name="dummy-data">
|
||||
<label for="dummy-data" style="color:#3AA7D9">Install dummy data</label>
|
||||
<button type="button" data-toggle="popover" data-placement="right" data-arrowcolor="#eeeeee" data-bordercolor="#bbbbbb" data-title-backcolor="#cccccc" data-title-bordercolor="#bbbbbb" data-title-textcolor="#444444" data-content-backcolor="#eeeeee" data-content-textcolor="#888888" title="@{{DummyDataTitle}}" data-content="@{{DummyDataContent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
|
||||
</button>
|
||||
<br><br>
|
||||
<p class="setup-actions step">
|
||||
<input type="submit" id="submitme" class="button-primary button button-large button-next" value="Install">
|
||||
@@ -352,7 +348,7 @@ active
|
||||
@if($errors->has('firstname'))
|
||||
addErrorClass('firstname');
|
||||
@endif
|
||||
@if($errors->has('Lastname'))
|
||||
@if($errors->has('lastname'))
|
||||
addErrorClass('Lastname');
|
||||
@endif
|
||||
@if($errors->has('email'))
|
||||
@@ -369,7 +365,10 @@ active
|
||||
@endif
|
||||
|
||||
$('#postaccount').on('submit', function(e) {
|
||||
$("#postaccount input").each(function(){
|
||||
$('#submitme').attr('disabled', true);
|
||||
$('#submitme').val('Installing, please wait...');
|
||||
$empty_field = 0;
|
||||
$("#postaccount input").each(function() {
|
||||
if($(this).attr('name') == 'firstname' ||
|
||||
$(this).attr('name') == 'Lastname' ||
|
||||
$(this).attr('name') == 'email' ||
|
||||
@@ -379,13 +378,18 @@ active
|
||||
if ($(this).val() == '') {
|
||||
$(this).css('border-color','red')
|
||||
$(this).css('border-width','1px');
|
||||
e.preventDefault();
|
||||
$empty_field = 1;
|
||||
} else {
|
||||
$empty_field = 0;
|
||||
}
|
||||
} else {
|
||||
$('#submitme').attr('disabled', true);
|
||||
$('#submitme').val('Installing, please wait...');
|
||||
}
|
||||
});
|
||||
if ($empty_field !=0 ) {
|
||||
alert('Please fill all required values.');
|
||||
e.preventDefault();
|
||||
$('#submitme').attr('disabled', false);
|
||||
$('#submitme').val('Install');
|
||||
}
|
||||
});
|
||||
|
||||
$('input').on('focus', function(){
|
||||
|
@@ -26,30 +26,40 @@ active
|
||||
<img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQ-uhinU3OzXKj9zlFO7dFxHaChqyHPcWWg5nWgMqYt6N5b3knK" style="width: 86px; float: right;">
|
||||
</a>
|
||||
|
||||
<h1 style="text-align: center;">Your Helpdesk is Ready!</h1>
|
||||
<h1 style="text-align: center;">{!! Lang::get('lang.your_helpdesk_is_ready') !!}</h1>
|
||||
<div class="woocommerce-message woocommerce-tracker">
|
||||
<p>All right, sparky! You’ve made it through the installation.</p>
|
||||
<p>{!! Lang::get('lang.all_right_sparky_you_have_made_it') !!}</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="setup-next-steps">
|
||||
<div class="setup-next-steps-first">
|
||||
<h2>Next Steps</h2>
|
||||
<h2>{!! Lang::get('lang.next_step') !!}</h2>
|
||||
<ul>
|
||||
<li class="setup-product"><a class="button button-primary button-large" href="{!! url('auth/login') !!}" style="float: none; text-align: center; font-size: 24px; padding: 15px; line-height: 1;">Login to Faveo</a>
|
||||
|
||||
@if(\Event::fire('helpdesk.apply.whitelabel'))
|
||||
<li class="setup-product"><a class="button button-primary button-large" href="{!! url('auth/login') !!}" style="float: none; text-align: center; font-size: 24px; padding: 15px; line-height: 1;">{!! Lang::get('lang.login_to_helpdesk') !!}</a>
|
||||
</li>
|
||||
@else
|
||||
|
||||
<li class="setup-product"><a class="button button-primary button-large" href="{!! url('auth/login') !!}" style="float: none; text-align: center; font-size: 24px; padding: 15px; line-height: 1;">{!! Lang::get('lang.login_to_faveo') !!}</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div class="setup-next-steps-last">
|
||||
<h2>Learn More</h2>
|
||||
<h2>{!! Lang::get('lang.learn_more') !!}</h2>
|
||||
<ul>
|
||||
<li class="video-walkthrough"><a target="_blank" href="https://www.youtube.com/channel/UC-eqh-h241b1janp6sU7Iiw">Video walk through</a>
|
||||
<li class="video-walkthrough"><a target="_blank" href="https://www.youtube.com/channel/UC-eqh-h241b1janp6sU7Iiw">{!! Lang::get('lang.video_walk_through') !!}</a>
|
||||
</li>
|
||||
<li class="sidekick"><a target="_blank" href="http://www.ladybirdweb.com/support/knowledgebase">Knowledge Base</a>
|
||||
<li class="sidekick"><a target="_blank" href="http://www.ladybirdweb.com/support/knowledgebase">{!! Lang::get('lang.knowledge_base') !!}</a>
|
||||
</li>
|
||||
|
||||
<li class="newsletter"><a href="mailto:support@ladybirdweb.com">Email Support</a>
|
||||
<li class="newsletter"><a href="mailto:support@ladybirdweb.com">{!! Lang::get('lang.email_support') !!}</a>
|
||||
</li>
|
||||
<br>
|
||||
<br>
|
||||
|
@@ -21,8 +21,8 @@
|
||||
<center><a href="http://www.faveohelpdesk.com">
|
||||
<img src="{{asset("lb-faveo/media/installer/faveo.png")}}" alt="faveo" width="250px"></a></center>
|
||||
<ol class="setup-steps">
|
||||
<li class="@yield('license')">License Agreement</li>
|
||||
<li class="@yield('environment')">Environment Test</li>
|
||||
<li class="@yield('license')">License Agreement</li>
|
||||
<li class="@yield('database')">Database Setup</li>
|
||||
<li class="@yield('locale')">Locale Information</li>
|
||||
<li class="@yield('ready')">Ready</li>
|
||||
|
Reference in New Issue
Block a user