Update v1.0.6.4

This commit is contained in:
sujitprasad
2016-02-24 20:38:42 +05:30
parent d39ef2985d
commit 4270cbcfb3
29 changed files with 700 additions and 198 deletions

2
.env
View File

@@ -2,7 +2,7 @@ APP_ENV=local
APP_DEBUG=false
APP_KEY=SomeRandomString
DB_HOST=localhost
DB_DATABASE=faveocombine
DB_DATABASE=faveo-dev
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=file

View File

@@ -1,5 +1,5 @@
<h3>About Faveo</h3>
<br><img src="https://travis-ci.org/ladybirdweb/faveo-helpdesk.svg?branch=master">&nbsp;<img src="https://img.shields.io/badge/License-OSL-blue.svg">&nbsp;<a href="https://gitter.im/ladybirdweb/faveo-helpdesk" target="_blank"><img src="https://badges.gitter.im/ladybirdweb/faveo-helpdesk.svg"></a><a href="https://styleci.io/repos/34716238">&nbsp;<img src="https://styleci.io/repos/34716238/shield" alt="StyleCI"></a></br>
<h3>About Faveo</h3>
<br><img src="https://travis-ci.org/ladybirdweb/faveo-helpdesk.svg?branch=master">&nbsp;<img src="https://img.shields.io/badge/License-OSL-blue.svg">&nbsp;<a href="https://gitter.im/ladybirdweb/faveo-helpdesk" target="_blank"><img src="https://badges.gitter.im/ladybirdweb/faveo-helpdesk.svg"></a>&nbsp;<a href="https://styleci.io/repos/52062487"><img src="https://styleci.io/repos/52062487/shield" alt="StyleCI"></a></br>
<p>Headquartered in Bangalore, Faveo HELPDESK provides Businesses with an automated Helpdesk system to manage customer support.
<br/><br/>
The word Faveo comes from Latin which means to be favourable. Which truly highlights vision and the scope as well as the functionality of the product that Faveo is. It is specifically designed to cater the needs of startups and SMEs empowering them with state of art, ticket based support system. In todays competitive startup scenario customer retention is one of the major challenges. Handling client query diligently is all the difference between retaining or losing a long lasting relationship. The company is driven with passion of providing tools for managing consumer queries for strategic insights and helping companies take those decisive decisions.
@@ -22,9 +22,11 @@ Faveo is designed & developed by <a href="http://www.ladybirdweb.com/" target="_
<h3><a id="user-content-requirements" href="https://github.com/ladybirdweb/faveo-helpdesk#requirements" aria-hidden="true"></a>Requirements</h3>
<p>To run Faveo your host just needs a couple of things:</p>
<ul>
<li>PHP 5.5 or greater</li>
<li>MySQL 5.5 or greater</li>
<li>The mod_rewrite Apache module</li>
<li> Web Server: Apache or IIS or Nginx</li>
<li> PHP Version: 5.5+</li>
<li> PHP Extensions: Mcrypt, OpenSSL, Mbstring, Tokenizer</li>
<li> Database: MySQL(5.0+) or Postgres or SQLite or SQL Server</li>
<li> Web Server Extension: Pretty URLs or Search Engine Friendly URL's have to be enabled in your web server configuration</li>
</ul>
<h3>Faveo Web Hosting</h3>
@@ -41,9 +43,16 @@ Faveo is designed & developed by <a href="http://www.ladybirdweb.com/" target="_
<h3>YouTube Channel</h3>
<p><a href="https://www.youtube.com/channel/UC-eqh-h241b1janp6sU7Iiw" target="_blank">Click here</a></p>
<h3>Road Map for Community Edition:</h3>
<p><a href="http://www.faveohelpdesk.com/faveo-helpdesk-road-map" target="_blank">Click here</a></p>
<h3>Faveo Probe:</h3>
<p>Helps verify whether your server can run Faveo or not.
<a href="https://github.com/ladybirdweb/faveo-probe" target="_blank">Download here</a></p>
<h3>Faveo Community:</h3>
<p>Join Faveo discussion group and stay tuned to latest updates.
<a href="https://www.linkedin.com/groups/8429668" target="_blank">Join here</a></p>
<h3>Don't panic if you come across bugs</h3>
<p>Faveo is very very new in the market, the product is fully working and is production worthy but it definitely will have some bugs like any software. We fully support Faveo whether free or pro edition, incase you come across any bugs, email us through the <a href="http://www.faveohelpdesk.com/contact-us/">contact form</a>. We want to make your experience of using Faveo as memorable as possible, so help us make Faveo a World, top class helpdesk application. Do check out our roadmap to stayed tuned with future releases </p>

View File

@@ -2,12 +2,12 @@
namespace App\Exceptions;
// controller
use App\Http\Controllers\Common\PhpMailController;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
// use App\Http\Controllers\Common\SettingsController;
//use App\Model\helpdesk\Email\Smtp;
class Handler extends ExceptionHandler
{
/**
@@ -19,14 +19,18 @@ class Handler extends ExceptionHandler
'Symfony\Component\HttpKernel\Exception\HttpException',
];
/**
* Create a new controller instance.
*
* @return type response
* constructor to check
* 1. php mailer
* @return void
*/
// public function __construct() {
// SettingsController::smtp();
// }
public function __construct(PhpMailController $PhpMailController)
{
$this->PhpMailController = $PhpMailController;
}
/**
* Report or log an exception.
@@ -54,39 +58,50 @@ class Handler extends ExceptionHandler
{
if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException) {
return response()->json(['message' => $e->getMessage(), 'code' => $e->getStatusCode()]);
//dd($e);
} elseif ($e instanceof \Tymon\JWTAuth\Exceptions\TokenInvalidException) {
return response()->json(['message' => $e->getMessage(), 'code' => $e->getStatusCode()]);
}
// if (config('app.debug') == false) {
// if ($this->isHttpException($e) && $e->getStatusCode() == 404) {
// return response()->view('errors.404', []);
// } else {
// if (\Config::get('database.install') == 1) {
// // if(\Config::get('app.ErrorLog') == '%1%') {
// // \App\Http\Controllers\Common\SettingsController::smtp();
// // $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => '', 'email' => ''], $message = ['subject' => '', 'scenario'=>'error-report'], $template_variables = ['e' =>$e ]);
// // }
// }
// return response()->view('errors.500', []);
// }
// }
// return parent::render($request, $e);
// This is to check if the debug is true or false
if (config('app.debug') == false) {
// checking if the error is actually an error page or if its an system error page
if ($this->isHttpException($e) && $e->getStatusCode() == 404) {
return response()->view('errors.404', []);
} else {
// checking if the application is installed
if (\Config::get('database.install') == 1) {
// checking if the error log send to Ladybirdweb is enabled or not
if(\Config::get('app.ErrorLog') == '%1%') {
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => 'faveo logger', 'email' => 'faveoerrorlogger@gmail.com'], $message = ['subject' => 'Faveo downloaded from github has occured error', 'scenario'=>'error-report'], $template_variables = ['e' => $e]);
}
}
return response()->view('errors.500', []);
}
}
// returns non oops error message
return parent::render($request, $e);
// checking if the error is related to http error i.e. page not found
if ($this->isHttpException($e)) {
// returns error for page not found
return $this->renderHttpException($e);
}
// checking if the config app sebug is enabled or not
if (config('app.debug')) {
// returns oops error page i.e. colour full error page
return $this->renderExceptionWithWhoops($e);
}
return parent::render($request, $e);
}
/**
* function to generate oops error page
* @param \Exception $e
* @return \Illuminate\Http\Response
*/
protected function renderExceptionWithWhoops(Exception $e)
{
// new instance of whoops class to display customized error page
$whoops = new \Whoops\Run();
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler());

View File

@@ -114,6 +114,10 @@ class EmailsController extends Controller
$email->password = $encrypted;
$email->save();
$email_settings = Email::where('id', '=', '1')->first();
$email_settings->sys_email = $email->id;
$email_settings->save();
return redirect('emails')->with('success', 'Email Created sucessfully');
} else {
return redirect('emails')->with('fails', 'Email can not Create');
@@ -217,8 +221,8 @@ class EmailsController extends Controller
public function destroy($id, Emails $email)
{
$default_system_email = Email::where('id', '=', '1')->first();
if ($default_system_email->id) {
if ($id == $default_system_email->id) {
if ($default_system_email->sys_email) {
if ($id == $default_system_email->sys_email) {
return redirect('emails')->with('fails', 'You cannot delete system default Email');
}
}

View File

@@ -513,4 +513,16 @@ class SettingsController extends Controller
return redirect()->back()->with('success', 'Successfully Deleted');
}
/**
* Generate Api key.
*
* @return type json
*/
public function generateApiKey()
{
$key = str_random(32);
return $key;
}
}

View File

@@ -4,7 +4,6 @@ namespace App\Http\Controllers\Agent\helpdesk;
// controllers
use App\Http\Controllers\Common\PhpMailController;
use App\Http\Controllers\Common\SettingsController;
use App\Http\Controllers\Controller;
// requests
use App\Http\Requests\helpdesk\CreateTicketRequest;
@@ -15,7 +14,7 @@ use App\Model\helpdesk\Agent\Teams;
use App\Model\helpdesk\Email\Emails;
use App\Model\helpdesk\Form\Fields;
use App\Model\helpdesk\Manage\Help_topic;
use App\Model\Helpdesk\Manage\Sla_plan;
use App\Model\helpdesk\Manage\Sla_plan;
use App\Model\helpdesk\Settings\Alert;
use App\Model\helpdesk\Settings\Company;
use App\Model\helpdesk\Settings\Email;
@@ -33,6 +32,7 @@ use App\Model\helpdesk\Utility\Timezones;
use App\User;
use Auth;
use DB;
use UTC;
// classes
use Exception;
use Hash;
@@ -56,7 +56,6 @@ class TicketController extends Controller
public function __construct(PhpMailController $PhpMailController)
{
$this->PhpMailController = $PhpMailController;
SettingsController::smtp();
$this->middleware('auth');
}
@@ -85,11 +84,15 @@ class TicketController extends Controller
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -158,7 +161,7 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
@@ -188,18 +191,21 @@ class TicketController extends Controller
$dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('assigned_to', '=', 0)->where('dept_id', '=', $dept->id)->get();
}
return \Datatable::collection(new Collection($tickets))
->addColumn('id', function ($ticket) {
return "<input type='checkbox' name='select_all[]' class='icheckbox_flat-blue' value='".$ticket->id."'></input>";
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -265,7 +271,8 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
// return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
@@ -302,11 +309,15 @@ class TicketController extends Controller
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -372,7 +383,8 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
// return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
@@ -404,11 +416,15 @@ class TicketController extends Controller
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -474,7 +490,8 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
// return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
@@ -516,11 +533,15 @@ class TicketController extends Controller
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -585,7 +606,8 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
// return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
@@ -617,11 +639,15 @@ class TicketController extends Controller
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -687,7 +713,8 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
// return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
@@ -1009,7 +1036,8 @@ class TicketController extends Controller
* @param type $emailadd
* @param type $username
* @param type $subject
* @param type $body
*
@param type $body
* @param type $phone
* @param type $helptopic
* @param type $sla
@@ -1053,12 +1081,11 @@ class TicketController extends Controller
// if (Mail::send('emails.pass', ['password' => $password, 'name' => $username, 'from'=>$company,'emailadd' => $emailadd], function ($message) use ($emailadd, $username,$company) {
// $message->to($emailadd, $username)->subject('Welcome to '.$company.' helpdesk');
// })) {
// try {
try {
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $username, 'email' => $emailadd], $message = ['subject' => 'Welcome to '.$company.' helpdesk', 'scenario' => 'registration-notification'], $template_variables = ['user' => $username, 'email_address' => $emailadd, 'user_password' => $password]);
// } catch (\Exception $e) {
} catch (\Exception $e) {
// return 0;
// }
}
// $message->to($emailadd, $username)->subject('Welcome to '.$company.' helpdesk');
// })) {
// need to do something here....
@@ -1887,11 +1914,15 @@ class TicketController extends Controller
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -1957,7 +1988,8 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
// return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')
@@ -1994,11 +2026,15 @@ class TicketController extends Controller
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
if (isset($subject->title)) {
$string = $subject->title;
if (strlen($string) > 20) {
$stringCut = substr($string, 0, 30);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
} else {
$string = "(no subject)";
}
//collabrations
$collaborators = DB::table('ticket_collaborator')->where('ticket_id', '=', $ticket->id)->get();
$collab = count($collaborators);
@@ -2064,7 +2100,8 @@ class TicketController extends Controller
$TicketData = Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = Ticket_Thread::select('updated_at')->where('id', '=', $TicketData)->first();
return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
// return date('d F Y, H:i:s', strtotime($TicketDatarow->updated_at));
return UTC::usertimezone($TicketDatarow->updated_at);
})
->searchColumns('subject', 'from', 'assigned_to', 'ticket_number', 'priority')
->orderColumns('subject', 'from', 'assigned_to', 'Last Replier', 'ticket_number', 'priority', 'Last')

View File

@@ -245,10 +245,10 @@ class PhpMailController extends Controller
// $mail->AltBody = $altbody;
if (!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: '.$mail->ErrorInfo;
// echo 'Message could not be sent.';
// echo 'Mailer Error: '.$mail->ErrorInfo;
} else {
echo 'Message has been sent';
// echo 'Message has been sent';
}
}

View File

@@ -278,11 +278,20 @@ class InstallController extends Controller
*/
public function accountcheck(InstallerRequest $request)
{
// checking is the installation was done previously
try {
$check_for_pre_installation = System::all();
if($check_for_pre_installation) {
return redirect()->back()->with('fails', 'The data in database already exist. Please provide fresh database');
}
} catch (Exception $e) {
}
// migrate database
Artisan::call('migrate', ['--force' => true]);
Artisan::call('db:seed', ['--force' => true]);
// create user
$firstname = $request->input('firstname');
$lastname = $request->input('Lastname');

View File

@@ -178,6 +178,8 @@ Route::group(['middleware' => 'roles', 'middleware' => 'auth'], function () {
//Routes for delete language package
Route::get('delete-language/{lang}', ['as' => 'lang.delete', 'uses' => 'Admin\helpdesk\LanguageController@deleteLanguage']);
Route::get('generate-api-key', 'Admin\helpdesk\SettingsController@GenerateApiKey'); // route to generate api key
});
/*

11
app/Model/kb/Footer.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace App\Model\kb;
use Illuminate\Database\Eloquent\Model;
class Footer extends Model
{
protected $table = 'footer';
protected $fillable = ['title', 'footer'];
}

11
app/Model/kb/Footer2.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace App\Model\kb;
use Illuminate\Database\Eloquent\Model;
class Footer2 extends Model
{
protected $table = 'footer2';
protected $fillable = ['title', 'footer'];
}

11
app/Model/kb/Footer3.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace App\Model\kb;
use Illuminate\Database\Eloquent\Model;
class Footer3 extends Model
{
protected $table = 'footer3';
protected $fillable = ['title', 'footer'];
}

11
app/Model/kb/Footer4.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace App\Model\kb;
use Illuminate\Database\Eloquent\Model;
class Footer4 extends Model
{
protected $table = 'footer4';
protected $fillable = ['title', 'footer'];
}

View File

@@ -38,7 +38,7 @@ return [
|
*/
'version' => 'Community 1.0.6.2',
'version' => 'Community 1.0.6.4',
/*
|--------------------------------------------------------------------------
@@ -143,6 +143,52 @@ return [
//
/*
* Laravel Framework Service Providers...
*/

View File

@@ -101,7 +101,7 @@ return [
| installed or not.
|
*/
'install' => '%0%',
'install' => '1',
/*
|--------------------------------------------------------------------------
| Redis Databases

View File

@@ -9,7 +9,7 @@ return [
'shared_folder_name' => 'shares',
'thumb_folder_name' => 'thumbs',
'images_dir' => 'public/photos/',
'images_url' => '%url%',
'images_url' => url('photos').'/',
'files_dir' => 'public/files/',
'files_url' => '/files/',
'file_type_array' => [

6
index.html Normal file
View File

@@ -0,0 +1,6 @@
<html>
<head>
<title>Faveo HELPDESK</title>
<META http-equiv="refresh" content=".001;URL=public">
</head>
</html>

58
public/lb-faveo/js/angular2.js vendored Normal file
View File

@@ -0,0 +1,58 @@
var myApp = angular.module('myApp', []);
myApp.controller('MainController', ['$http', '$scope',
function($http, $scope) {
// $http.get('url').success(function(data) {
//
// });
//titile and content for page 3
$scope.Databasetitle = 'Database Type';
$scope.Databasecontent = 'Faveo supports 3 databases, choose anyone which your server supports';
$scope.Hosttitle = 'Database Host';
$scope.Hostcontent = 'You should be able to get this info from your web host, if localhost doesnt work';
$scope.Porttitle = 'Database Port number';
$scope.Portcontent = 'This is an optional field, by default port no wil be default port no of the database choosen, enter this field only if your database is not running on default port no';
$scope.Databasenametitle = 'Database Name';
$scope.Databasenamecontent = 'The name of the database you want to run Faveo in';
$scope.Usertitle = 'Database Username';
$scope.Usercontent = 'Your Database username';
$scope.Passwordtitle = 'Database Password';
$scope.Passwordcontent = 'Your Database user password';
//titile and content for page 4
$scope.Nametitle = 'First Name';
$scope.Namecontent = 'System administrator first name';
$scope.Lasttitle = 'Last Name';
$scope.Lastcontent = 'System administrator last name';
$scope.Emailtitle = 'Email';
$scope.Emailcontent = 'Email Double-check your email address before continuing';
$scope.UserNametitle = 'User Name';
$scope.UserNamecontent = 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods, and the @ symbol.';
$scope.Passtitle = 'Password';
$scope.Passcontent = 'Important: You will need this password to log in. Please store it in a secure location.';
$scope.Confirmtitle = 'Confirm Password';
$scope.Confirmcontent = 'Type the same password as above';
$scope.Languagetitle = 'Faveo Language';
$scope.Languagecontent = 'The language you want to run Faveo in';
$scope.Timezonetitle = 'Time Zone';
$scope.Timezonecontent = 'Faveo default time zone';
$scope.Datetimetitle = 'Faveo Date & Time format';
$scope.Datetimecontent = 'What format you want to display date & time in Faveo';
}
]);

View File

@@ -53,6 +53,6 @@
</form>
<a href="{{url('password/email')}}">{!! Lang::get("lang.iforgot") !!}</a><br>
<a href="{{url('auth/register')}}" class="text-center">{!! Lang::get("lang.reg_new_member") !!}</a>
<a href="{{url('auth/register')}}" class="text-center">{!! Lang::get("lang.register") !!}</a>
<!-- /.login-page -->
@stop

View File

@@ -22,12 +22,26 @@
<!-- Email -->
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<!-- Email -->
<div class="input-group margin">
<!-- <div class="input-group margin"> -->
<div class="form-group has-feedback {{ $errors->has('email') ? 'has-error' : '' }}">
<input type="email" class="form-control" name="email" placeholder="{!! Lang::get('lang.email') !!}" value="{{ old('email') }}">
<span class="input-group-btn"><button type="submit" class="btn btn-primary btn-block btn-flat">{!! Lang::get('lang.send') !!}</button></span>
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
<a href="{{url('auth/login')}}" class="text-center">{!! Lang::get('lang.i_know_my_password') !!}</a>
</div>
<div class="col-xs-4">
<span class="input-group-btn"><button type="submit" class="btn btn-primary btn-block btn-flat">{!! Lang::get('lang.send') !!}</button></span>
<br/>
</div>
</div>
<!-- </div> -->
</form>
<a href="{{url('auth/login')}}" class="text-center">{!! Lang::get('lang.i_know_my_password') !!}</a>
<!-- /.login-page -->
@stop

View File

@@ -58,7 +58,7 @@
<div class="col-xs-8">
<div class="checkbox icheck">
<label>
<input type="checkbox">{!! Lang::get('lang.i_agree_to_the') !!} <a href="#">{!! Lang::get('lang.terms') !!}</a>
<a href="{{url('auth/login')}}" class="text-center">{!! Lang::get('lang.login') !!}</a>
</label>
</div>
</div><!-- /.col -->
@@ -67,7 +67,7 @@
</div><!-- /.col -->
</div>
<a href="{{url('auth/login')}}" class="text-center">{!! Lang::get('lang.i_already_have_a_membership') !!}</a>
{!! Form::close()!!}
@stop

View File

@@ -81,7 +81,7 @@ class="active"
<div class="form-group {{ $errors->has('sys_email') ? 'has-error' : '' }}">
{!! Form::label('sys_email',Lang::get('lang.default_system_email')) !!}
{!! $errors->first('sys_email', '<spam class="help-block">:message</spam>') !!}
{!!Form::select('sys_email', $emails1->lists('email_name','id'),null,['class'=>'form-control']) !!}
{!!Form::select('sys_email', [ 'Select an Email', 'Emails' => $emails1->lists('email_name','id')],null,['class'=>'form-control']) !!}
</div>
</div>
</div>

View File

@@ -132,26 +132,97 @@ class="active"
{!! Form::select('date_time_format',[''=>'Select a date Time Format','Date Time Formats'=>$date_time->lists('format','id')],null,['class' => 'form-control']) !!}
</div>
</div>
</div>
<hr/>
<h4>{!! Lang::get('lang.api_configurations') !!}</h4>
<!-- Guest user page Content -->
<div class="row">
<!-- Default Time Zone: Drop down: timezones table : Required -->
<div class="col-md-3">
<div class="form-group {{ $errors->has('api_enable') ? 'has-error' : '' }}">
{!! Form::label('api',Lang::get('lang.api')) !!}
{!! $errors->first('api_enable', '<spam class="help-block">:message</spam>') !!}
<div class="row">
<div class="col-xs-5">
{!! Form::radio('api_enable','1',true) !!} {{Lang::get('lang.enable')}}
</div>
<div class="col-xs-5">
{!! Form::radio('api_enable','0') !!} {{Lang::get('lang.disable')}}
</div>
</div>
</div>
</div>
<!-- Date and Time Format: text: required: eg - 03/25/2015 7:14 am -->
<div class="col-md-6">
<div class="form-group {{ $errors->has('api_key') ? 'has-error' : '' }}">
<script language="JavaScript" type="text/javascript">
CKEDITOR.replace( 'content',
{
filebrowserUploadUrl : '/uploader/upload.php'
});
{!! Form::label('api_key',Lang::get('lang.api_key')) !!}
{!! $errors->first('api_key', '<spam class="help-block">:message</spam>') !!}
{!! Form::text('api_key',$systems->api_key,['class' => 'form-control']) !!}
CKEDITOR.replace( 'content', { toolbar : 'MyToolbar' } );
</script>
</div>
</div>
<div class="col-md-3">
<br/>
<a class="btn btn-primary" id="generate"> <i class="fa fa-refresh"> </i> {!! Lang::get('lang.generate_key') !!}</a>
</div>
</div>
</div>
<a href="#" id="clickGenerate" data-toggle="modal" data-target="#generateModal"></a>
<div class="modal fade" id="generateModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">{!! Lang::get('lang.api_key') !!}</h4>
</div>
<div class="modal-body" id="messageBody">
</div>
<div class="modal-footer" id="messageBody">
<button type="button" class="btn btn-default" data-dismiss="modal" aria-label="Close">{!! Lang::get('lang.close') !!}</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script src="{{asset("lb-faveo/js/ajax-jquery.min.js")}}"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
// Close a ticket
$('#generate').on('click', function(e) {
$.ajax({
type: "GET",
url: "{!! url('generate-api-key') !!}",
beforeSend: function() {
$("#generate").empty();
var message = "<i class='fa fa-refresh fa-spin'> </i> <?php echo Lang::get('lang.generate_key'); ?>";
$('#generate').html(message);
},
success: function(response) {
// alert(response);
$("#messageBody").empty();
var message = "<div class='alert alert-default' style='margin-bottom: -5px;'>Copy and paste in the api to set a different Api key</div> <br/><b>Api key</b> : " + response;
$('#messageBody').html(message);
$('#clickGenerate').trigger("click");
$("#generate").empty();
var message = "<i class='fa fa-refresh'> </i> <?php echo Lang::get('lang.generate_key'); ?>";
$('#generate').html(message);
}
})
return false;
});
});
</script>
@stop

View File

@@ -190,13 +190,15 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
</div>
<div id="hide2">
<div class="col-md-6">
<table class="table table-hover"id="refresh">
<table class="table table-hover">
<div id="refresh">
<tr><td><b>{!! Lang::get('lang.status') !!}:</b></td> <?php $status = App\Model\helpdesk\Ticket\Ticket_Status::where('id', '=', $tickets->status)->first();?><td title="{{$status->properties}}">{{$status->name}}</td></tr>
<tr><td><b>{!! Lang::get('lang.priority') !!}:</b></td> <?php $priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('priority_id', '=', $tickets->priority_id)->first();?><td title="{{$priority->priority_desc}}">{{$priority->priority_desc}}</td></tr>
<tr><td><b>{!! Lang::get('lang.department') !!}:</b></td> <?php $help_topic = App\Model\helpdesk\Manage\Help_topic::where('id', '=', $tickets->help_topic_id)->first();?><td title="{{$help_topic->topic}}">{{$help_topic->topic}}</td></tr>
<tr><td><b>{!! Lang::get('lang.email') !!}:</b></td> <td>{{$user->email}}</td></tr>
@if($user->ban > 0) <tr><td style="color:orange;"><i class="fa fa-warning"></i><b>
{!! Lang::get('lang.this_ticket_is_under_banned_user')!!}</td><td></td></tr>@endif
</div>
</table>
</div>
<div class="col-md-6">
@@ -221,6 +223,7 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
$ticket_source = $tickets->source;
?>
<table class="table table-hover">
<div id="refresh3">
@if($user->phone_number !=null)<tr><td><b>Phone:</b></td> <td>{{$user->phone_number}}</td></tr>@endif
@if($user->mobile !=null)<tr><td><b>Phone:</b></td> <td>{{$user->ext . $user->phone_number}}</td></tr>@endif
@@ -229,6 +232,7 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
<?php Event::fire(new App\Events\TicketDetailTable($TicketData)); ?>
<tr><td><b>{!! Lang::get('lang.last_message') !!}:</b></td> <td>{{$username}}</td></tr>
<?php Event::fire(new App\Events\TicketDetailTable($TicketData)); ?>
</div>
</table>
</div>
</div>
@@ -237,6 +241,9 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
</div>
</div>
{{-- Event fire --}}
<div id="resultdiv">
</div>
<div class='row'>
<div class='col-xs-12'>
<div class="nav-tabs-custom">
@@ -290,6 +297,7 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
{!! Form::label('To', Lang::get('lang.to').':') !!}
</div>
<div class="col-md-10">
<div id="refreshTo">
{!! Form::text('To',$user->email,['disabled'=>'disabled','id'=>'email','class'=>'form-control','style'=>'width:55%'])!!}
{!! $errors->first('To', '<spam class="help-block text-red">:message</spam>') !!}
<a href="#" data-toggle="modal" data-target="#addccc"> {!! Lang::get('lang.add_cc') !!} </a>
@@ -304,6 +312,7 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
</div>
</div>
</div>
</div>
<?php Event::fire(new App\Events\TimeLineFormEvent($TicketData)); ?>
<div class="form-group">
<div class="row">
@@ -349,12 +358,14 @@ $canneds = App\Model\helpdesk\Agent_panel\Canned::where('user_id','=',Auth::user
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
<div class="col-md-2"></div>
<div class="col-md-10">
<div id="t5">
<button id="replybtn" type="submit" class="btn btn-primary"><i class="fa fa-check-square-o" style="color:white;"> </i> {!! Lang::get('lang.update') !!}</button>
</div>
</div>
</div>
</div>
</div>
</div>
{!!Form::close()!!}
</div>
@@ -1454,7 +1465,7 @@ $(document).ready(function () {
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
$("#t1").load("../thread/{{$tickets->id}} #t1");
$("#refreshTo").load("../thread/{{$tickets->id}} #refreshTo");
var message = "Success! owner has been changed for this ticket.";
$("#alert11").show();
$('#message-success1').html(message);
@@ -1486,7 +1497,7 @@ $(document).ready(function () {
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
$("#t1").load("../thread/{{$tickets->id}} #t1");
$("#refreshTo").load("../thread/{{$tickets->id}} #refreshTo");
var message = "Success! owner has been changed for this ticket.";
$("#alert11").show();
$('#message-success1').html(message);
@@ -1717,10 +1728,7 @@ $(document).ready(function () {
return false;
}
$(document).ready(function() {
var locktime = '<?php echo $var->collision_avoid;?>'*60*1000;
lockAjaxCall(locktime);
setInterval(function() {// to call ajax for ticket lock repeatedly after defined lock time interval
@@ -1737,7 +1745,6 @@ function lockAjaxCall(locktime){
data: $(this).serialize(),
success: function(response) {
if(response == 0) {
var message = "{{Lang::get('lang.locked-ticket')}}";
$("#alert22").show();
$('#message-warning2').html(message);
@@ -1747,7 +1754,11 @@ function lockAjaxCall(locktime){
// alert(response);
// var message = "{{Lang::get('lang.access-ticket')}}"+locktime/(60*1000)
// +"{{Lang::get('lang.minutes')}}";
// $("#alert22").hide();
$("#alert22").hide();
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
$("#t5").load("../thread/{{$tickets->id}} #t5");
// $("#alert21").show();
// $('#message-success2').html(message);
$('#replybtn').attr('disabled', false);
@@ -1772,12 +1783,6 @@ function lockAjaxCall(locktime){
$(this).html($('<span />').width(Math.max(0, (Math.min(5, parseFloat($(this).html())))) * 16));
});
}
</script>
@stop

View File

@@ -86,7 +86,6 @@ $helptopic = App\Model\helpdesk\Manage\Help_topic::get();
}
?>
<option value="{!! $default_helptopic !!}">Default</option>
@foreach($helptopic as $topic)
<option value="{!! $topic->id !!}">{!! $topic->topic !!}</option>
@endforeach

View File

@@ -0,0 +1,73 @@
@extends('themes.default1.installer.layout.installer')
@section('serial')
active
@stop
@section('content')
<div class="wc-setup-content" ng-app="myApp">
<h1 style="text-align: center;">Faveo HELPDESK Serial Key</h1>
<p><strong>Please enter your serial key for Faveo HELPDESK PRO</strong></p>
@if(Session::has('success'))
<div class="wc-setup-content">
<div class="woocommerce-message woocommerce-tracker">
<div class="ok">
<span id="fail">{{Session::get('success')}}</span><br/><br/>
</div>
</div>
</div>
@endif
<!-- fail message -->
@if(Session::has('fails'))
<div class="wc-setup-content">
<div class="woocommerce-message woocommerce-tracker">
<div class="fail">
<span id="fail">{{Session::get('fails')}}</span><br/><br/>
</div>
</div>
</div>
@endif
<form action="http://www.faveohelpdesk.com/billing/serial" method="post">
<input type="hidden" name="domain" value="http://{{ $_SERVER['HTTP_HOST'] }}">
<input type="hidden" name="url" value="http://{{$_SERVER['HTTP_HOST']}}{{$_SERVER['REQUEST_URI']}}">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<table ng-controller="AutotabController">
<div>
<p ng-bind="user"></p>
</div>
<tr >
<td style="width: 200px;">
<label for="box1" id="test">Order Number<span style="color: red;font-size:12px;">*</span>
</label>
<br/><br/>
</td>
<td style="">
{!! $errors->first('order_no', '<spam class="help-block">:message</spam>') !!}
<input type="text" name="order_no" style="margin-left:180px;width:274px;" value="010451236">
<br/><br/>
</td>
</tr>
<tr>
<td style="width: 200px;">
<label for="box1" id="test">Serial key<span style="color: red;font-size:12px;">*</span>
</label>
</td>
<td ng-repeat="productKey in productKeys" style="margin-left: 150px;">
{!! $errors->first('serial', '<spam class="help-block">:message</spam>') !!}
<input type="text" name="first" id="productKey1" ng-model="productKey.set1" maxlength="4" size="4" required style="padding: 3px; margin-left: 180px; width: 50px;">&nbsp;-
<input type="text" name="second" id="productKey2" ng-model="productKey.set2" maxlength="4" size="4" required style="padding: 3px; margin-left: 3px; width: 50px;">&nbsp;-
<input type="text" name="third" id="productKey3" ng-model="productKey.set3" maxlength="4" size="4" required style="padding: 3px; margin-left: 3px; width: 50px;">&nbsp;-
<input type="text" name="forth" id="productKey4" ng-model="productKey.set4" maxlength="4" size="4" required style="padding: 3px; margin-left: 3px; width: 50px;">
</td>
</tr>
</table>
<br>
<p class="wc-setup-actions step">
<input type="submit" id="submitme" class="button-primary button button-large button-next" value="Continue">
</p>
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="{{asset("lb-faveo/js/jquery.autotab.js")}}"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="{{asset("lb-faveo/js/angular.js")}}" type="text/javascript"></script>
@stop

View File

@@ -13,11 +13,23 @@ active
@stop
@section('content')
<div ng-app="myApp">
@if(Session::has('fails'))
<div class="wc-setup-content">
<div class="woocommerce-message woocommerce-tracker">
<div class="fail">
<span id="fail">{!! Lang::get('lang.fails') !!}! {{Session::get('fails')}}</span><br/><br/>
</div>
</div>
</div>
@endif
<h1 style="text-align: center;">Database Setup</h1>
<p class="wc-setup-content">Below you should enter your database connection details. If youre not sure about these, contact your host.</p>
{!! Form::open(['url'=> '/step4post']) !!}
<table>
<table ng-controller="MainController">
<tr>
<td>
<label for="selectbox1">Database <span style="color
@@ -27,7 +39,6 @@ active
<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">
<option value=""></option>
<option value="mysql">MySQL</option>
<option value="pgsql">PgSQL</option>
<option value="sqlsrv">SQLSRV</option>
@@ -35,6 +46,10 @@ active
</div>
</div>
</td>
<td>
<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="@{{Databasetitle}}" data-content="@{{Databasecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -44,6 +59,10 @@ active
<td>
<input type="text" name="host" required>
</td>
<td>
<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="@{{Hosttitle}}" data-content="@{{Hostcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -52,6 +71,10 @@ active
<td>
<input type="text" name="port">
</td>
<td>
<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="@{{Porttitle}}" data-content="@{{Portcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -61,6 +84,10 @@ active
<td>
<input type="text" name="databasename" required>
</td>
<td>
<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="@{{Databasenametitle}}" data-content="@{{Databasenamecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -70,6 +97,10 @@ active
<td>
<input type="text" name="username" required>
</td>
<td>
<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="@{{Usertitle}}" data-content="@{{Usercontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -78,6 +109,10 @@ active
<td>
<input type="text" name="password">
</td>
<td>
<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="@{{Passwordtitle}}" data-content="@{{Passwordcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
</table>
<br>
@@ -88,4 +123,7 @@ active
</form>
</div>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="{{asset("lb-faveo/js/angular2.js")}}" type="text/javascript"></script>
</div>
@stop

View File

@@ -195,6 +195,15 @@ $(document).ready(function () {
<div class="woocommerce-message woocommerce-tracker" >
<p id="fail">Database connection unsuccessful. This system does not meet Faveo system requirements</p>
</div>
<p>This either means that the username and password information is incorrect or we can&rsquo;t contact the database server. This could mean your host&rsquo;s database server is down.</p>
<ul>
<li>Are you sure you have the correct username and password?</li>
<li>Are you sure that you have typed the correct hostname?</li>
<li>Are you sure that the database server is running?</li>
</ul>
<p>If you&rsquo;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;">
<p class="wc-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>

View File

@@ -17,11 +17,12 @@ active
@stop
@section('content')
<div class="wc-setup-content">
<div ng-app="myApp">
<h1 style="text-align: center;">Locale Information</h1>
{!! Form::open(['url'=>route('postaccount')]) !!}
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<!-- 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'))
<div class="woocommerce-message woocommerce-tracker">
<div class="fail">
@@ -46,10 +47,24 @@ active
</div>
</div>
@endif
<!-- checking if the system fails -->
@if(Session::has('fails'))
<div class="woocommerce-message woocommerce-tracker">
<div class="fail">
<span id="fail">{{Session::get('fails')}} </span><br/><br/>
</div>
<div class="wc-setup-content">
</div>
@endif
<div ng-controller="MainController">
<table>
<h1>Personal Information</h1>
<p>Welcome to the five-minute Faveo installation process! Just fill in the information below.</p>
<h1 style="border-top:1px solid #dedede; border-bottom:1px solid #dedede; padding: 10px 0px 10px 0px;">Personal Information</h1>
<p>Please provide the following information. Dont worry, you can always change these settings later.</p>
<div>
<tr>
<td>
@@ -59,6 +74,10 @@ active
<td>
{!! Form::text('firstname',null,['style' =>'margin-left:250px']) !!}
</td>
<td>
<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="@{{Nametitle}}" data-content="@{{Namecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -68,6 +87,10 @@ active
<td>
{!! Form::text('Lastname',null,['style' =>'margin-left:250px']) !!}
</td>
<td>
<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="@{{Lasttitle}}" data-content="@{{Lastcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -77,6 +100,10 @@ active
<td>
{!! Form::text('email',null,['style' =>'margin-left:250px']) !!}
</td>
<td>
<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="@{{Emailtitle}}" data-content="@{{Emailcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
</div>
@@ -96,6 +123,10 @@ active
<td>
{!! Form::text('username',null,['style' =>'margin-left:195px']) !!}
</td>
<td>
<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="@{{UserNametitle}}" data-content="@{{UserNamecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -106,6 +137,10 @@ active
<td>
<input type="password" name="password" style="margin-left: 195px" >
</td>
<td>
<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="@{{Passtitle}}" data-content="@{{Passcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -116,6 +151,10 @@ active
<td>
<input type="password" name="confirmpassword" style="margin-left: 195px" >
</td>
<td>
<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="@{{Confirmtitle}}" data-content="@{{Confirmcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
</div>
</table>
@@ -130,7 +169,6 @@ active
<div class="side-by-side clearfix moveleft">
<div>
<select name="datetime" data-placeholder="Choose a date format..." class="chosen-select" style="width:295px;" tabindex="2">
<option value=""></option>
<option value="d/m/Y H:i:s">DD/MM/YYYY H:i:s</option>
<option value="m/d/Y H:i:s">MM/DD/YYYY H:i:s</option>
<option value="Y/m/d H:i:s">YYYY/MM/DD H:i:s</option>
@@ -138,6 +176,10 @@ active
</div>
</div>
</td>
<td>
<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="@{{Datetimetitle}}" data-content="@{{Datetimecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -147,7 +189,6 @@ active
<div class="side-by-side clearfix moveleft">
<div>
<select name="timezone" data-placeholder="Choose a timezone..." class="chosen-select" style="width:295px;" tabindex="2">
<option value=""></option>
<option value="US/Samoa">US/Samoa</option>
<option value="US/Hawaii">US/Hawaii</option>
<option value="US/Alaska">US/Alaska</option>
@@ -264,6 +305,10 @@ active
</div>
</div>
</td>
<td>
<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="@{{Timezonetitle}}" data-content="@{{Timezonecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
<tr>
<td>
@@ -278,12 +323,15 @@ active
?>
<select name="language" data-placeholder="Choose a timezone..." class="chosen-select" style="width:295px;" tabindex="2">
@foreach($values as $value)
<option value=""></option>
<option value="{!! $value !!}">{!! Config::get('languages.' . $value) !!}</option>
@endforeach
</select>
</div>
</td>
<td>
<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="@{{Languagetitle}}" data-content="@{{Languagecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
</button>
</td>
</tr>
</div>
</table>
@@ -296,4 +344,7 @@ active
</div>
</p>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="{{asset("lb-faveo/js/angular2.js")}}" type="text/javascript"></script>
</div>
@stop