update v1.0.4

This commit is contained in:
sujitprasad
2016-01-04 18:05:45 +05:30
parent 372485336b
commit 4864e5a3f1
529 changed files with 20956 additions and 8178 deletions

View File

@@ -0,0 +1,249 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
use App\Http\Requests;
use Illuminate\Http\Request;
//supports
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Collection;
//classes
use Input;
use Config;
use Validator;
use Zipper;
use App;
use Lang;
use Cache;
use File;
/**
* SlaController
*
* @package Controllers
* @subpackage Controller
* @author Ladybird <info@ladybirdweb.com>
*/
class LanguageController extends Controller {
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Switch language at runtime
* @param type "" $lang
* @return type response
*/
public function switchLanguage($lang) {
//if(Cache::has('language'))
//{
// return Cache::get('language');
//} else return 'false';
// Cache::put('language',$)
if(array_key_exists($lang, Config::get('languages'))) {
// dd(array_key_exists($lang, Config::get('languages')));
// app()->setLocale($lang);
Cache::forever('language', $lang);
// dd(Cache::get('language'));
// dd()
} else {
return Redirect::back()->with('message', 'Language package not found in your lang directroy.');
}
return Redirect::back();
}
/**
*Shows language page
*@return type response
*/
public function index(){
return view('themes.default1.admin.helpdesk.language.index');
}
/**
*Shows Language upload form
*@return type response
*/
public function getForm(){
return view('themes.default1.admin.helpdesk.language.create');
}
/**
*Provide language datatable to language page
*@return type
*/
public function getLanguages()
{
$path = 'code/resources/lang';
$values = scandir($path); //Extracts names of directories present in lang directory
$values = array_slice($values, 2); // skips array element $value[0] = '.' & $value[1] = '..'
return \Datatable::collection(new Collection($values))
->addColumn('language', function($model){
return Config::get('languages.'.$model);
})
->addColumn('id', function($model){
return $model;
})
->addColumn('status',function($model){
if(Lang::getLocale()===$model){return "<span style='color:green'>".Lang::trans("lang.active")."</span>"; } else return "<span style='color:red'>".Lang::trans("lang.inactive")."</span>";
})
->addColumn('Action', function($model){
if(Lang::getLocale()===$model){
return "<a href='change-language/".$model."'><input type='button' class='btn btn-info btn-xs btn-flat' disabled value='". Lang::trans("lang.disable")."'/></a>
<a href='change-language/".$model."' class='btn btn-danger btn-xs btn-flat' disabled><i class='fa fa-trash' style='color:black;'> </i> ". Lang::trans("lang.delete")."</a>";
} else {
return "<a href='change-language/".$model."'><input type='button' class='btn btn-info btn-xs btn-flat' value='". Lang::trans("lang.enable")."'/></a>
<a href='delete-language/".$model."' class='btn btn-danger btn-xs btn-flat'><i class='fa fa-trash' style='color:black;'> </i> ". Lang::trans("lang.delete")."</a>";
}
})
->searchColumns('language','id')
->make();
}
/**
*handle language file uploading
*@return response
*/
public function postForm() {
// getting all of the post data
$file = array(
'File' => Input::file('File'),
'language-name' => Input::input('language-name'),
'iso-code' => Input::input('iso-code')
);
// setting up rules
$rules = array(
'File' => 'required|mimes:zip|max:30000',
'language-name' => 'required',
'iso-code' => 'required|max:2'
); // and for max size
// doing the validation, passing post data, rules and the messages
$validator = Validator::make($file, $rules);
if ($validator->fails()) {
// send back to the page with the input data and errors
return Redirect::back()->withInput()->withErrors($validator);
} else {
//Checking if package already exists or not in lang folder
$path = 'code/resources/lang';
if (in_array(Input::get('iso-code'), scandir($path))) {
//sending back with error message
Session::flash('fails', "Language package already exists.");
Session::flash('link',"change-language/".Input::get('iso-code'));
return Redirect::back()->withInput();
} elseif (!array_key_exists(Input::get('iso-code'), Config::get('languages'))){//Checking Valid ISO code form Languages.php
//sending back with error message
Session::flash('fails', "Enter correct ISO-code");
return Redirect::back()->withInput();
} else {
// checking file is valid.
if (Input::file('File')->isValid()) {
$name = Input::file('File')->getClientOriginalName(); //uploaded file's original name
$destinationPath = 'code/public/uploads/'; // defining uploading path
$extractpath = 'code/resources/lang/'.Input::get('iso-code');//defining extracting path
mkdir($extractpath); //creating directroy for extracting uploadd file
//mkdir($destinationPath);
Input::file('File')->move($destinationPath, $name); // uploading file to given path
\Zipper::make($destinationPath.'/'.$name)->extractTo($extractpath);//extracting file to give path
//check if Zip extract foldercontains any subfolder
$directories = File::directories($extractpath);
//$directories = glob($extractpath. '/*' , GLOB_ONLYDIR);
if(!empty($directories)){ //if extract folder contains subfolder
$success = File::deleteDirectory($extractpath); //remove extracted folder and it's subfolder from lang
//$success2 = File::delete($destinationPath.'/'.$name);
if($success){
//sending back with error message
Session::flash('fails', 'Error in directory structure. Zip file must contain language php files only. Try Again.');
return Redirect::back()->withInput();
}
} else {
// sending back with success message
Session::flash('success', "uploaded successfully.");
Session::flash('link',"change-language/".Input::get('iso-code'));
return Redirect::route('LanguageController');
}
} else {
// sending back with error message.
Session::flash('fails', 'uploaded file is not valid');
return Redirect::route('form');
}
}
}
}
/**
*allow user to download language template file
*@return type
*/
Public function download()
{
return response()->download('code/public/downloads/en.zip');
}
/**
* This function is used to delete languages
* @param type $lang
* @return type response
*/
public function deleteLanguage($lang){
if($lang !== App::getLocale()){
$deletePath = 'code/resources/lang/'.$lang; //define file path to delete
$success = File::deleteDirectory($deletePath); //remove extracted folder and it's subfolder from lang
if($success){
//sending back with success message
Session::flash('success', 'Language package deleted successfully.');
return Redirect::back();
} else {
//sending back with error message
Session::flash('fails', 'Language package does not exist.');
return Redirect::back();
}
} else {
//sending back with error message
Session::flash('fails', 'Language package can not be deleted when it is active.');
return redirect('languages');
}
}
}

View File

@@ -47,6 +47,14 @@ class SettingsController extends Controller {
$this->middleware('roles');
}
/**
* Main Settings Page
* @return type view
*/
public function settings() {
return view('themes.default1.admin.helpdesk.setting');
}
/**
* @param int $id
* @return Response

View File

@@ -111,11 +111,12 @@ class MailController extends Controller {
$thread_id = $thread_id->id;
foreach($mail->getAttachments() as $attachment) {
// dd($attachment);
$support = "support";
// echo $_SERVER['DOCUMENT_ROOT'];
$dir_img_paths = __DIR__;
$dir_img_path = explode('/code', $dir_img_paths);
$filepath = explode('../../../../../../public/',$attachment->filePath);
$filepath = explode('../../../../../../public',$attachment->filePath);
// dd($filepath);
// $path = $dir_img_path[0]."/public/".$filepath[1];
$path = public_path().'/'.$filepath[1];

View File

@@ -17,6 +17,8 @@ use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
/* Include login validator */
use Mail;
use Auth;
// Model
// use App\Model\helpdesk\Utility\Limit_Login;
/**
* ---------------------------------------------------
@@ -146,14 +148,45 @@ class AuthController extends Controller {
* @return type Response
*/
public function postLogin(LoginRequest $request) {
// $email = $request->input('email');
// $password = Hash::make($request->input('password'));
// $remember = $request->input('remember');
// dd([$email,$password,$remember]);
// Set login attempts and login time
$loginAttempts = 1;
$credentials = $request->only('email', 'password');
if ($this->auth->attempt($credentials, $request->has('remember'))) {
$email = $request->email;
// $ip_address = $_SERVER['REMOTE_ADDR'];
// $limit_login = Limit_Login::where('email' , '=' , $email)->where('ip_address', '=', $ip_address)->first();
// if(isset($limit_login)) {
// }
// If session has login attempts, retrieve attempts counter and attempts time
if (\Session::has('loginAttempts')) {
$loginAttempts = \Session::get('loginAttempts');
$loginAttemptTime = \Session::get('loginAttemptTime');
$credentials = $request->only('email', 'password');
// If attempts > 3 and time < 10 minutes
if ($loginAttempts > 4 && (time() - $loginAttemptTime <= 600)) {
return redirect()->back()->with('error', 'Maximum login attempts reached. Try again in a while');
}
// If time > 10 minutes, reset attempts counter and time in session
if (time() - $loginAttemptTime > 600) {
\Session::put('loginAttempts', 1);
\Session::put('loginAttemptTime', time());
}
} else // If no login attempts stored, init login attempts and time
{
\Session::put('loginAttempts', $loginAttempts);
\Session::put('loginAttemptTime', time());
}
// If auth ok, redirect to restricted area
\Session::put('loginAttempts', $loginAttempts + 1);
if ($this->auth->attempt($credentials, $request->has('remember'))) {
if(Auth::user()->role == 'user') {
return \Redirect::route('home');
return \Redirect::route('/');
} else {
return redirect()->intended($this->redirectPath());
}
@@ -164,6 +197,7 @@ class AuthController extends Controller {
'email' => $this->getFailedLoginMessage(),
'password' => $this->getFailedLoginMessage(),
]);
// Increment login attempts
}
/**
@@ -173,4 +207,101 @@ class AuthController extends Controller {
protected function getFailedLoginMessage() {
return 'This Field do not match our records.';
}
// public function postLogin(LoginRequest $request) {
// $email = $request->input('email');
// $counter = 0;
// $user = User::where('email','=',$email)->first();
// if($user) {
// if($user->active == 1) {
// $credentials = $request->only('email', 'password');
// while($counter < 10) {
// if($this->auth->attempt($credentials) === false) {
// $counter++;
// }
// }
// if ($this->auth->attempt($credentials, $request->has('remember'))) {
// if(Auth::user()) {
// if(Auth::user()->role == 'vendor') {
// return \Redirect::route('vendors.index');
// } elseif(Auth::user()->role == 'admin') {
// return \Redirect::route('admin.dashboard');
// } elseif(Auth::user()->role == 'sadmin') {
// return \Redirect::route('sadmin.dashboard');
// } else {
// return redirect()->intended($this->redirectPath());
// }
// } else {
// return redirect()->back()->with('message','Account Inactive, Please wait for Admin to approve.');
// }
// }
// } else {
// return redirect()->back()->with('message','Account Inactive, Please wait for Admin to approve.');
// }
// }
// return redirect($this->loginPath())
// ->withInput($request->only('email', 'remember'))
// ->withErrors(['email' => $this->getFailedLoginMessage(), 'password' => $this->getFailedLoginMessage(), ]);
// }
// public function authenticate() {
// // Set login attempts and login time
// $loginAttempts = 1;
// // If session has login attempts, retrieve attempts counter and attempts time
// if (Session::has('loginAttempts')) {
// $loginAttempts = Session::get('loginAttempts');
// $loginAttemptTime = Session::get('loginAttemptTime');
// // If attempts > 3 and time < 10 minutes
// if ($loginAttempts > 3 && (time() - $loginAttemptTime <= 600)) {
// return redirect()-back()->with('error', 'maximum login attempts reached. Try again in a while');
// }
// // If time > 10 minutes, reset attempts counter and time in session
// if (time() - $loginAttemptTime > 600) {
// Session::put('loginAttempts', 1);
// Session::put('loginAttemptTime', time());
// }
// } else // If no login attempts stored, init login attempts and time
// {
// Session::put('loginAttempts', $loginAttempts);
// Session::put('loginAttemptTime', time());
// }
// // If auth ok, redirect to restricted area
// if (Auth::attempt(['email' => 'someone@example.com'])) {
// return redirect()->intended('dashboard');
// }
// // Increment login attempts
// Session::put('loginAttempts', $loginAttempts + 1);
// }
// public function postLogin(LoginRequest $request) {
// // $email = $request->input('email');
// // $password = Hash::make($request->input('password'));
// // $remember = $request->input('remember');
// // dd([$email,$password,$remember]);
// $credentials = $request->only('email', 'password');
// if ($this->auth->attempt($credentials, $request->has('remember'))) {
// if(Auth::user()->role == 'user') {
// return \Redirect::route('home');
// } else {
// return redirect()->intended($this->redirectPath());
// }
// }
// return redirect($this->loginPath())
// ->withInput($request->only('email', 'remember'))
// ->withErrors([
// 'email' => $this->getFailedLoginMessage(),
// 'password' => $this->getFailedLoginMessage(),
// ]);
// }
}

View File

@@ -145,7 +145,7 @@ class InstallController extends Controller {
}
if (Config::get('database.install') == '%0%') {
if (Session::get('step2') == 'step2') {
return View::make('themes/default1/installer/helpdesk/view4');
return View::make('themes/default1/installer/helpdesk/view3');
} else {
return Redirect::route('prerequisites');
}
@@ -281,7 +281,7 @@ class InstallController extends Controller {
public function database() {
if (Config::get('database.install') == '%0%') {
if (Session::get('step4') == 'step4') {
return View::make('themes/default1/installer/helpdesk/view5');
return View::make('themes/default1/installer/helpdesk/view4');
} else {
return Redirect::route('configuration');
}
@@ -302,7 +302,7 @@ class InstallController extends Controller {
Session::forget('step1');
Session::forget('step2');
Session::forget('step3');
return View::make('themes/default1/installer/helpdesk/view6');
return View::make('themes/default1/installer/helpdesk/view5');
} else {
return Redirect::route('configuration');
}
@@ -420,7 +420,7 @@ class InstallController extends Controller {
File::put($path22, $content23);
try {
return View::make('themes/default1/installer/helpdesk/view7');
return View::make('themes/default1/installer/helpdesk/view6');
} catch (Exception $e) {
return Redirect::route('npl');
}

View File

@@ -0,0 +1,24 @@
<?php namespace App\Http\Middleware;
use Cache;
use Closure;
use Illuminate\Contracts\Routing\Middleware;
use Illuminate\Foundation\Application;
use Illuminate\Http\Request;
use Illuminate\Routing\Redirector;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Session;
class LanguageMiddleware implements Middleware {
public function handle($request, Closure $next)
{
if (Cache::has('language') AND array_key_exists(Cache::get('language'), Config::get('languages'))) {
App::setLocale(Cache::get('language'));
}
else { // This is optional as Laravel will automatically set the fallback language if there is none specified
App::setLocale(Config::get('app.fallback_locale'));
}
return $next($request);
}
}

View File

@@ -1,6 +1,6 @@
<?php
"%smtplink%";
\App\Http\Controllers\Common\SettingsController::smtp();
/*
|--------------------------------------------------------------------------
@@ -121,7 +121,9 @@ Route::group(['middleware' => 'roles', 'middleware' => 'auth'], function () {
Route::get('checkUpdate',['as'=>'checkupdate','uses'=>'Common\SettingsController@getupdate']); /* get Check update */
Route::get('plugins',['as'=>'plugins','uses'=>'Common\SettingsController@Plugins']);
Route::get('admin', array('as'=>'setting', 'uses'=>'Admin\helpdesk\SettingsController@settings'));
Route::get('plugins',['as'=>'plugins','uses'=>'Common\SettingsController@Plugins']);
Route::get('getplugin', array('as'=>'get.plugin', 'uses'=>'Common\SettingsController@GetPlugin'));
@@ -132,6 +134,27 @@ Route::group(['middleware' => 'roles', 'middleware' => 'auth'], function () {
Route::get('plugin/delete/{slug}', array('as'=>'delete.plugin', 'uses'=>'Common\SettingsController@DeletePlugin'));
Route::get('plugin/status/{slug}', array('as'=>'status.plugin', 'uses'=>'Common\SettingsController@StatusPlugin'));
//Routes for showing language table and switching language
Route::get('languages',['as'=>'LanguageController','uses'=>'Admin\helpdesk\LanguageController@index']);
Route::get('get-languages', array('as'=>'getAllLanguages', 'uses'=>'Admin\helpdesk\LanguageController@getLanguages'));
Route::get('change-language/{lang}', ['as'=>'lang.switch', 'uses'=>'Admin\helpdesk\LanguageController@switchLanguage']);
//Route for download language template package
Route::get('/download-template', array('as' => 'download', 'uses' => 'Admin\helpdesk\LanguageController@download'));
//Routes for language file upload form-----------You may want to use csrf protection for these route--------------
Route::post('language/add', 'Admin\helpdesk\LanguageController@postForm');
Route::get('language/add',array('as'=>'add-language','uses'=>'Admin\helpdesk\LanguageController@getForm'));
//Routes for delete language package
Route::get('delete-language/{lang}', ['as'=>'lang.delete', 'uses'=>'Admin\helpdesk\LanguageController@deleteLanguage']);
});
/*
@@ -447,7 +470,7 @@ $router->get('category/delete/{id}', 'Agent\kb\CategoryController@destroy');
$router->resource('article', 'Agent\kb\ArticleController');
$router->get('article/delete/{id}', 'Agent\kb\ArticleController@destroy');
/* get settings */
$router->get('settings', ['as'=>'settings' , 'uses'=> 'Agent\kb\SettingsController@settings']);
$router->get('kb/settings', ['as'=>'settings' , 'uses'=> 'Agent\kb\SettingsController@settings']);
/* post settings */
$router->patch('postsettings/{id}', 'Agent\kb\SettingsController@postSettings');
/* get the create faq page */

View File

@@ -0,0 +1,11 @@
<?php namespace App\Model\helpdesk\Utility;
use Illuminate\Database\Eloquent\Model;
class Limit_Login extends Model {
protected $table = 'limit_login';
protected $fillable = ['email', 'ip_address', 'duration', 'attempt_time', 'created_at', 'updated_at'];
}

View File

@@ -24,7 +24,7 @@ return [
| reporting about the errors we at faveo will start solving the issues already.
| The errors mails will never share your files or data. it will only share
| the line number and error occured.
| To dissable you may just change '%0%' to 0.
| To dissable you may just change '%1%' to 0.
*/
'ErrorLog' => '%0%',
@@ -38,7 +38,7 @@ return [
|
*/
'version' => 'COMMUNITY 1.0.3.5',
'version' => 'COMMUNITY 1.0.4',
/*
|--------------------------------------------------------------------------
@@ -142,7 +142,9 @@ return [
//
//
//
@@ -202,6 +204,8 @@ return [
'Vsmoraes\Pdf\PdfServiceProvider',
'Thomaswelton\LaravelGravatar\LaravelGravatarServiceProvider',
'Chumper\Datatable\DatatableServiceProvider',
'Chumper\Zipper\ZipperServiceProvider'
],
/*
@@ -258,6 +262,8 @@ return [
'UTC' => 'App\Http\Controllers\Agent\helpdesk\TicketController',
'SMTPS' => 'App\Http\Controllers\HomeController',
'Datatable' => 'Chumper\Datatable\Facades\DatatableFacade',
'Zipper' => 'Chumper\Zipper\Zipper',
],
];

View File

@@ -1,5 +1,4 @@
<?php
return [
/*
@@ -67,8 +66,8 @@ return [
'pgsql' => [
'driver' => 'pgsql',
'host' => '%host1%',
'database' => '%database1%',
'host' => 'localhost',
'database' => 'fav',
'username' => '%username1%',
'password' => '%password1%',
'port' => '%port1%',

140
config/languages.php Normal file
View File

@@ -0,0 +1,140 @@
<?php
//Iso codes for languages
return [
'aa' => "Afar",
'ab' => "Abkhazian",
'af' => "Afrikaans",
'am' => "Amharic",
'ar' => "Arabic",
'as' => "Assamese",
'ay' => "Aymara",
'az' => "Azerbaijani",
'ba' => "Bashkir",
'be' => "Byelorussian",
'bg' => "Bulgarian",
'bh' => "Bihari",
'bi' => "Bislama",
'bn' => "Bengali",
'bo' => "Tibetan",
'br' => "Breton",
'ca' => "Catalan",
'co' => "Corsican",
'cs' => "Czech",
'cy' => "Welsh",
'da' => "Danish",
'de' => "German",
'dz' => "Bhutani",
'el' => "Greek",
'en' => "English",
'eo' => "Esperanto",
'es' => "Spanish",
'et' => "Estonian",
'eu' => "Basque",
'fa' => "Persian",
'fi' => "Finnish",
'fj' => "Fiji",
'fo' => "Faeroese",
'fr' => "French",
'fy' => "Frisian",
'ga' => "Irish",
'gd' => "Gaelic",
'gl' => "Galician",
'gn' => "Guarani",
'gu' => "Gujarati",
'ha' => "Hausa",
'hi' => "Hindi",
'hr' => "Croatian",
'hu' => "Hungarian",
'hy' => "Armenian",
'ia' => "Interlingua",
'ie' => "Interlingue",
'ik' => "Inupiak",
'in' => "Indonesian",
'is' => "Icelandic",
'it' => "Italian",
'iw' => "Hebrew",
'ja' => "Japanese",
'ji' => "Yiddish",
'jw' => "Javanese",
'ka' => "Georgian",
'kk' => "Kazakh",
'kl' => "Greenlandic",
'km' => "Cambodian",
'kn' => "Kannada",
'ko' => "Korean",
'ks' => "Kashmiri",
'ku' => "Kurdish",
'ky' => "Kirghiz",
'la' => "Latin",
'ln' => "Lingala",
'lo' => "Laothian",
'lt' => "Lithuanian",
'lv' => "Latvian",
'mg' => "Malagasy",
'mi' => "Maori",
'mk' => "Macedonian",
'ml' => "Malayalam",
'mn' => "Mongolian",
'mo' => "Moldavian",
'mr' => "Marathi",
'ms' => "Malay",
'mt' => "Maltese",
'my' => "Burmese",
'na' => "Nauru",
'ne' => "Nepali",
'nl' => "Dutch",
'no' => "Norwegian",
'oc' => "Occitan",
'om' => "Oromo",
'or' => "Oriya",
'pa' => "Punjabi",
'pl' => "Polish",
'ps' => "Pashto",
'pt' => "Portuguese",
'qu' => "Quechua",
'rm' => "Rhaeto-Romance",
'rn' => "Kirundi",
'ro' => "Romanian",
'ru' => "Russian",
'rw' => "Kinyarwanda",
'sa' => "Sanskrit",
'sd' => "Sindhi",
'sg' => "Sangro",
'sh' => "Serbo-Croatian",
'si' => "Singhalese",
'sk' => "Slovak",
'sl' => "Slovenian",
'sm' => "Samoan",
'sn' => "Shona",
'so' => "Somali",
'sq' => "Albanian",
'sr' => "Serbian",
'ss' => "Siswati",
'st' => "Sesotho",
'su' => "Sudanese",
'sv' => "Swedish",
'sw' => "Swahili",
'ta' => "Tamil",
'te' => "Tegulu",
'tg' => "Tajik",
'th' => "Thai",
'ti' => "Tigrinya",
'tk' => "Turkmen",
'tl' => "Tagalog",
'tn' => "Setswana",
'to' => "Tonga",
'tr' => "Turkish",
'ts' => "Tsonga",
'tt' => "Tatar",
'tw' => "Twi",
'uk' => "Ukrainian",
'ur' => "Urdu",
'uz' => "Uzbek",
'vi' => "Vietnamese",
'vo' => "Volapuk",
'wo' => "Wolof",
'xh' => "Xhosa",
'yo' => "Yoruba",
'zh' => "Chinese",
'zu' => "Zulu",
];

BIN
public/downloads/en.zip Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 KiB

View File

@@ -3558,4 +3558,39 @@ Gradient Background colors
filter: alpha(opacity=100);
}
blockquote{
padding:10px 20px;
}
.error-message-padding{
margin-left:20px;
}
.settingdivblue:hover {
border: 5px double #3C8DBC;
}
.settingdivblue a:hover {
/* color: #61C5FF;*/
/* background-color: darkgrey;*/
}
.settingdivblue a {
color: #3A83AD;
}
.settingiconblue p {
text-align: center;
font-size: 17px;
word-wrap: break-word;
font-variant: small-caps;
font-weight: bold;
line-height: 30px;
}
.settingdivblue {
width: 70px;
height: 70px;
margin: 0 auto;
text-align: center;
border: 5px solid #C4D8E4;
border-radius: 100%;
padding-top: 5px;
}

View File

@@ -3509,3 +3509,11 @@ Gradient Background colors
}
blockquote {
padding: 10px 20px;
margin: 0 0 20px;
font-size: 13px;
border-left: 5px solid #AFAFAF;
background-color:#EEEEEE;
border-radius:3px;
}

File diff suppressed because one or more lines are too long

BIN
public/lb-faveo/installer/css/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,512 @@
/*!
* Datepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datepicker {
padding: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
/*.dow {
border-top: 1px solid #ddd !important;
}*/
}
.datepicker-inline {
width: 220px;
}
.datepicker.datepicker-rtl {
direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-top: 0;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
}
.datepicker-dropdown:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
border-top: 0;
position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
right: 7px;
}
.datepicker-dropdown.datepicker-orient-top:before {
top: -7px;
}
.datepicker-dropdown.datepicker-orient-top:after {
top: -6px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
bottom: -7px;
border-bottom: 0;
border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
bottom: -6px;
border-bottom: 0;
border-top: 6px solid #ffffff;
}
.datepicker > div {
display: none;
}
.datepicker.days div.datepicker-days {
display: block;
}
.datepicker.months div.datepicker-months {
display: block;
}
.datepicker.years div.datepicker-years {
display: block;
}
.datepicker table {
margin: 0;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.datepicker td,
.datepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
background: #eeeeee;
cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
background-image: linear-gradient(top, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
color: #000;
}
.datepicker table tr td.today.active:hover {
color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
background: #eeeeee;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
background-color: #f3d17a;
background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
background-image: linear-gradient(top, #f3c17a, #f3e97a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
border-color: #f3e97a #f3e97a #edde34;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
background-color: #9e9e9e;
background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
background-image: -o-linear-gradient(top, #b3b3b3, #808080);
background-image: linear-gradient(top, #b3b3b3, #808080);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
border-color: #808080 #808080 #595959;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datepicker table tr td span:hover {
background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
color: #999999;
}
.datepicker th.datepicker-switch {
width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
background: #eeeeee;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
cursor: default;
background-color: transparent;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
cursor: pointer;
width: 16px;
height: 16px;
}
.input-daterange input {
text-align: center;
}
.input-daterange input:first-child {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
display: inline-block;
width: auto;
min-width: 16px;
height: 20px;
padding: 4px 5px;
font-weight: normal;
line-height: 20px;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
vertical-align: middle;
background-color: #eeeeee;
border: 1px solid #ccc;
margin-left: -5px;
margin-right: -5px;
}
.datepicker.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
float: left;
display: none;
min-width: 160px;
list-style: none;
background-color: #ffffff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
*border-right-width: 2px;
*border-bottom-width: 2px;
color: #333333;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 20px;
}
.datepicker.dropdown-menu th,
.datepicker.dropdown-menu td {
padding: 4px 5px;
}

View File

@@ -0,0 +1,72 @@
.ui-timepicker-wrapper {
overflow-y: auto;
height: 150px;
width: 6.5em;
background: #fff;
border: 1px solid #ddd;
-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);
-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);
box-shadow:0 5px 10px rgba(0,0,0,0.2);
outline: none;
z-index: 10001;
margin: 0;
}
.ui-timepicker-wrapper.ui-timepicker-with-duration {
width: 13em;
}
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-60 {
width: 11em;
}
.ui-timepicker-list {
margin: 0;
padding: 0;
list-style: none;
}
.ui-timepicker-duration {
margin-left: 5px; color: #888;
}
.ui-timepicker-list:hover .ui-timepicker-duration {
color: #888;
}
.ui-timepicker-list li {
padding: 3px 0 3px 5px;
cursor: pointer;
white-space: nowrap;
color: #000;
list-style: none;
margin: 0;
}
.ui-timepicker-list:hover .ui-timepicker-selected {
background: #fff; color: #000;
}
li.ui-timepicker-selected,
.ui-timepicker-list li:hover,
.ui-timepicker-list .ui-timepicker-selected:hover {
background: #1980EC; color: #fff;
}
li.ui-timepicker-selected .ui-timepicker-duration,
.ui-timepicker-list li:hover .ui-timepicker-duration {
color: #ccc;
}
.ui-timepicker-list li.ui-timepicker-disabled,
.ui-timepicker-list li.ui-timepicker-disabled:hover,
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
color: #888;
cursor: default;
}
.ui-timepicker-list li.ui-timepicker-disabled:hover,
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
background: #f2f2f2;
}

File diff suppressed because one or more lines are too long

114
public/lb-faveo/installer/css/style.css vendored Normal file
View File

@@ -0,0 +1,114 @@
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.8);
z-index: 99999;
opacity: 0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
overflow-y: scroll;
}
.modalDialog:target {
opacity: 1;
pointer-events: auto;
}
.modal-body {
overflow-y: scroll;
height: 500px;
}
.modalDialog > div {
width: 60%;
position: relative;
margin: 20px auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff);
background: -webkit-linear-gradient(#fff);
background: -o-linear-gradient(#fff);
}
.close {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}
.close:hover {
background: #00d9ff;
}
/*For gradient background */
/*Use only this id inorder to bring the gradient effect for future purpose*/
/*UI Developer- Karthik Sengottaian*/
#gradient {
width: 100%;
height: 100%;
padding: 0px;
margin: 0px;
}
.ok {
color: #4cae4c;
text-align: center;
}
.error {
color: #d43f3a;
text-align: center;
}
.warning {
color: #eea236;
text-align: center;
}
a{
text-decoration: none;
}
/*For gradient background */
/*--Tool Tip-- */
a.tooltip {outline:none; }
a.tooltip strong {line-height:30px;}
a.tooltip:hover {text-decoration:none;}
a.tooltip span {
z-index:10;display:none; padding:14px 20px;
margin-top:-30px; margin-left:28px;
width:300px; line-height:16px;
}
a.tooltip:hover span{
display:inline; position:absolute; color:#111;
border:1px solid #DCA; background:#fffAF0;}
.callout {z-index:20;position:absolute;top:30px;border:0;left:-12px;}
/*CSS3 extras*/
a.tooltip span
{
border-radius:4px;
box-shadow: 5px 5px 8px #CCC;
}
/*--Tool Tip-- */

File diff suppressed because one or more lines are too long

BIN
public/lb-faveo/installer/js/.DS_Store vendored Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,61 @@
var colors = new Array(
[62,35,255],
[60,255,60],
[255,35,98],
[45,175,230],
[255,0,255],
[255,128,0]);
var step = 0;
//color table indices for:
// current color left
// next color left
// current color right
// next color right
var colorIndices = [0,1,2,3];
//transition speed
var gradientSpeed = 0.002;
function updateGradient()
{
if ( $===undefined ) return;
var c0_0 = colors[colorIndices[0]];
var c0_1 = colors[colorIndices[1]];
var c1_0 = colors[colorIndices[2]];
var c1_1 = colors[colorIndices[3]];
var istep = 1 - step;
var r1 = Math.round(istep * c0_0[0] + step * c0_1[0]);
var g1 = Math.round(istep * c0_0[1] + step * c0_1[1]);
var b1 = Math.round(istep * c0_0[2] + step * c0_1[2]);
var color1 = "rgb("+r1+","+g1+","+b1+")";
var r2 = Math.round(istep * c1_0[0] + step * c1_1[0]);
var g2 = Math.round(istep * c1_0[1] + step * c1_1[1]);
var b2 = Math.round(istep * c1_0[2] + step * c1_1[2]);
var color2 = "rgb("+r2+","+g2+","+b2+")";
$('#gradient').css({
background: "-webkit-gradient(linear, left top, right top, from("+color1+"), to("+color2+"))"}).css({
background: "-moz-linear-gradient(left, "+color1+" 0%, "+color2+" 100%)"});
step += gradientSpeed;
if ( step >= 1 )
{
step %= 1;
colorIndices[0] = colorIndices[1];
colorIndices[2] = colorIndices[3];
//pick two new target color indices
//do not pick the same as the current one
colorIndices[1] = ( colorIndices[1] + Math.floor( 1 + Math.random() * (colors.length - 1))) % colors.length;
colorIndices[3] = ( colorIndices[3] + Math.floor( 1 + Math.random() * (colors.length - 1))) % colors.length;
}
}
setInterval(updateGradient,10);

View File

@@ -0,0 +1,10 @@
$(document).ready(function() {
$("button").mouseover(function() {
$.ajax({
url: "demo_test.txt",
success: function(result) {
$(".tool").html(result);
}
});
});
});

View File

@@ -221,3 +221,38 @@ div.DTFC_LeftFootWrapper table {
border-top: none;
}
/* .first
{
z-index: 2;
color: #fff;
cursor: default;
background-color: #337ab7;
border-color: #337ab7;
padding: 4px;
}
.first .active
{
background-color: red;
}*/
/* .paginate_button
{
border-radius: 3px;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid ;
}*/
/*
.paginate_button_disabled{
border-radius: 3px;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid ;
}*/

BIN
public/uploads/en.zip Normal file

Binary file not shown.

View File

@@ -193,6 +193,7 @@ return array(
'purglog' =>'Purge Logs',
'nameformat' =>'Name Formatting',
'timeformat' =>'Time Format',
'date' => 'Date',
'dateformat' =>'Date Format',
'date_time' =>'Date And Time Format',
'day_date_time' =>'Day,Date And Time Format',
@@ -306,6 +307,22 @@ return array(
'system_error_reports' => 'System error Reports',
'Send_app_crash_reports_to_help_Ladybird_improve_Faveo' => 'Send app crash reports to help Ladybird improve Faveo',
/*
|------------------------------------------------
|Language page
|------------------------------------------------
*/
'iso-code' => 'ISO-CODE',
'download' => 'Downlaod',
'upload_file' => 'Upload File',
'enter_iso-code' => "Enter ISO-CODE",
'eg.' => 'Example',
'for' => 'for',
'english' => 'English',
'language-name' => 'Language name',
'file' => 'File',
/*
|----------------------------------------------------------------------------------------
| Manage Pages [English(en)]

Binary file not shown.

View File

@@ -1,876 +0,0 @@
<?php
return array(
/*
|----------------------------------------------------------------------------------------
| Authentication Pages [English(en)]
|----------------------------------------------------------------------------------------
|
| The following language lines are used in all authentication related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
/*
|--------------------------------------
| Error
|--------------------------------------
*/
'success' => 'lllllll',
'fails' => 'lllllll',
'alert' => 'lllllll',
/*
|--------------------------------------
| Login Page
|--------------------------------------
*/
'Login_to_start_your_session' => 'lllllll',
'login' => 'lllllll',
'remember' => 'lllllll',
'signmein' => 'lllllll',
'iforgot' => 'lllllll',
'email_address' => 'lllllll',
'password' => 'llllllll',
'woops' => 'llllllll',
'theirisproblem' => 'llllllll',
'login' => 'llllllll',
'e-mail' => 'llllllll',
'reg_new_member' => 'llllllll',
/*
|--------------------------------------
| Register Page
|--------------------------------------
*/
'registration' => 'llllllll',
'full_name' => 'llllllll',
'retype_password' => 'llllllll',
'i_agree_to_the' => 'llllllll',
'terms' => 'llllllll',
'register' => 'llllllll',
'i_already_have_a_membership' => 'llllllll',
/*
|--------------------------------------
| Reset Password Page
|--------------------------------------
*/
'reset_password' => 'llllllll',
/*
|--------------------------------------
| Forgot Password Page
|--------------------------------------
*/
'i_know_my_password' => 'llllllll',
'recover_passord' => 'llllllll',
'send_password_reset_link' => 'llllllll',
'enter_email_to_reset_password' => 'llllllll',
/*
|----------------------------------------------------------------------------------------
| Emails Pages [English(en)]
|----------------------------------------------------------------------------------------
|
| The following language lines are used in all Emails related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
'admin_panel' => 'llllllll',
'emails' => 'llllllll',
/*
|--------------------------------------
| Emails Create Page
|--------------------------------------
*/
'incoming_emails' => 'llllllll',
'reuired_authentication' => 'llllllll',
'fetching_email_via_imap_or_pop' => 'llllllll',
'create_email' =>'llllllll',
'email_address' =>'llllllll',
'email_name' =>'llllllll',
'help_topic' =>'llllllll',
'auto_response' =>'llllllll',
'host_name' =>'llllllll',
'port_number' =>'llllllll',
'mail_box_protocol' =>'llllllll',
'authentication_required' =>'llllllll',
'yes' =>'llllllll',
'no' =>'llllllll',
'header_spoofing' =>'llllllll',
'allow_for_this_email' =>'llllllll',
'imap_config' =>'llllllll',
/*
|--------------------------------------
| Ban Emails Create Page
|--------------------------------------
*/
'ban_lists' =>'llllllll',
'ban_email' =>'llllllll',
'banlists' =>'llllllll',
'ban_status' =>'llllllll',
/*
|--------------------------------------
| Templates Index Page
|--------------------------------------
*/
'templates' =>'llllllll',
'create_template' =>'llllllll',
'in_use' =>'llllllll',
/*
|--------------------------------------
| Templates Create Page
|--------------------------------------
*/
'template_set_to_clone' =>'llllllll',
'language' =>'llllllll',
/*
|--------------------------------------
| Diagnostics Page
|--------------------------------------
*/
'diagnostics' =>'llllllll',
'from' =>'llllllll',
'to' =>'llllllll',
'subject' =>'llllllll',
'message' =>'llllllll',
'send' =>'llllllll',
/*
|----------------------------------------------------------------------------------------
| Settings Pages [English(en)]
|----------------------------------------------------------------------------------------
|
| The following language lines are used in all Setting related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
/*
|--------------------------------------
| Company Settings Page
|--------------------------------------
*/
'company' =>'llllllll',
'website' =>'llllllll',
'phone' =>'llllllll',
'address' =>'llllllll',
'landing' =>'llllllll',
'offline' =>'llllllll',
'thank' =>'llllllll',
'logo' =>'llllllll',
'save' =>'llllllll',
/*
|--------------------------------------
| System Settings Page
|--------------------------------------
*/
'system' =>'llllllll',
'online' =>'llllllll',
'offline' =>'llllllll',
'name/title' =>'llllllll',
'pagesize' =>'llllllll',
'url' =>'llllllll',
'default_department'=>'llllllll',
'loglevel' =>'llllllll',
'purglog' =>'llllllll',
'nameformat' =>'llllllll',
'timeformat' =>'llllllll',
'dateformat' =>'llllllll',
'date_time' =>'llllllll',
'day_date_time' =>'llllllll',
'timezone' =>'llllllll',
/*
|--------------------------------------
| Email Settings Page
|--------------------------------------
*/
'email' =>'llllllll',
'default_template' =>'llllllll',
'default_system_email' =>'llllllll',
'default_alert_email' =>'llllllll',
'admin_email' =>'llllllll',
'email_fetch' =>'llllllll',
'enable' =>'llllllll',
'default_MTA' =>'llllllll',
'fetch_auto-corn' =>'llllllll',
'strip_quoted_reply' =>'llllllll',
'reply_separator' =>'llllllll',
'accept_all_email' =>'llllllll',
'accept_email_unknown' =>'llllllll',
'accept_email_collab' =>'llllllll',
'automatically_and_collab_from_email'=>'llllllll',
'default_alert_email' =>'llllllll',
'attachments' =>'llllllll',
'email_attahment_user' =>'llllllll',
/*
|--------------------------------------
| Ticket Settings Page
|--------------------------------------
*/
'ticket' =>'llllllll',
'default_ticket_number_format' =>'llllllll',
'default_ticket_number_sequence' =>'llllllll',
'default_status' =>'llllllll',
'default_priority' =>'llllllll',
'default_sla' =>'llllllll',
'default_help_topic' =>'llllllll',
'maximum_open_tickets' =>'llllllll',
'agent_collision_avoidance_duration'=>'llllllll',
'human_verification' =>'llllllll',
'claim_on_response' =>'llllllll',
'assigned_tickets' =>'llllllll',
'answered_tickets' =>'llllllll',
'agent_identity_masking' =>'llllllll',
'enable_HTML_ticket_thread' =>'llllllll',
'allow_client_updates' =>'llllllll',
/*
|--------------------------------------
| Access Settings Page
|--------------------------------------
*/
'access' =>'llllllll',
'expiration_policy' =>'llllllll',
'allow_password_resets' =>'llllllll',
'reset_token_expiration' =>'llllllll',
'agent_session_timeout' =>'llllllll',
'bind_agent_session_IP' =>'llllllll',
'registration_required' =>'llllllll',
'require_registration_and_login_to_create_tickets' =>'llllllll',
'registration_method' =>'llllllll',
'user_session_timeout' =>'llllllll',
'client_quick_access' =>'llllllll',
/*
|--------------------------------------
| Auto-Response Settings Page
|--------------------------------------
*/
'auto_responce' =>'llllllll',
'new_ticket' =>'llllllll',
'new_ticket_by_agent' =>'llllllll',
'new_message' =>'llllllll',
'submitter' =>'llllllll',
'send_receipt_confirmation' =>'llllllll',
'participants' =>'llllllll',
'send_new_activity_notice' =>'llllllll',
'overlimit_notice' =>'llllllll',
'email_attachments_to_the_user' =>'llllllll',
/*
|--------------------------------------
| Alert & Notice Settings Page
|--------------------------------------
*/
'disable' =>'llllllll',
'admin_email_2' =>'llllllll',
'alert_notices' =>'llllllll',
'new_ticket_alert' =>'llllllll',
'department_manager' =>'llllllll',
'department_members' =>'llllllll',
'organization_account_manager' =>'llllllll',
'new_message_alert' =>'llllllll',
'last_respondent' =>'llllllll',
'assigned_agent_team' =>'llllllll',
'new_internal_note_alert' =>'llllllll',
'ticket_assignment_alert' =>'llllllll',
'team_lead' =>'llllllll',
'team_members' =>'llllllll',
'ticket_transfer_alert' =>'llllllll',
'overdue_ticket_alert' =>'llllllll',
'system_alerts' =>'llllllll',
'system_errors' =>'llllllll',
'SQL_errors' =>'llllllll',
'excessive_failed_login_attempts' =>'llllllll',
/*
|----------------------------------------------------------------------------------------
| Theme Pages [English(en)]
|----------------------------------------------------------------------------------------
|
| The following language lines are used in all Theme related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
'themes' => 'llllllll',
/*
|--------------------------------------
| Footer Pages
|--------------------------------------
*/
'footer' => 'llllllll',
'footer1' => 'llllllll',
'footer2' => 'llllllll',
'footer3' => 'llllllll',
'footer4' => 'llllllll',
/*
|----------------------------------------------------------------------------------------
| Manage Pages [English(en)]
|----------------------------------------------------------------------------------------
|
| The following language lines are used in all Manage related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
'manage' => 'llllllll',
/*
|--------------------------------------
| Help Topic index Page
|--------------------------------------
*/
'help_topics' => 'llllllll',
'topic' =>'llllllll',
'type' =>'llllllll',
'priority' =>'llllllll',
'last_updated' =>'llllllll',
'create_help_topic' =>'llllllll',
'action' =>'llllllll',
/*
|--------------------------------------
| Help Topic Create Page
|--------------------------------------
*/
'active' =>'llllllll',
'disabled' =>'llllllll',
'public' =>'llllllll',
'private' =>'llllllll',
'parent_topic' =>'llllllll',
'Custom_form' =>'llllllll',
'SLA_plan' =>'llllllll',
'auto_assign' =>'llllllll',
'auto_respons' =>'llllllll',
'ticket_number_format' =>'llllllll',
'system_default' =>'llllllll',
'custom' =>'llllllll',
'internal_notes' =>'llllllll',
/*
|--------------------------------------
| SLA plan Index Page
|--------------------------------------
*/
'sla_plans' => 'llllllll',
'create_SLA' =>'llllllll',
'grace_period' =>'llllllll',
'added_date' =>'llllllll',
/*
|--------------------------------------
| SLA plan Create Page
|--------------------------------------
*/
'transient' =>'llllllll',
'ticket_overdue_alert' =>'llllllll',
/*
|--------------------------------------
| Form Create Page
|--------------------------------------
*/
'title' =>'llllllll',
'instruction' =>'llllllll',
'label' =>'llllllll',
'visibility' =>'llllllll',
'variable' =>'llllllll',
'create_form' =>'llllllll',
'forms' =>'llllllll',
'form_name' => 'llllllll',
'view_this_form' => 'llllllll',
'delete_from' => 'llllllll',
'are_you_sure_you_want_to_delete' => 'llllllll',
'close' => 'llllllll',
'instructions' => 'llllllll',
"instructions_on_creating_form" => "lllllll",
'form_properties' => 'llllllll',
'adding_fields' => 'llllllll',
"click_add_fields_button_to_add_fields" => "llllllll",
'add_fields' => 'llllllll',
'save_form' => 'llllllll',
'label' => 'llllllll',
'name' => 'llllllll',
'type' => 'llllllll',
'values(selected_fields)' => 'llllllll',
'required' => 'llllllll',
'Action' => 'llllllll',
'remove' => 'llllllll',
/*
|----------------------------------------------------------------------------------------
| Staff Pages [English(en)]
|----------------------------------------------------------------------------------------
|
| The following language lines are used in all Staff related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
/*
|--------------------------------------
| Staff index Page
|--------------------------------------
*/
'are_you_sure' => 'llllllll',
'staffs' => 'llllllll',
'name' =>'llllllll',
'user_name' =>'llllllll',
'status' =>'llllllll',
'group' =>'llllllll',
'department' =>'llllllll',
'created' =>'llllllll',
'lastlogin' =>'llllllll',
'createagent' =>'llllllll',
'delete' =>'llllllll',
'agents' =>'llllllll',
'create' =>'llllllll',
'edit' =>'llllllll',
'departments' =>'llllllll',
'groups' =>'lllllll',
/*
|--------------------------------------
| Staff Create Page
|--------------------------------------
*/
'create_agent' =>'llllllll',
'first_name' =>'llllllll',
'last_name' =>'llllllll',
'mobile_number' =>'llllllll',
'agent_signature' =>'llllllll',
'account_status_setting' =>'llllllll',
'account_type' =>'llllllll',
'admin' =>'llllllll',
'agent' =>'llllllll',
'account_status' =>'llllllll',
'locked' =>'llllllll',
'assigned_group' =>'llllllll',
'primary_department' =>'llllllll',
'agent_time_zone' =>'llllllll',
'day_light_saving' =>'llllllll',
'limit_access' =>'llllllll',
'directory_listing' =>'llllllll',
'vocation_mode' =>'llllllll',
'assigned_team' =>'llllllll',
/*
|--------------------------------------
| Department Create Page
|--------------------------------------
*/
'create_department' =>'llllllll',
'manager' =>'llllllll',
'ticket_assignment' =>'llllllll',
'restrict_ticket_assignment_to_department_members' =>'llllllll',
'outgoing_emails' =>'llllllll',
'template_set' =>'llllllll',
'auto_responding_settings' =>'llllllll',
'disable_for_this_department' =>'llllllll',
'auto_response_email' =>'Allllllll',
'recipient' =>'llllllll',
'group_access' =>'llllllll',
'department_signature' =>'llllllll',
/*
|--------------------------------------
| Team Create Page
|--------------------------------------
*/
'create_team'=>'llllllll',
'team_lead'=>'llllllll',
'assignment_alert'=>'llllllll',
'disable_for_this_team'=>'llllllll',
'teams'=>'llllllll',
/*
|--------------------------------------
| Group Create Page
|--------------------------------------
*/
'create_group' =>'llllllll',
'goups' =>'llllllll',
'can_create_ticket' =>'llllllll',
'can_edit_ticket' =>'llllllll',
'can_post_ticket' =>'llllllll',
'can_close_ticket' =>'llllllll',
'can_assign_ticket' =>'llllllll',
'can_transfer_ticket' =>'llllllll',
'can_delete_ticket' =>'llllllll',
'can_ban_emails' =>'llllllll',
'can_manage_premade' =>'llllllll',
'can_manage_FAQ' =>'llllllll',
'can_view_agent_stats' =>'llllllll',
'department_access' =>'llllllll',
'admin_notes' =>'llllllll',
'group_members' =>'llllllll',
'group_name' =>'llllllll',
/*
|--------------------------------------
| SMTP Page
|--------------------------------------
*/
'driver' => 'llllllll',
'smtp' => 'llllllll',
'host'=>'llllllll',
'port'=>'llllllll',
'encryption'=>'llllllll',
/*
|----------------------------------------------------------------------------------------
| Agent Panel [English(en)]
|----------------------------------------------------------------------------------------
|
| The following language lines are used in all Agent Panel related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
'agent_panel' => 'llllllll',
'profile' => 'llllllll',
'change_password' => 'llllllll',
'sign_out' => 'llllllll',
'Tickets' => 'llllllll',
'inbox' => 'llllllll',
'my_tickets' => 'llllllll',
'unassigned' => 'llllllll',
'trash' => 'llllllll',
'Updates' => 'llllllll',
'no_new_updates' => 'llllllll',
'check_for_updates' => 'llllllll',
'open' => 'llllllll',
'inprogress' => 'llllllll',
'closed' => 'llllllll',
'Departments' => 'llllllll',
'tools' => 'llllllll',
'canned' => 'llllllll',
'knowledge_base' => 'llllllll',
/*
|-----------------------------------------------
| Profile
|-----------------------------------------------
*/
'user_information' => 'llllllll',
'time_zone' => 'llllllll',
'phone_number' => 'llllllll',
'contact_information' => 'llllllll',
/*
|-----------------------------------------------
| Dashboard
|-----------------------------------------------
*/
'dashboard' => 'llllllll',
'line_chart' => 'llllllll',
'statistics' => 'llllllll',
'opened' => 'llllllll',
'resolved' => 'llllllll',
'closed' => 'llllllll',
'deleted' => 'llllllll',
/*
|------------------------------------------------
|User Page
|------------------------------------------------
*/
'user_directory' => 'llllllll',
'ban' => 'llllllll',
'user' => 'llllllll',
'users' => 'llllllll',
'create_user' => 'llllllll',
'full_name' => 'llllllll',
'mobile' => 'llllllll',
'last_login' => 'llllllll',
'user_profile' => 'llllllll',
'assign' => 'llllllll',
'open_tickets' => 'llllllll',
'closed_tickets' => 'llllllll',
'deleted_tickets' => 'llllllll',
/*
|------------------------------------------------
|Organization Page
|------------------------------------------------
*/
'organizations' => 'llllllll',
'organization' => 'llllllll',
'create_organization' => 'llllllll',
'account_manager' => 'llllllll',
'update' => 'llllllll',
'organization_profile' => 'llllllll',
'please_select_an_organization' => 'llllllll',
'please_select_an_user' => 'llllllll',
'organization-s_head' => "llllllll",
'select_department_manager' => 'llllllll',
'users_of' => 'llllllll',
/*
|----------------------------------------------
| Ticket page
|----------------------------------------------
*/
'subject' => 'llllllll',
'ticket_id' => 'llllllll',
'priority' => 'llllllll',
'from' => 'llllllll',
'last_replier' => 'llllllll',
'assigned_to' => 'llllllll',
'last_activity' => 'llllllll',
'answered' => 'llllllll',
'assigned' => 'llllllll',
'create_ticket' => 'llllllll',
'tickets' => 'llllllll',
'open' => 'llllllll',
'Ticket_Information' => 'llllllll',
'Ticket_Id' => 'llllllll',
'User' => 'llllllll',
'Unassigned' => 'llllllll',
'generate_pdf' => 'llllllll',
'change_status' => 'llllllll',
'more' => 'llllllll',
'delete_ticket' => 'llllllll',
'emergency' => 'llllllll',
'high' => 'llllllll',
'medium' => 'llllllll',
'low' => 'llllllll',
'sla_plan' => 'llllllll',
'created_date' => 'llllllll',
'due_date' => 'llllllll',
'last_response' => 'llllllll',
'source' => 'llllllll',
'last_message' => 'llllllll',
'reply' => 'llllllll',
'response' => 'llllllll',
'reply_content' => 'llllllll',
'attachment' => 'llllllll',
'internal_note' => 'llllllll',
'this_ticket_is_under_banned_user' => 'llllllll',
'ticket_source' => 'llllllll',
'are_you_sure_to_ban' => 'llllllll',
'whome_do_you_want_to_assign_ticket' => 'llllllll',
'are_you_sure_you_want_to_surrender_this_ticket' => 'llllllll',
'add_collaborator' => 'llllllll',
'search_existing_users' => 'llllllll',
'add_new_user' => 'llllllll',
'search_existing_users_or_add_new_users' => 'llllllll',
'search_by_email' => 'llllllll',
'list_of_collaborators_of_this_ticket' => 'llllllll',
'submit' => 'llllllll',
'max' => 'llllllll',
'add_cc' => 'llllllll',
'recepients' => 'llllllll',
'select_a_canned_response' => 'llllllll',
'assign_to' => 'llllllll',
'detail' => 'llllllll',
'user_details' => 'llllllll',
'ticket_option' => 'llllllll',
'ticket_detail' => 'llllllll',
/*
|------------------------------------------------
|Tools Page
|------------------------------------------------
*/
'canned_response' => 'llllllll',
'create_canned_response' => 'llllllll',
'surrender' => 'llllllll',
'view' => 'llllllll',
/*
|-----------------------------------------------
| Main text
|-----------------------------------------------
*/
'copyright' => 'llllllll',
'all_rights_reserved' => 'llllllll',
'powered_by' => 'llllllll',
/*
|------------------------------------------------
|Guest-User Page
|------------------------------------------------
*/
'issue_summary' => 'llllllll',
'issue_details' => 'llllllll',
'contact_informations' => 'llllllll',
'contact_details' => 'llllllll',
'role' => 'llllllll',
'ext' => 'llllllll',
'profile_pic' => 'llllllll',
'agent_sign' => 'llllllll',
'inactive' => 'llllllll',
'male' => 'llllllll',
'female' => 'llllllll',
'old_password' => 'llllllll',
'new_password' => 'llllllll',
'confirm_password' => 'llllllll',
'gender' => 'llllllll',
'ticket_number' => 'llllllll',
'content' => 'llllllll',
/*
|------------------------------------------------
| Error Pages
|------------------------------------------------
*/
'not_found' => 'llllllll',
'oops_page_not_found' => 'llllllll',
'we_could_not_find_the_page_you_were_looking_for'=>'llllllll',
'internal_server_error' => 'llllllll',
'be_right_back' => 'llllllll',
'sorry' => 'llllllll',
'we_are_working_on_it' => 'llllllll',
'category' => 'llllllll',
'addcategory' => 'llllllll',
'allcategory' => 'llllllll',
'article' => 'llllllll',
'articles' => 'llllllll',
'addarticle' => 'llllllll',
'allarticle' => 'llllllll',
'pages' => 'llllllll',
'addpages' => 'llllllll',
'allpages' => 'llllllll',
'widgets' => 'llllllll',
'footer1' => 'llllllll',
'footer2' => 'llllllll',
'footer3' => 'llllllll',
'footer4' => 'llllllll',
'sidewidget1' => 'llllllll',
'sidewidget2' => 'llllllll',
'comments' => 'llllllll',
'settings' => 'llllllll',
'parent' => 'llllllll',
'description' => 'llllllll',
'enter_the_description' => 'llllllll',
'publish' => 'llllllll',
'published' => 'llllllll',
'draft' => 'llllllll',
'create_a_category' => 'llllllll',
'add' => 'llllllll',
'social' => 'llllllll',
'comment' => 'llllllll',
'not_published' => 'llllllll',
'numberofelementstodisplay' => 'llllllll',
//======================================
'language' => 'llllllll',
'save' => 'llllllll',
'create' => 'Cllllllll',
'dateformat' => 'llllllll',
'slug' => 'llllllll',
'read_more' => 'llllllll',
'view_all' => 'llllllll',
'categories' => 'llllllll',
'need_more_support' => 'llllllll',
'if_you_did_not_find_an_answer_please_raise_a_ticket_describing_the_issue' => 'llllllll',
'have_a_question?_type_your_search_term_here' => 'llllllll',
'search' => 'llllllll',
'frequently_asked_questions' => 'llllllll',
'leave_a_reply' => 'llllllll',
'post_message' => 'llllllll',
/*
|--------------------------------------------------------------------------------------
| Client Panel [English(en)]
|--------------------------------------------------------------------------------------
| The following language lines are used in all Agent Panel related issues to translate
| some words in view to English. You are free to change them to anything you want to
| customize your views to better match your application.
|
*/
'home' => 'llllllll',
'submit_a_ticket' => 'llllllll',
'my_profile' => 'llllllll',
'log_out' => 'llllllll',
'forgot_password' => 'llllllll',
'create_account' => 'llllllll',
'you_are_here' => 'llllllll',
'have_a_ticket' => 'llllllll',
'check_ticket_status' => 'llllllll',
'choose_a_help_topic' => 'llllllll',
'ticket_status' => 'llllllll',
);

View File

@@ -1,19 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Pagination Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the paginator library to build
| the simple pagination links. You are free to change them to anything
| you want to customize your views to better match your application.
|
*/
'previous' => '&laquo; Previous',
'next' => 'Next &raquo;',
];

View File

@@ -1,22 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Password Reminder Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are the default lines which match reasons
| that are given by the password broker for a password update attempt
| has failed, such as for an invalid token or invalid new password.
|
*/
"password" => "Passwords must be at least six characters and match the confirmation.",
"user" => "We can't find a user with that e-mail address.",
"token" => "This password reset token is invalid.",
"sent" => "We have e-mailed your password reset link!",
"reset" => "Your password has been reset!",
];

View File

@@ -1,107 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
"accepted" => "The :attribute must be accepted.",
"active_url" => "The :attribute is not a valid URL.",
"after" => "The :attribute must be a date after :date.",
"alpha" => "The :attribute may only contain letters.",
"alpha_dash" => "The :attribute may only contain letters, numbers, and dashes.",
"alpha_num" => "The :attribute may only contain letters and numbers.",
"array" => "The :attribute must be an array.",
"before" => "The :attribute must be a date before :date.",
"between" => [
"numeric" => "The :attribute must be between :min and :max.",
"file" => "The :attribute must be between :min and :max kilobytes.",
"string" => "The :attribute must be between :min and :max characters.",
"array" => "The :attribute must have between :min and :max items.",
],
"boolean" => "The :attribute field must be true or false.",
"confirmed" => "The :attribute confirmation does not match.",
"date" => "The :attribute is not a valid date.",
"date_format" => "The :attribute does not match the format :format.",
"different" => "The :attribute and :other must be different.",
"digits" => "The :attribute must be :digits digits.",
"digits_between" => "The :attribute must be between :min and :max digits.",
"email" => "The :attribute must be a valid email address.",
"filled" => "The :attribute field is required.",
"exists" => "The selected :attribute is invalid.",
"image" => "The :attribute must be an image.",
"in" => "The selected :attribute is invalid.",
"integer" => "The :attribute must be an integer.",
"ip" => "The :attribute must be a valid IP address.",
"max" => [
"numeric" => "The :attribute may not be greater than :max.",
"file" => "The :attribute may not be greater than :max kilobytes.",
"string" => "The :attribute may not be greater than :max characters.",
"array" => "The :attribute may not have more than :max items.",
],
"mimes" => "The :attribute must be a file of type: :values.",
"min" => [
"numeric" => "The :attribute must be at least :min.",
"file" => "The :attribute must be at least :min kilobytes.",
"string" => "The :attribute must be at least :min characters.",
"array" => "The :attribute must have at least :min items.",
],
"not_in" => "The selected :attribute is invalid.",
"numeric" => "The :attribute must be a number.",
"regex" => "The :attribute format is invalid.",
"required" => "The :attribute field is required.",
"required_if" => "The :attribute field is required when :other is :value.",
"required_with" => "The :attribute field is required when :values is present.",
"required_with_all" => "The :attribute field is required when :values is present.",
"required_without" => "The :attribute field is required when :values is not present.",
"required_without_all" => "The :attribute field is required when none of :values are present.",
"same" => "The :attribute and :other must match.",
"size" => [
"numeric" => "The :attribute must be :size.",
"file" => "The :attribute must be :size kilobytes.",
"string" => "The :attribute must be :size characters.",
"array" => "The :attribute must contain :size items.",
],
"unique" => "The :attribute has already been taken.",
"url" => "The :attribute format is invalid.",
"timezone" => "The :attribute must be a valid zone.",
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [],
];

View File

@@ -15,6 +15,13 @@
<i class="fa fa-ban"> </i> <b> {!! Lang::get('lang.alert') !!}! </b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
</div>
@endif
@if(Session::has('error'))
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<li>{!! Session::get('error') !!}</li>
</div>
@endif
<!-- form open -->
{!! Form::open(['action'=>'Auth\AuthController@postLogin', 'method'=>'post']) !!}

View File

@@ -0,0 +1,102 @@
@extends('themes.default1.admin.layout.admin')
@section('Settings')
class="active"
@stop
@section('settings-bar')
active
@stop
@section('languages')
class="active"
@stop
@section('HeadInclude')
@stop
<!-- header -->
@section('PageHeader')
@stop
<!-- /header -->
<!-- breadcrumbs -->
@section('breadcrumbs')
<ol class="breadcrumb">
</ol>
@stop
<!-- /breadcrumbs -->
<!-- content -->
@section('content')
<!-- open a form -->
{!! Form::open(array('url'=>'language/add' , 'method' => 'post', 'files'=>true) )!!}
<div class="box box-primary">
<div class="content-header">
<h4>Add language package {!! Form::submit(Lang::get('lang.save'),['class'=>'form-group btn btn-primary pull-right'])!!}</h4>
</div>
<div class="box-body">
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
<i class="fa fa-check-circle"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<p>{{Session::get('success')}}</p>
</div>
@endif
<!-- failure message -->
@if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
@if(Session::has('link'))
<a href="{{url(Session::get('link'))}}"> Enable it</a>
@endif
</div>
@endif
<div class="row">
<!-- username -->
<div class="col-xs-4 form-group {{ $errors->has('language-name') ? 'has-error' : '' }}">
{!! Form::label('language-name',Lang::get('lang.language-name')) !!}
{!! Form::text('language-name',null,['placeholder'=>'English','class' => 'form-control']) !!}
{!! $errors->first('language-name', '<spam class="help-block" style="color:red">:message</spam>') !!}
</div>
<div class="col-xs-4 form-group {{ $errors->has('iso-code') ? 'has-error' : '' }}">
{!! Form::label('iso-code',Lang::get('lang.iso-code')) !!}
{!! Form::text('iso-code',null,['placeholder'=>'en','class' => 'form-control']) !!}
{!! $errors->first('iso-code', '<spam class="help-block" style="color:red">:message</spam>') !!}
</div>
</div>
<div class="row">
<div class="col-xs-4 form-group {{ $errors->has('File') ? 'has-error' : '' }}">
{!! Form::label('File',Lang::get('lang.file')) !!}
<div class="btn bg-olive btn-file" style="color:blue"> {!! Lang::get('lang.upload_file') !!}
{!! Form::file('File') !!}
</div>
{!! $errors->first('File', '<spam class="help-block" style="color:red">:message</spam>') !!}
</div>
</div>
@stop
@section('FooterInclude')
@stop
<!-- /content -->

View File

@@ -0,0 +1,61 @@
@extends('themes.default1.admin.layout.admin')
@section('Settings')
class="active"
@stop
@section('settings-bar')
active
@stop
@section('languages')
class="active"
@stop
@section('HeadInclude')
@stop
<!-- header -->
@section('PageHeader')
@stop
<!-- /header -->
<!-- breadcrumbs -->
@section('breadcrumbs')
<ol class="breadcrumb">
</ol>
@stop
<!-- /breadcrumbs -->
<!-- content -->
@section('content')
<div class="box box-primary">
<div class="box-header">
<h2 class="box-title">{{ Lang::get('lang.language') }}</h2><a href="{{route('add-language')}}" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> {{Lang::get('lang.add')}}</a>
<a href="{{route('download')}}" title="click here to download template file" class="btn btn-primary pull-right"><i class="fa fa-download"></i> {{Lang::get('lang.download')}}</a>
</div>
<div class="box-body">
<!-- check whether success or not -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
<i class="fa fa-check-circle"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}} <a href="{{url(Session::get('link'))}}"> Enable it</a>
</div>
@endif
<!-- failure message -->
@if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
</div>
@endif
{!! Datatable::table()
->addColumn(Lang::get('lang.language'),Lang::get('lang.iso-code'),Lang::get('lang.status'),Lang::get('lang.Action')) // these are the column headings to be shown
->setUrl(route('getAllLanguages')) // this is the route where data will be retrieved
->render() !!}
</div>
</div>
@stop

View File

@@ -0,0 +1,435 @@
@extends('themes.default1.admin.layout.admin')
@section('HeadInclude')
@stop
<!-- header -->
@section('PageHeader')
<div class="box-header">
<h3 class="box-title">{!! Lang::get('lang.admin_panel') !!}</h3>
</div>
@stop
<!-- /header -->
<!-- breadcrumbs -->
@section('breadcrumbs')
<ol class="breadcrumb">
</ol>
@stop
<!-- /breadcrumbs -->
<!-- content -->
@section('content')
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.staffs') !!}</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('agents') }}"><span class="fa-stack fa-2x">
<i class="fa fa-user fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.agents') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('departments') }}"><span class="fa-stack fa-2x">
<i class="fa fa-sitemap fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.departments') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('teams') }}"><span class="fa-stack fa-2x">
<i class="fa fa-users fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.teams') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('groups') }}"><span class="fa-stack fa-2x">
<i class="fa fa-group fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.groups') !!}</center>
</div>
</div>
<!--/.col-md-2-->
</div>
</div>
<!-- /.row -->
</div>
<!-- ./box-body -->
</div>
<!-- /.box -->
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.email') !!}</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('emails') }}"><span class="fa-stack fa-2x">
<i class="fa fa-at fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.incoming_emails') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('getsmtp') }}"><span class="fa-stack fa-2x">
<i class="fa fa-envelope-o fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.outgoing_emails') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('banlist') }}"><span class="fa-stack fa-2x">
<i class="fa fa-ban fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.ban_lists') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('getdiagno') }}"><span class="fa-stack fa-2x">
<i class="fa fa-plus fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.diagnostics') !!}</center>
</div>
</div>
<!--/.col-md-2-->
</div>
</div>
<!-- /.row -->
</div>
<!-- ./box-body -->
</div>
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.manage') !!}</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('helptopic')}}"><span class="fa-stack fa-2x">
<i class="fa fa-file-text-o fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.help_topics') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('sla')}}"><span class="fa-stack fa-2x">
<i class="fa fa-clock-o fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.sla_plans') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('forms')}}"><span class="fa-stack fa-2x">
<i class="fa fa-file-text fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.forms') !!}</center>
</div>
</div>
<!--/.col-md-2-->
</div>
</div>
<!-- /.row -->
</div>
<!-- ./box-body -->
</div>
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.settings') !!}</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('getcompany')}}"><span class="fa-stack fa-2x">
<i class="fa fa-building-o fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.company') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('getsystem')}}"><span class="fa-stack fa-2x">
<i class="fa fa-laptop fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.system') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('getemail')}}"><span class="fa-stack fa-2x">
<i class="fa fa-at fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.email') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('getticket')}}"><span class="fa-stack fa-2x">
<i class="fa fa-file-text-o fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.ticket') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('getresponder')}}"><span class="fa-stack fa-2x">
<i class="fa fa-reply-all fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.auto_response') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('getalert')}}"><span class="fa-stack fa-2x">
<i class="fa fa-bell-o fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.alert_notices') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{url('languages')}}"><span class="fa-stack fa-2x">
<i class="fa fa-language fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title">{!! Lang::get('lang.language') !!}</center>
</div>
</div>
<!--/.col-md-2-->
</div>
</div>
<!-- /.row -->
</div>
<!-- ./box-body -->
</div>
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.themes') !!}</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('create-footer') }}"><span class="fa-stack fa-2x">
<i class="fa fa-list-alt fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.footer') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('create-footer2') }}"><span class="fa-stack fa-2x">
<i class="fa fa-list-alt fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.footer2') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('create-footer3') }}"><span class="fa-stack fa-2x">
<i class="fa fa-list-alt fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.footer3') !!}</center>
</div>
</div>
<!--/.col-md-2-->
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('create-footer4') }}"><span class="fa-stack fa-2x">
<i class="fa fa-list-alt fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.footer4') !!}</center>
</div>
</div>
<!--/.col-md-2-->
</div>
</div>
<!-- /.row -->
</div>
<!-- ./box-body -->
</div>
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.plugin') !!}</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-12">
<!--/.col-md-2-->
<div class="col-md-2 col-sm-6">
<div class="settingiconblue">
<div class="settingdivblue">
<a href="{{ url('plugins') }}"><span class="fa-stack fa-2x">
<i class="fa fa-plug fa-stack-1x"></i>
</span></a>
</div>
<center class="box-title" >{!! Lang::get('lang.plugin') !!}</center>
</div>
</div>
<!--/.col-md-2-->
</div>
</div>
<!-- /.row -->
</div>
<!-- ./box-body -->
</div>
@stop

View File

@@ -28,10 +28,13 @@
<link href="{{asset("lb-faveo/plugins/filebrowser/plugin.js")}}" rel="stylesheet" type="text/css" />
<link href="{{asset("lb-faveo/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css")}}" rel="stylesheet" type="text/css" />
<link href="{{asset("lb-faveo/plugins/datatables/dataTables.bootstrap.css")}}" rel="stylesheet">
<script src="https://code.jquery.com/jquery-2.1.4.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
@yield('HeadInclude')
</head>
<body class="skin-yellow fixed">
@@ -49,18 +52,12 @@
</a>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="tabs tabs-horizontal nav navbar-nav">
{{-- <li><a data-target="#tabA" href="#">Home</a></li> --}}
<li @yield('Staffs')><a data-target="#tabB" href="#">{!! Lang::get('lang.staffs') !!}</a></li>
<li @yield('Emails')><a data-target="#tabC" href="#">{!! Lang::get('lang.emails') !!}</a></li>
<li @yield('Manage')><a data-target="#tabD" href="#">{!! Lang::get('lang.manage') !!}</a></li>
<li @yield('Settings')><a data-target="#tabE" href="#">{!! Lang::get('lang.settings') !!}</a></li>
<li @yield('Themes')><a data-target="#tabF" href="#">{!! Lang::get('lang.themes') !!}</a></li>
<li @yield('Plugin')><a data-target="#tabP" href="#">{!! Lang::get('lang.plugin') !!}</a></li>
<ul class="nav navbar-nav navbar-left">
<li @yield('settings')><a href="{!! url('admin') !!}">{!! Lang::get('lang.home') !!}</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="{{url('user')}}">{!! Lang::get('lang.agent_panel') !!}</a></li>
<li><a href="{{url('dashboard')}}">{!! Lang::get('lang.agent_panel') !!}</a></li>
<!-- User Account: style can be found in dropdown.less -->
<li class="dropdown user user-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
@@ -206,68 +203,6 @@ $i = count($tickets);
<!-- Right side column. Contains the navbar and content of the page -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<div class="tab-content" style="background-color: white;padding: 0 20px 0 20px">
<div class="collapse navbar-collapse" id="navbar-collapse">
<div class="tabs-content">
<div class="tabs-pane active" id="tabA">
<ul class="nav navbar-nav">
</ul>
</div>
<div class="tabs-pane @yield('staffs-bar')" id="tabB">
<ul class="nav navbar-nav">
<li id="bar" @yield('staffs')><a href="{{ url('agents') }}" >{!! Lang::get('lang.staffs') !!}</a></li></a></li>
<li id="bar" @yield('departments')><a href="{{ url('departments') }}" >{!! Lang::get('lang.department') !!}</a></li></a></li>
<li id="bar" @yield('teams')><a href="{{ url('teams') }}" >{!! Lang::get('lang.teams') !!}</a></li></a></li>
<li id="bar" @yield('groups')><a href="{{ url('groups') }}" >{!! Lang::get('lang.groups') !!}</a></li></a></li>
</ul>
</div>
<div class="tabs-pane @yield('emails-bar')" id="tabC">
<ul class="nav navbar-nav">
<li id="bar" @yield('emails')><a href="{{ url('emails') }}" >{!! Lang::get('lang.incoming_emails') !!}</a></li></a></li>
<li id="bar" @yield('smtp')><a href="{{ url('getsmtp') }}" >{!! Lang::get('lang.outgoing_emails') !!}</a></li>
<li id="bar" @yield('ban')><a href="{{ url('banlist') }}" >{!! Lang::get('lang.ban_lists') !!}</a></li>
{{-- <li id="bar" @yield('template')><a href="{{ url('template') }}" >Template</a></li> --}}
<li id="bar" @yield('diagno')><a href="{{ url('getdiagno') }}" >{!! Lang::get('lang.diagnostics') !!}</a></li>
</ul>
</div>
<div class="tabs-pane @yield('manage-bar')" id="tabD">
<ul class="nav navbar-nav">
<li id="bar" @yield('help')><a href="{{url('helptopic')}}">{!! Lang::get('lang.help_topics') !!}</a></li>
<li id="bar" @yield('sla')><a href="{{url('sla')}}">{!! Lang::get('lang.sla_plans') !!}</a></li>
<li id="bar" @yield('forms')><a href="{{url('forms')}}">{!! Lang::get('lang.forms') !!}</a></li>
</ul>
</div>
<div class="tabs-pane @yield('settings-bar')" id="tabE">
<ul class="nav navbar-nav">
<li id="bar" @yield('company')><a href="{{url('getcompany')}}">{!! Lang::get('lang.company') !!}</a></li>
<li id="bar" @yield('system')><a href="{{url('getsystem')}}">{!! Lang::get('lang.system') !!}</a></li>
<li id="bar" @yield('email')><a href="{{url('getemail')}}">{!! Lang::get('lang.email') !!}</a></li>
<li id="bar" @yield('tickets')><a href="{{url('getticket')}}">{!! Lang::get('lang.ticket') !!}</a></li>
{{-- <li id="bar" @yield('access')><a href="{{ // url('getaccess')}}">Access</a></li> --}}
<li id="bar" @yield('auto-response')><a href="{{url('getresponder')}}">{!! Lang::get('lang.auto_responce') !!}</a></li>
<li id="bar" @yield('alert')><a href="{{url('getalert')}}">{!! Lang::get('lang.alert_notices') !!}</a></li>
</ul>
</div>
<div class="tabs-pane @yield('theme-bar')" id="tabF">
<ul class="nav navbar-nav">
<li id="bar" @yield('footer')><a href="{{ url('create-footer') }}" >{!! Lang::get('lang.footer1') !!}</a></li></a></li>
<li id="bar" @yield('footer2')><a href="{{ url('create-footer2') }}" >{!! Lang::get('lang.footer2') !!}</a></li></a></li>
<li id="bar" @yield('footer3')><a href="{{ url('create-footer3') }}" >{!! Lang::get('lang.footer3') !!}</a></li></a></li>
<li id="bar" @yield('footer4')><a href="{{ url('create-footer4') }}" >{!! Lang::get('lang.footer4') !!}</a></li></a></li>
</ul>
</div>
<div class="tabs-pane @yield('plugin-bar')" id="tabP">
{{-- Event fire --}}
<ul class="nav navbar-nav"><?php \Event::fire(new App\Events\TopNavEvent()); ?>
<li id="bar" @yield('plugin')>
<a href="{{ url('plugins') }}" >{!! Lang::get('lang.plugin') !!}</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<section class="content-header">
@yield('PageHeader')
@yield('breadcrumbs')
@@ -310,6 +245,9 @@ $i = count($tickets);
<script src="{{asset("lb-faveo/plugins/datatables/jquery.dataTables.js")}}" type="text/javascript"></script>
<!-- Page Script -->
<script src="{{asset("lb-faveo/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js")}}" type="text/javascript"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="{{asset('lb-faveo/plugins/datatables/dataTables.bootstrap.js')}}"></script>
<script>
$(function () {
//Add text editor

View File

@@ -18,7 +18,7 @@ class="active"
<div class="box box-primary">
<div class="box-header">
<h2 class="box-title">{{Lang::get('lang.organization')}}</h2><a href="{{route('organizations.create')}}" class="btn btn-primary pull-right">{{Lang::get('lang.create_organization')}}</a></div>
<div class="box-body table-responsive">
<div class="box-body">
<!-- check whether success or not -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
@@ -37,11 +37,6 @@ class="active"
{{Session::get('fails')}}
</div>
@endif
<?php
$orgs = App\Model\helpdesk\Agent_panel\Organization::orderBy('id', 'ASC')->paginate(20);
?>
<table class="table table-hover" style="overflow:hidden;">
<div class="row">
{!! Datatable::table()
->addColumn(Lang::get('lang.name'),
Lang::get('lang.website'),
@@ -49,21 +44,8 @@ $orgs = App\Model\helpdesk\Agent_panel\Organization::orderBy('id', 'ASC')->pagin
Lang::get('lang.action')) // these are the column headings to be shown
->setUrl(route('org.list')) // this is the route where data will be retrieved
->render() !!}
</div>
</table>
</div>
</div>
@section('FooterInclude')
@stop
@stop
<!-- /content -->
@stop
@section('FooterInclude')
@stop
<!-- /content -->

View File

@@ -209,7 +209,6 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
</div>
</div>
{{-- Event fire --}}
<?php Event::fire(new App\Events\TimeLineFormEvent($TicketData)); ?>
<div class='row'>
<div class='col-xs-12'>
<div class="nav-tabs-custom">
@@ -277,6 +276,7 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
</div>
</div>
</div>
<?php Event::fire(new App\Events\TimeLineFormEvent($TicketData)); ?>
<div class="form-group">
<div class="row">
<div class="col-md-2">

View File

@@ -37,7 +37,7 @@ class="active"
<div class="box-header">
<h3 class="box-title">{{Lang::get('lang.user')}}</h3><a href="{{route('user.create')}}" class="btn btn-primary pull-right">{{Lang::get('lang.create_user')}}</a></div>
<div class="box-body table-responsive">
<div class="box-body">
<!-- check whether success or not -->
@if(Session::has('success'))
@@ -60,15 +60,7 @@ class="active"
<?php
$users = App\User::where('role','=','user')->orderBy('id', 'ASC')->paginate(20);
?>
<table class="table table-hover" style="overflow:hidden;">
</table>
<div class="pull-right">
<?php echo $users->setPath(url('/user'))->render();?>&nbsp;
</div>
<div class="col-xs-12">
<div class="row">
{!! Datatable::table()
{!! Datatable::table()
->addColumn(Lang::get('lang.name'),
Lang::get('lang.email'),
Lang::get('lang.phone'),
@@ -78,20 +70,8 @@ class="active"
->setUrl(route('user.list')) // this is the route where data will be retrieved
->render() !!}
</div>
</div>
</div>
</div>
</div>
@section('FooterInclude')
@stop
@stop
<!-- /content -->
@stop
@section('FooterInclude')
@stop
<!-- /content -->

View File

@@ -11,7 +11,7 @@
<div class="box-header">
<h2 class="box-title">{{Lang::get('lang.articles')}}</h2>
</div>
<div class="box-body table-responsive">
<div class="box-body">
<!-- check whether success or not -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
@@ -30,18 +30,12 @@
{{Session::get('fails')}}
</div>
@endif
<div class="col-xs-12">
<div class="row">
{!! Datatable::table()
->addColumn(Lang::get('lang.name'),
Lang::get('lang.create'),
Lang::get('lang.action')) // these are the column headings to be shown
->setUrl(route('api.article')) // this is the route where data will be retrieved
->render() !!}
</div>
</div>
</div>
</div>
@stop

View File

@@ -36,6 +36,7 @@
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<script src="https://code.jquery.com/jquery-2.1.4.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
@yield('HeadInclude')
</head>
@@ -66,7 +67,7 @@ if ($company != null) {
</ul>
<ul class="nav navbar-nav navbar-right">
@if(Auth::user()->role == 'admin')
<li><a href="{{url('agents')}}">{!! Lang::get('lang.admin_panel') !!}</a></li>
<li><a href="{{url('admin')}}">{!! Lang::get('lang.admin_panel') !!}</a></li>
@endif
<!-- User Account: style can be found in dropdown.less -->
<li class="dropdown user user-menu">
@@ -192,13 +193,13 @@ $underprocess = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->wher
$underprocess = count($underprocess);
$closed = App\Model\helpdesk\Ticket\Tickets::where('status','=','2')->where('dept_id','=',$dept->id)->get();
$closed = count($closed);
// $underprocess = 0;
// foreach ($inbox as $ticket4) {
// if ($ticket4->assigned_to == null) {
// } else {
// $underprocess++;
// }
// }
// $underprocess = 0;
// foreach ($inbox as $ticket4) {
// if ($ticket4->assigned_to == null) {
// } else {
// $underprocess++;
// }
// }
if (Auth::user()->role == 'admin') { ?>
<li class="treeview">
<a href="#">
@@ -306,7 +307,11 @@ $group = App\Model\helpdesk\Agent\Groups::where('name', '=', $agent_group)->wher
<script src="{{asset("lb-faveo/plugins/datatables/dataTables.bootstrap.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/plugins/datatables/jquery.dataTables.js")}}" type="text/javascript"></script>
<!-- Page Script -->
<script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="{{asset('lb-faveo/plugins/datatables/dataTables.bootstrap.js')}}"></script>
<script>
$(function() {
// Enable iCheck plugin for checkboxes
// iCheck for checkbox and radio inputs

View File

@@ -7,8 +7,7 @@
@section('kb')
class="active"
@stop
@section('sidebar')
@section('sidebar')
<li class="header">KNOWLEDGE BASE</li>
<li class="treeview @yield('category')">
<a href="#">
@@ -30,7 +29,6 @@
<li @yield('all-article')><a href="{{url('article')}}"><i class="fa fa-circle-o"></i> {{Lang::get('lang.allarticle')}}</a></li>
</ul>
</li>
<li class="treeview @yield('pages')">
<a href="#">
<i class="fa fa-file-text"></i> <span>{{Lang::get('lang.pages')}}</span>
@@ -59,10 +57,9 @@
</a>
</li>
<li @yield('settings')>
<a href="{{url('settings')}}">
<a href="{{url('kb/settings')}}">
<i class="fa fa-wrench"></i>
<span>{{Lang::get('lang.settings')}}</span>
</a>
</li>
@stop

View File

@@ -1,17 +0,0 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<div class="wc-setup-content">
<h1>Licence Agreement</h1>
<form method="post">
<p>PLEASE READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY BEFORE DOWNLOADING OR USING THE SOFTWARE. BY CLICKING ON THE "ACCEPT" BUTTON, OPENING THE PACKAGE, OR DOWNLOADING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, STOP THE INSTALLATION PROCESS AND EXIT.</p>
<table class="wc-setup-pages" cellspacing="0">
</table>
<p class="wc-setup-actions step">
<input type="checkbox" class="flat-red" id="accept" name="accept1"/> I accept the </label><a href="#" style="color:blue;" data-toggle="modal" data-target="#Edit"> Licence Agreement</a><label> <a href="step2.html" class="button-primary button button-large button-next">Continue</a>
</p>
</form>
</div>
@stop

View File

@@ -1,16 +0,0 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<div class="wc-setup-content">
<h1>Licence Agreement</h1>
<form method="post">
<p>PLEASE READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY BEFORE DOWNLOADING OR USING THE SOFTWARE. BY CLICKING ON THE "ACCEPT" BUTTON, OPENING THE PACKAGE, OR DOWNLOADING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, STOP THE INSTALLATION PROCESS AND EXIT.</p>
<hr class="wc-setup-pages" cellspacing="0">
<p class="wc-setup-actions step">
<input type="checkbox" class="flat-red" id="accept" name="accept1"/> I accept the </label><a href="#" data-toggle="modal" data-target="#Edit"> Licence Agreement</a><label> <a href="step2.html" class="button button-primary">Continue</a>
</p>
</form>
</div>
@stop

View File

@@ -1,80 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WooCommerce Setup Wizard</title>
<script type="text/javascript" src="js/jquery.js"></script>
<link rel="stylesheet" href="css/load-styles.css" type="text/css" media="all">
<link rel="stylesheet" id="open-sans-css" href="css/css.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce_admin_styles-css" href="css/admin.css" type="text/css" media="all">
<link rel="stylesheet" id="wc-setup-css" href="css/wc-setup.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce-activation-css" href="css/activation.css" type="text/css" media="all">
</head>
<body class="wc-setup wp-core-ui">
<h1 id="wc-logo"><a href="http://woothemes.com/woocommerce"><img src="images/App-Store.app" alt="Faveo"></a></h1>
<ol class="wc-setup-steps">
<li class="done">Page Setup</li>
<li class="done">Store Locale</li>
<li class="active">Shipping &amp; Tax</li>
<li class="">Payments</li>
<li class="">Ready!</li>
</ol>
<div class="wc-setup-content"> <h1>Shipping &amp; Tax Setup</h1>
<form method="post">
<p>If you will be charging sales tax, or shipping physical goods to
customers, you can configure the basic options below. This is optional
and can be changed later via <a href="http://jamboreebliss.com/wp/wp-admin/admin.php?page=wc-settings&amp;tab=tax" target="_blank">WooCommerce &gt; Settings &gt; Tax</a> and <a href="http://jamboreebliss.com/wp/wp-admin/admin.php?page=wc-settings&amp;tab=shipping" target="_blank">WooCommerce &gt; Settings &gt; Shipping</a>.</p>
<table class="form-table">
<tbody><tr class="section_title">
<td colspan="2">
<h2>Basic Shipping Setup</h2>
</td>
</tr>
<tr>
<th scope="row"><label for="woocommerce_calc_shipping">Will you be shipping products?</label></th>
<td>
<input id="woocommerce_calc_shipping" name="woocommerce_calc_shipping" class="input-checkbox" value="1" type="checkbox">
<label for="woocommerce_calc_shipping">Yes, I will be shipping physical goods to customers</label>
</td>
</tr>
<tr style="display: none;">
<th scope="row"><label for="shipping_cost_domestic"><strong>Domestic</strong> shipping costs:</label></th>
<td>
A total of <input id="shipping_cost_domestic" name="shipping_cost_domestic" size="5" type="text"> per order and/or <input id="shipping_cost_domestic_item" name="shipping_cost_domestic_item" size="5" type="text"> per item </td>
</tr>
<tr style="display: none;">
<th scope="row"><label for="shipping_cost_international"><strong>International</strong> shipping costs:</label></th>
<td>
A total of <input id="shipping_cost_international" name="shipping_cost_international" size="5" type="text"> per order and/or <input id="shipping_cost_international_item" name="shipping_cost_international_item" size="5" type="text"> per item </td>
</tr>
<tr class="section_title">
<td colspan="2">
<h2>Basic Tax Setup</h2>
</td>
</tr>
<tr>
<th scope="row"><label for="woocommerce_calc_taxes">Will you be charging sales tax?</label></th>
<td>
<input id="woocommerce_calc_taxes" name="woocommerce_calc_taxes" class="input-checkbox" value="1" type="checkbox">
<label for="woocommerce_calc_taxes">Yes, I will be charging sales tax</label>
</td>
</tr>
<tr style="display: none;">
<th scope="row"><label for="woocommerce_prices_include_tax">How will you enter product prices?</label></th>
<td>
<label><input id="woocommerce_prices_include_tax" name="woocommerce_prices_include_tax" class="input-radio" value="yes" type="radio"> I will enter prices inclusive of tax</label><br>
<label><input checked="checked" id="woocommerce_prices_include_tax" name="woocommerce_prices_include_tax" class="input-radio" value="no" type="radio"> I will enter prices exclusive of tax</label>
</td>
</tr>
</tbody></table>
<p>Once created, these pages can be managed from your admin dashboard on the <a href="http://jamboreebliss.com/wp/wp-admin/edit.php?post_type=page" target="_blank">Pages screen</a>. You can control which pages are shown on your website via <a href="http://jamboreebliss.com/wp/wp-admin/nav-menus.php" target="_blank">Appearance &gt; Menus</a>.</p>
<p class="wc-setup-actions step">
<a href="step4.html" class="button-primary button button-large button-next">Continue</a>
<a href="#" class="button button-large button-next">Skip this step</a>
</p>
</form>
</div>
</body></html>

View File

@@ -1,74 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WooCommerce Setup Wizard</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery-migrate.js"></script>
<link rel="stylesheet" href="css/load-styles.css" type="text/css" media="all">
<link rel="stylesheet" id="open-sans-css" href="css/css.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce_admin_styles-css" href="css/admin.css" type="text/css" media="all">
<link rel="stylesheet" id="wc-setup-css" href="css/wc-setup.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce-activation-css" href="css/activation.css" type="text/css" media="all">
</head>
<body class="wc-setup wp-core-ui">
<h1 id="wc-logo"><a href="http://woothemes.com/woocommerce"><img src="images/App-Store.app" alt="Faveo"></a></h1>
<ol class="wc-setup-steps">
<li class="done">Page Setup</li>
<li class="done">Store Locale</li>
<li class="done">Shipping &amp; Tax</li>
<li class="active">Payments</li>
<li class="">Ready!</li>
</ol>
<div class="wc-setup-content"> <h1>Payments</h1>
<form method="post">
<p>WooCommerce can accept both online and offline payments. <a href="http://jamboreebliss.com/wp/wp-admin/admin.php?page=wc-addons&amp;view=payment-gateways" target="_blank">Additional payment methods</a> can be installed later and managed from the <a href="http://jamboreebliss.com/wp/wp-admin/admin.php?page=wc-settings&amp;tab=checkout" target="_blank">checkout settings</a> screen.</p>
<table class="form-table">
<tbody><tr class="section_title">
<td colspan="2">
<h2>PayPal Standard</h2>
<p>To accept payments via PayPal on your store, simply enter your PayPal email address below.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="woocommerce_paypal_email">PayPal Email Address:</label></th>
<td>
<input id="woocommerce_paypal_email" name="woocommerce_paypal_email" class="input-text" type="email">
</td>
</tr>
<tr class="section_title">
<td colspan="2">
<h2>Offline Payments</h2>
<p>Offline gateways require manual processing, but can be useful in certain circumstances or for testing payments.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="woocommerce_enable_cheque">Cheque Payments</label></th>
<td>
<label><input id="woocommerce_enable_cheque" name="woocommerce_enable_cheque" class="input-checkbox" value="yes" type="checkbox"> Enable payment via Cheques</label>
</td>
</tr>
<tr>
<th scope="row"><label for="woocommerce_enable_cod">Cash on Delivery</label></th>
<td>
<label><input id="woocommerce_enable_cod" name="woocommerce_enable_cod" class="input-checkbox" value="yes" type="checkbox"> Enable cash on delivery</label>
</td>
</tr>
<tr>
<th scope="row"><label for="woocommerce_enable_bacs">Bank Transfer (BACS)</label></th>
<td>
<label><input id="woocommerce_enable_bacs" name="woocommerce_enable_bacs" class="input-checkbox" value="yes" type="checkbox"> Enable BACS payments</label>
</td>
</tr>
</tbody></table>
<p>Once created, these pages can be managed from your admin dashboard on the <a href="http://jamboreebliss.com/wp/wp-admin/edit.php?post_type=page" target="_blank">Pages screen</a>. You can control which pages are shown on your website via <a href="http://jamboreebliss.com/wp/wp-admin/nav-menus.php" target="_blank">Appearance &gt; Menus</a>.</p>
<p class="wc-setup-actions step">
<a href="step5.html" class="button-primary button button-large button-next">Continue</a>
<a href="#" class="button button-large button-next">Skip this step</a>
</p>
</form>
</div>
</body></html>

View File

@@ -1,57 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WooCommerce Setup Wizard</title><script type="text/javascript" src="step5_files/jquery.js"></script>
<link rel="stylesheet" href="css/load-styles.css" type="text/css" media="all">
<link rel="stylesheet" id="open-sans-css" href="css/css.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce_admin_styles-css" href="css/admin.css" type="text/css" media="all">
<link rel="stylesheet" id="wc-setup-css" href="css/wc-setup.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce-activation-css" href="css/activation.css" type="text/css" media="all">
</head>
<body class="wc-setup wp-core-ui">
<h1 id="wc-logo"><a href="http://woothemes.com/woocommerce"><img src="images/App-Store.app" alt="faveo"></a></h1>
<ol class="wc-setup-steps">
<li class="done">Page Setup</li>
<li class="done">Store Locale</li>
<li class="done">Shipping &amp; Tax</li>
<li class="done">Payments</li>
<li class="active">Ready!</li>
</ol>
<div class="wc-setup-content"> <img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQ-uhinU3OzXKj9zlFO7dFxHaChqyHPcWWg5nWgMqYt6N5b3knK" style="width: 86px; float: right;">
<h1>Your Store is Ready!</h1>
<div class="woocommerce-message woocommerce-tracker">
<p>Want to help make WooCommerce even more awesome? Allow WooThemes
to collect non-sensitive diagnostic data and usage information, and get
20% discount on your next WooThemes purchase. <a href="http://www.woothemes.com/woocommerce/usage-tracking/" target="_blank">Find out more</a>.</p>
<p class="submit">
<a class="button-primary button button-large" href="step6.html">Allow</a>
<a class="button-secondary button button-large skip" href="http://jamboreebliss.com/wp/wp-admin/index.php?page=wc-setup&amp;step=next_steps&amp;wc_tracker_optout=true&amp;wc_tracker_nonce=ec63005666">No thanks</a>
</p>
</div>
<div class="wc-setup-next-steps">
<div class="wc-setup-next-steps-first">
<h2>Next Steps</h2>
<ul>
<li class="setup-product"><a class="button button-primary button-large" href="http://jamboreebliss.com/wp/wp-admin/post-new.php?post_type=product&amp;tutorial=true">Create your first product!</a></li>
</ul>
</div>
<div class="wc-setup-next-steps-last">
<h2>Learn More</h2>
<ul>
<li class="video-walkthrough"><a href="http://docs.woothemes.com/document/woocommerce-101-video-series/?utm_source=WooCommerce&amp;utm_medium=Wizard&amp;utm_content=Videos&amp;utm_campaign=Onboarding">Watch the WC 101 video walkthroughs</a></li>
<li class="newsletter"><a href="http://www.woothemes.com/woocommerce-onboarding-email/?utm_source=WooCommerce&amp;utm_medium=Wizard&amp;utm_content=Newsletter&amp;utm_campaign=Onboarding">Get eCommerce advice in your inbox</a></li>
<li class="sidekick"><a href="http://www.woothemes.com/sidekick/">Follow Sidekick interactive walkthroughs</a></li>
<li class="learn-more"><a href="http://docs.woothemes.com/documentation/plugins/woocommerce/getting-started/?utm_source=WooCommerce&amp;utm_medium=Wizard&amp;utm_content=Docs&amp;utm_campaign=Onboarding">Read more about getting started</a></li>
</ul>
</div>
</div>
</div> <a class="wc-return-to-dashboard" href="http://jamboreebliss.com/wp/wp-admin/">Return to the WordPress Dashboard</a>
</body></html>

View File

@@ -1,49 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WooCommerce Setup Wizard</title>
<script type="text/javascript" src="js/jquery.js"></script>
<link rel="stylesheet" href="css/load-styles.css" type="text/css" media="all">
<link rel="stylesheet" id="open-sans-css" href="css/css.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce_admin_styles-css" href="css/admin.css" type="text/css" media="all">
<link rel="stylesheet" id="wc-setup-css" href="css/wc-setup.css" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce-activation-css" href="css/activation.css" type="text/css" media="all">
</head>
<body class="wc-setup wp-core-ui">
<h1 id="wc-logo"><a href="http://woothemes.com/woocommerce"><img src="images/App-Store.app" alt="faveo"></a></h1>
<ol class="wc-setup-steps">
<li class="done">Page Setup</li>
<li class="done">Store Locale</li>
<li class="done">Shipping &amp; Tax</li>
<li class="done">Payments</li>
<li class="active">Ready!</li>
</ol>
<div class="wc-setup-content"><img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQ-uhinU3OzXKj9zlFO7dFxHaChqyHPcWWg5nWgMqYt6N5b3knK" style="width: 86px; float: right;">
<h1>Your Store is Ready!</h1>
<div class="wc-setup-next-steps">
<div class="wc-setup-next-steps-first">
<h2>Next Steps</h2>
<ul>
<li class="setup-product"><a class="button button-primary button-large" href="http://jamboreebliss.com/wp/wp-admin/post-new.php?post_type=product&amp;tutorial=true">Create your first product!</a></li>
</ul>
</div>
<div class="wc-setup-next-steps-last">
<h2>Learn More</h2>
<ul>
<li class="video-walkthrough"><a href="http://docs.woothemes.com/document/woocommerce-101-video-series/?utm_source=WooCommerce&amp;utm_medium=Wizard&amp;utm_content=Videos&amp;utm_campaign=Onboarding">Watch the WC 101 video walkthroughs</a></li>
<li class="newsletter"><a href="http://www.woothemes.com/woocommerce-onboarding-email/?utm_source=WooCommerce&amp;utm_medium=Wizard&amp;utm_content=Newsletter&amp;utm_campaign=Onboarding">Get eCommerce advice in your inbox</a></li>
<li class="sidekick"><a href="http://www.woothemes.com/sidekick/">Follow Sidekick interactive walkthroughs</a></li>
<li class="learn-more"><a href="http://docs.woothemes.com/documentation/plugins/woocommerce/getting-started/?utm_source=WooCommerce&amp;utm_medium=Wizard&amp;utm_content=Docs&amp;utm_campaign=Onboarding">Read more about getting started</a></li>
</ul>
</div>
</div>
</div> <a class="wc-return-to-dashboard" href="http://jamboreebliss.com/wp/wp-admin/">Return to the WordPress Dashboard</a>
</body></html>

View File

@@ -1,47 +0,0 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Faveo HELPDESK | Setup Wizard</title>
<script type="text/javascript" src="{{asset("lb-faveo/js/jquery.js")}}"></script>
<link rel="stylesheet" href="{{asset("lb-faveo/installer/css/load-styles.css")}}" type="text/css" media="all">
<link rel="stylesheet" id="open-sans-css" href="{{asset("lb-faveo/installer/css/css.css")}}" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce_admin_styles-css" href="{{asset("lb-faveo/installer/css/admin.css")}}" type="text/css" media="all">
<link rel="stylesheet" id="wc-setup-css" href="{{asset("lb-faveo/installer/css/wc-setup.css")}}" type="text/css" media="all">
<link rel="stylesheet" id="woocommerce-activation-css" href="{{asset("lb-faveo/installer/css/activation.css")}}" type="text/css" media="
all">
<link href="{{asset("lb-faveo/dist/css/AdminLTE.css")}}" rel="stylesheet" type="text/css" />
<link href="{{asset("lb-faveo/dist/css/skins/_all-skins.min.css")}}" rel="stylesheet" type="text/css" />
</head>
<body class="wc-setup wp-core-ui">
<style type="text/css">
a {
color: #3c8dbc;
}
a:hover,
a:active,
a:focus {
outline: none;
text-decoration: none;
color: #72afd2;
}
</style>
<h1 id="wc-logo"><a href="http://www.faveohelpdesk.com">
<img src="{{asset("lb-faveo/installer/images/faveo_logo.png")}}" alt="Faveo HELPDESK" style="margin-top:-30px;margin-bottom:-12px"></a></h1>
<ol class="wc-setup-steps">
<li class="active">Licence Agreement</li>
<li class="">Store Locale</li>
<li class="">Shipping &amp; Tax</li>
<li class="">Payments</li>
<li class="">Ready!</li>
</ol>
@yield('content')
<center id="footer">&copy;<?php echo date('Y')?>. Powered by <a href="http://www.faveohelpdesk.com">Faveo </a></center>
</body>
</html>

View File

@@ -0,0 +1,119 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Licence Agreement</h1>
<div class="login-box-body">
<!-- form -->
<form action="{{URL::route('postlicence')}}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<!-- box -->
<!-- form-group -->
<div class="form-group" >
@if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<p>{!! Session::get('fails') !!}</p>
</div>
@endif
PLEASE READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY BEFORE DOWNLOADING OR USING THE SOFTWARE. BY CLICKING ON THE "ACCEPT" BUTTON, OPENING THE PACKAGE, OR DOWNLOADING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, STOP THE INSTALLATION PROCESS AND EXIT.</p>
<!-- form-group -->
<div class="form-group">
<label><input type="checkbox" class="flat-red" id="accept" name="accept1"/> I accept the </label><a href="#" style="color:blue;" data-toggle="modal" data-target="#Edit"> Licence Agreement</a> <br>
</div>
<button value="prev" disabled="" id="access1">Prev</button>
<input type="submit" disabled="" value="Next" id="access"/>
</div>
<br>
</form>
</div>
<div class="modal fade" id="Edit">
<div class="modal-dialog" style="width:60%;height:70%;">
<div class="modal-content">
<div class="box-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidd en="true">&times;</span></button><h3 class="box-title">Licence and Agreements</h3>
</div>
<div class="modal-body">
<pre>
<h4>Open Software License ("OSL") v. 3.0</h4>
This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
Licensed under the Open Software License version 3.0
1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
1. to reproduce the Original Work in copies, either alone or as part of a collective work;
2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License;
4. to perform the Original Work publicly; and
5. to display the Original Work publicly.
2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
</pre>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis">Close</button>
</div>
{!! Form::close() !!}
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</p>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="{{asset("lb-faveo/downloads/bootstrap.min.js")}}" type="text/javascript"></script>
<script type="text/javascript">
var checker = document.getElementById('accept');
var sendbtn = document.getElementById('access');
// when unchecked or checked, run the function
checker.onchange = function(){
if(this.checked){
sendbtn.disabled = false;
} else {
sendbtn.disabled = true;
}
}
$(function() {
$('input[type="checkbox"].flat-red, input[type="radio"].flat-red').iCheck({
checkboxClass: 'icheckbox_flat-red',
radioClass: 'iradio_flat-red'
});
});
</script>
@stop

View File

@@ -0,0 +1,225 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Prerequisites</h1>
<div class="login-box-body" >
<!-- form-box -->
<?php
define('PROBE_VERSION', '4.2');
define('PROBE_FOR', '<b>Faveo</b>HELPDESK '.Config::get('app.version').' and Newer');
define('STATUS_OK', 'ok');
define('STATUS_WARNING', 'warning');
define('STATUS_ERROR', 'error');
class TestResult {
var $message;
var $status;
function TestResult($message, $status = STATUS_OK) {
$this->message = $message;
$this->status = $status;
}
}
?>
<p>Test/Probe Prerequisites required to be installed</p>
<div id="wrapper">
<h1>Probe</h1>
<b>Probe Version:</b>
<?php echo PROBE_VERSION?>
<br>
<b>Testing For:</b>
<?php echo PROBE_FOR?>
<h2>1. Environment test</h2>
<ul>
<?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);
return false;
} else {
$results[] = new TestResult('Your PHP version is ' . PHP_VERSION, STATUS_OK);
return true;
} // if
} // validate_php
/**
* Convert filesize value from php.ini to bytes
*
* Convert PHP config value (2M, 8M, 200K...) to bytes. This function was taken from PHP documentation. $val is string
* value that need to be converted
*
* @param string $val
* @return integer
*/
function php_config_value_to_bytes($val) {
$val = trim($val);
$last = strtolower($val{strlen($val) - 1});
switch ($last) {
// The 'G' modifier is available since PHP 5.1.0
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
} // if
return (integer) $val;
} // php_config_value_to_bytes
/**
* Validate memory limit
*
* @param array $result
*/
function validate_memory_limit(&$results) {
$memory_limit = php_config_value_to_bytes(ini_get('memory_limit'));
$formatted_memory_limit = $memory_limit === -1 ? 'unlimited' : format_file_size($memory_limit);
if ($memory_limit === -1 || $memory_limit >= 67108864) {
$results[] = new TestResult('Your memory limit is: ' . $formatted_memory_limit, STATUS_OK);
return true;
} else {
$results[] = new TestResult('Your memory is too low to complete the installation. Minimal value is 64MB, and you have it set to ' . $formatted_memory_limit, STATUS_ERROR);
return false;
} // if
} // validate_memory_limit
/**
* Format filesize
*
* @param string $value
* @return string
*/
function format_file_size($value) {
$data = array(
'TB' => 1099511627776,
'GB' => 1073741824,
'MB' => 1048576,
'kb' => 1024,
);
// commented because of integer overflow on 32bit sistems
// http://php.net/manual/en/language.types.integer.php#language.types.integer.overflow
// $value = (integer) $value;
foreach ($data as $unit => $bytes) {
$in_unit = $value / $bytes;
if ($in_unit > 0.9) {
return trim(trim(number_format($in_unit, 2), '0'), '.') . $unit;
} // if
} // foreach
return $value . 'b';
} // format_file_size
function validate_zend_compatibility_mode(&$results) {
$ok = true;
if (version_compare(PHP_VERSION, '5.0') >= 0) {
if (ini_get('zend.ze1_compatibility_mode')) {
$results[] = new TestResult('zend.ze1_compatibility_mode is set to On. This can cause some strange problems. It is strongly suggested to turn this value to Off (in your php.ini file)', STATUS_WARNING);
$ok = false;
} else {
$results[] = new TestResult('zend.ze1_compatibility_mode is turned Off', STATUS_OK);
} // if
} // if
return $ok;
} // validate_zend_compatibility_mode
function validate_extensions(&$results) {
$ok = true;
$required_extensions = array('mysqli', 'mcrypt', 'openssl', 'pdo', 'pdo_sqlite', 'pdo_mysql', 'sqlite3');
foreach ($required_extensions as $required_extension) {
if (extension_loaded($required_extension)) {
$results[] = new TestResult("Required extension '$required_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$required_extension' is required in order to run Faveo Helpdesk ", STATUS_ERROR);
$ok = false;
} // if
} // foreach
// Check for eAccelerator
if (extension_loaded('eAccelerator') && ini_get('eaccelerator.enable')) {
$results[] = new TestResult("eAccelerator opcode cache enabled. <span class=\"details\">eAccelerator opcode cache causes Faveo Helpdesk to crash. <a href=\"https://eaccelerator.net/wiki/Settings\">Disable it</a> for folder where Faveo Helpdesk is installed, or use APC instead: <a href=\"http://www.php.net/apc\">http://www.php.net/apc</a>.</span>", STATUS_ERROR);
$ok = false;
} // if
// Check for XCache
if (extension_loaded('XCache') && ini_get('xcache.cacher')) {
$results[] = new TestResult("XCache opcode cache enabled. <span class=\"details\">XCache opcode cache causes Faveo Helpdesk to crash. <a href=\"http://xcache.lighttpd.net/wiki/XcacheIni\">Disable it</a> for folder where Faveo Helpdesk is installed, or use APC instead: <a href=\"http://www.php.net/apc\">http://www.php.net/apc</a>.</span>", STATUS_ERROR);
$ok = false;
} // if
$recommended_extensions = array(
// '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',
// 'iconv' => 'Iconv is used for character set conversion. Without it, system is a bit slower when converting different character set. Please refer to <a href="http://www.php.net/manual/en/iconv.installation.php">this</a> page for installation instructions',
// 'imap' => 'IMAP is used to connect to POP3 and IMAP servers. Without it, Incoming Mail module will not work. Please refer to <a href="http://www.php.net/manual/en/imap.installation.php">this</a> page for installation instructions',
// 'zlib' => 'ZLIB is used to read and write gzip (.gz) compressed files',
// SVN extension ommited, to avoid confusion
);
foreach ($recommended_extensions as $recommended_extension => $recommended_extension_desc) {
if (extension_loaded($recommended_extension)) {
$results[] = new TestResult("Recommended extension '$recommended_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$recommended_extension' was not found. <span class=\"details\">$recommended_extension_desc</span>", STATUS_WARNING);
} // if
} // foreach
return $ok;
} // validate_extensions
// ---------------------------------------------------
// Do the magic
// ---------------------------------------------------
$results = array();
$php_ok = validate_php($results);
$memory_ok = validate_memory_limit($results);
$extensions_ok = validate_extensions($results);
$compatibility_mode_ok = validate_zend_compatibility_mode($results);
foreach ($results as $result) {
print '<li class="' . $result->status . '"><span>' . $result->status . '</span> &mdash; ' . $result->message . '</li>';
} // foreach
if ($php_ok && $memory_ok && $extensions_ok && $compatibility_mode_ok) {
?>
</div> <form action="{{URL::route('postprerequisites')}}" method="post"><input type="hidden" name="_token" value="{{ csrf_token() }}"><br>
<a href="{{URL::route('licence')}}" style="text-color:black" id="access1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a> <input type="submit" id="access" value="Next">
</form>
<br>
<?php
} else {
?></div><br>
<a href="{{URL::route('licence')}}" style="text-color:black"><button value="prev" id="access1">Prev</button></a> <input type="submit" value="Next" id="access" disabled=""> <?php
}
?>
<style type="text/css">
a:link {color:#000;} /* unvisited link */
a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;}
</style>
<p><br>
<div id="legend">
<ul>
<li class="ok"><span>ok</span> &mdash; All OK</li>
<li class="warning"><span>warning</span> &mdash; Not a deal breaker, but it's recommended to have this installed for some features to work</li>
<li class="error"><span>error</span> &mdash; Faveo HELPDESK require this feature and can't work without it</li>
</ul>
</div>
</div>
</p>
@stop

View File

@@ -0,0 +1,166 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<style type="text/css">
select {
width:150px;
border:1px solid red;
-webkit-border-top-right-radius: 15px;
-webkit-border-bottom-right-radius: 15px;
-moz-border-radius-topright: 15px;
-moz-border-radius-bottomright: 15px;
border-top-right-radius: 15px;
border-bottom-right-radius: 15px;
padding:2px;
}
</style>
<h1>Localisation</h1>
<div class="login-box-body" >
<form action="{{URL::route('postlocalization')}}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<select class="form-control" name="language" >
<option value="English(India)">English(India)</option>
<option value="English(U.k)">English(U.K)</option>
</select>
<br>
<select class="form-control" name="timezone" >
<option value="US/Samoa">US/Samoa</option>
<option value="US/Hawaii">US/Hawaii</option>
<option value="US/Alaska">US/Alaska</option>
<option value="US/Pacific">US/Pacific</option>
<option value="America/Tijuana">America/Tijuana</option>
<option value="US/Arizona">US/Arizona</option>
<option value="US/Mountain">US/Mountain</option>
<option value="America/Chihuahua">America/Chihuahua</option>
<option value="America/Mazatlan">America/Mazatlan</option>
<option value="America/Mexico_City">America/Mexico_City</option>
<option value="America/Monterrey">America/Monterrey</option>
<option value="Canada/Saskatchewan">Canada/Saskatchewan</option>
<option value="US/Central">US/Central</option>
<option value="US/Eastern">US/Eastern</option>
<option value="US/East-Indiana">US/East-Indiana</option>
<option value="America/Bogota">America/Bogota</option>
<option value="America/Lima">America/Lima</option>
<option value="America/Caracas">America/Caracas</option>
<option value="Canada/Atlantic">Canada/Atlantic</option>
<option value="America/La_Paz">America/La_Paz</option>
<option value="America/Santiago">America/Santiago</option>
<option value="Canada/Newfoundland">Canada/Newfoundland</option>
<option value="America/Buenos_Aires">America/Buenos_Aires</option>
<option value="Greenland">Greenland</option>
<option value="Atlantic/Stanley">Atlantic/Stanley</option>
<option value="Atlantic/Azores">Atlantic/Azores</option>
<option value="Atlantic/Cape_Verde">Atlantic/Cape_Verde</option>
<option value="Africa/Casablanca">Africa/Casablanca</option>
<option value="Europe/Dublin">Europe/Dublin</option>
<option value="Europe/Lisbon">Europe/Lisbon</option>
<option value="Europe/London">Europe/London</option>
<option value="Africa/Monrovia">Africa/Monrovia</option>
<option value="Europe/Amsterdam">Europe/Amsterdam</option>
<option value="Europe/Belgrade">Europe/Belgrade</option>
<option value="Europe/Berlin">Europe/Berlin</option>
<option value="Europe/Bratislava">Europe/Bratislava</option>
<option value="Europe/Brussels">Europe/Brussels</option>
<option value="Europe/Budapest">Europe/Budapest</option>
<option value="Europe/Copenhagen">Europe/Copenhagen</option>
<option value="Europe/Ljubljana">Europe/Ljubljana</option>
<option value="Europe/Madrid">Europe/Madrid</option>
<option value="Europe/Paris">Europe/Paris</option>
<option value="Europe/Prague">Europe/Prague</option>
<option value="Europe/Rome">Europe/Rome</option>
<option value="Europe/Sarajevo">Europe/Sarajevo</option>
<option value="Europe/Skopje">Europe/Skopje</option>
<option value="Europe/Stockholm">Europe/Stockholm</option>
<option value="Europe/Vienna">Europe/Vienna</option>
<option value="Europe/Warsaw">Europe/Warsaw</option>
<option value="Europe/Zagreb">Europe/Zagreb</option>
<option value="Europe/Athens">Europe/Athens</option>
<option value="Europe/Bucharest">Europe/Bucharest</option>
<option value="Africa/Cairo">Africa/Cairo</option>
<option value="Africa/Harare">Africa/Harare</option>
<option value="Europe/Helsinki">Europe/Helsinki</option>
<option value="Europe/Istanbul">Europe/Istanbul</option>
<option value="Asia/Jerusalem">Asia/Jerusalem</option>
<option value="Europe/Kiev">Europe/Kiev</option>
<option value="Europe/Minsk">Europe/Minsk</option>
<option value="Europe/Riga">Europe/Riga</option>
<option value="Europe/Sofia">Europe/Sofia</option>
<option value="Europe/Tallinn">Europe/Tallinn</option>
<option value="Europe/Vilnius">Europe/Vilnius</option>
<option value="Asia/Baghdad">Asia/Baghdad</option>
<option value="Asia/Kuwait">Asia/Kuwait</option>
<option value="Africa/Nairobi">Africa/Nairobi</option>
<option value="Asia/Riyadh">Asia/Riyadh</option>
<option value="Asia/Tehran">Asia/Tehran</option>
<option value="Europe/Moscow">Europe/Moscow</option>
<option value="Asia/Baku">Asia/Baku</option>
<option value="Europe/Volgograd">Europe/Volgograd</option>
<option value="Asia/Muscat">Asia/Muscat</option>
<option value="Asia/Tbilisi">Asia/Tbilisi</option>
<option value="Asia/Yerevan">Asia/Yerevan</option>
<option value="Asia/Kabul">Asia/Kabul</option>
<option value="Asia/Karachi">Asia/Karachi</option>
<option value="Asia/Tashkent">Asia/Tashkent</option>
<option value="Asia/Kolkata">Asia/Kolkata</option>
<option value="Asia/Kathmandu">Asia/Kathmandu</option>
<option value="Asia/Yekaterinburg">Asia/Yekaterinburg</option>
<option value="Asia/Almaty">Asia/Almaty</option>
<option value="Asia/Dhaka">Asia/Dhaka</option>
<option value="Asia/Novosibirsk">Asia/Novosibirsk</option>
<option value="Asia/Bangkok">Asia/Bangkok</option>
<option value="Asia/Ho_Chi_Minh">Asia/Ho_Chi_Minh</option>
<option value="Asia/Jakarta">Asia/Jakarta</option>
<option value="Asia/Krasnoyarsk">Asia/Krasnoyarsk</option>
<option value="Asia/Chongqing">Asia/Chongqing</option>
<option value="Asia/Hong_Kong">Asia/Hong_Kong</option>
<option value="Asia/Kuala_Lumpur">Asia/Kuala_Lumpur</option>
<option value="Australia/Perth">Australia/Perth</option>
<option value="Asia/Singapore">Asia/Singapore</option>
<option value="Asia/Taipei">Asia/Taipei</option>
<option value="Asia/Ulaanbaatar">Asia/Ulaanbaatar</option>
<option value="Asia/Urumqi">Asia/Urumqi</option>
<option value="Asia/Irkutsk">Asia/Irkutsk</option>
<option value="Asia/Seoul">Asia/Seoul</option>
<option value="Asia/Tokyo">Asia/Tokyo</option>
<option value="Australia/Adelaide">Australia/Adelaide</option>
<option value="Australia/Darwin">Australia/Darwin</option>
<option value="Asia/Yakutsk">Asia/Yakutsk</option>
<option value="Australia/Brisbane">Australia/Brisbane</option>
<option value="Australia/Canberra">Australia/Canberra</option>
<option value="Pacific/Guam">Pacific/Guam</option>
<option value="Australia/Hobart">Australia/Hobart</option>
<option value="Australia/Melbourne">Australia/Melbourne</option>
<option value="Pacific/Port_Moresby">Pacific/Port_Moresby</option>
<option value="Australia/Sydney">Australia/Sydney</option>
<option value="Asia/Vladivostok">Asia/Vladivostok</option>
<option value="Asia/Magadan">Asia/Magadan</option>
<option value="Pacific/Auckland">Pacific/Auckland</option>
<option value="Pacific/Fiji">Pacific/Fiji</option>
</select>
<br>
<select class="form-control" name="date" >
<option value="d/m/Y">DD/MM/YYYY</option>
<option value="m/d/Y">MM/DD/YYYY</option>
<option value="Y/m/d">YYYY/MM/DD</option>
</select>
<br>
<select class="form-control" name="datetime" >
<option value="d/m/Y H:i">DD/MM/YYYY H:i</option>
<option value="m/d/Y H:i">MM/DD/YYYY H:i</option>
<option value="Y/m/d H:i">YYYY/MM/DD H:i</option>
</select>
<br>
<a href="{{URL::route('prerequisites')}}" style="text-color:black" id="access1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a>
<input type="submit" value="Next" id="access">
</form>
<br>
</div>
</p>
@stop

View File

@@ -0,0 +1,32 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Configuration</h1>
<div class="login-box-body">
<h3>Database Connection</h3>
{!! Form::open(['url'=> '/step4post']) !!}
<!-- <b>database</b><br> -->
<select class="form-control" name="default" id="default">
<option value="mysql">mysql</option>
<option value="pgsql">pgsql</option>
<option value="sqlsrv">sqlsrv</option>
</select><br>
<!-- <b>Host</b><br> -->
<input type="text" class="form-control" name="host" id="host" placeholder="Host" required><br>
<!-- <b>Port</b><br> -->
<input type="text" class="form-control" name="port" id="port" placeholder="Port"><br>
<!-- <b>Database Name</b><br> -->
<input type="text" class="form-control" name="databasename" id="databasename" placeholder="Databsae Name" required><br>
<!-- <b>User Name</b><br> -->
<input type="text" class="form-control" name="username" id="username" placeholder="Username" required><br>
<!-- <b>User Password</b><br> -->
<input type="text" class="form-control" name="password" id="password" placeholder="Password" ><br>
<!-- <input type="submit" value="prev" id="access1"> -->
<a href="{{URL::route('configuration')}}" style="text-color:black" id="access1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a>
<input type="submit" value="next" id="access">
</form>
<br>
</div>
</p>
@stop

View File

@@ -0,0 +1,205 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Database test</h1>
<div class="login-box-body">
<?php
/**
* FaveoHELPDESK Probe
*
* Copyright (c) 2014 Ladybird Web Solution.
*
*/
// -- Please provide valid database connection parameters ------------------------------
$default = Session::get('default');
$host = Session::get('host');
$username = Session::get('username');
$password = Session::get('password');
$databasename = Session::get('databasename');
$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
define('DB_PASS', $password); // User's password
define('DB_NAME', $databasename); // Name of the database you are connecting to
define('DB_PORT', $port); // Name of the database you are connecting to
define('PROBE_VERSION', '4.2');
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 TestResult($message, $status = STATUS_OK) {
$this->message = $message;
$this->status = $status;
}
} // TestResult
?>
<?php if (DB_HOST && DB_USER && DB_NAME) {
?>
<ul>
<?php
$mysqli_ok = true;
$results = array();
// error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
error_reporting(0);
if ($connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME)) {
$results[] = new TestResult('Connected to database as ' . DB_USER . '@' . DB_HOST, STATUS_OK);
if (mysqli_select_db($connection, DB_NAME)) {
$results[] = new TestResult('Database "' . DB_NAME . '" selected', STATUS_OK);
$mysqli_version = mysqli_get_server_info($connection);
if (version_compare($mysqli_version, '5') >= 0) {
$results[] = new TestResult('MySQL version is ' . $mysqli_version, STATUS_OK);
// $have_inno = check_have_inno($connection);
} else {
$results[] = new TestResult('Your MySQL version is ' . $mysqli_version . '. We recommend upgrading to at least MySQL5!', STATUS_ERROR);
$mysqli_ok = false;
} // if
} else {
$results[] = new TestResult('Failed to select database. <br> MySQL said: ' . mysqli_error(), STATUS_ERROR);
$mysqli_ok = false;
} // if
} else {
$results[] = new TestResult('Failed to connect to database. <br> MySQL said: ' . mysqli_error(), STATUS_ERROR);
$mysqli_ok = false;
} // if
// ---------------------------------------------------
// Validators
// ---------------------------------------------------
foreach ($results as $result) {
print '<li class="' . $result->status . '"><span>' . $result->status . '</span> &mdash; ' . $result->message . '</li>';
} // foreach
?>
</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 &mdash; Address of your MySQL server (usually localhost)</li>
<li>DB_USER &mdash; Username that is used to connect to the server</li>
<li>DB_PASS &mdash; User's password</li>
<li>DB_NAME &mdash; 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 } // if ?>
<?php if ($mysqli_ok !== null) {?>
<?php if ($mysqli_ok) {?>
<p id="verdict" class="all_ok">OK, this system can run <b>Faveo</b>HELPDESK</p>
<h3 id="conn">Database connection successfull</h3>
<span id="wait">Please wait this may take a minute......</span>
{{-- <a href="{{URL::route('configuration')}}" style="text-color:black"><button value="prev" id="access1">Prev</button></a> --}}
<a href="{{URL::route('account')}}" class="pull-right" id="next" style="text-color:black"><button value="next" id="access1">Next</button></a>
{{-- <form action="{{URL::route('postconnection')}}" method="post"> --}}
{!! Form::open( ['id'=>'form','method' => 'PATCH'] )!!}
{{-- <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 !!}"/>
<input type="submit" style="display:none;">
</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/dist/img/gifloader.gif")}}"><br/><br/><br/>
</div>
</div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
// submit a ticket
$(document).ready(function () {
$("#form").submit();
});
// Edit a ticket
$('#form').on('submit', function() {
$.ajax({
type: "POST",
url: "postconnection",
dataType: "html",
data: $(this).serialize(),
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');
}
}
})
return false;
});
</script>
<p><br><p>
<?php } else {?>
<p id="verdict" class="not_ok">This system does not meet <b>Faveo</b>HELPDESK system requirements</p>
<a href="{{URL::route('configuration')}}" style="color:black"><button value="prev" id="access2">Back</button></a><br>
<?php } // if ?>
<h2>Legend</h2>
<div id="legend">
<ul>
<li class="ok"><span>ok</span> &mdash; All OK</li>
<li class="warning"><span>warning</span> &mdash; Not a deal breaker, but it's recommended to have this installed for some features to work</li>
<li class="error"><span>error</span> &mdash; <b>Faveo</b>HELPDESK require this feature and can't work without it</li>
</ul>
</div>
<?php } // if ?>
<?php
if (function_exists('date_default_timezone_set')) {
date_default_timezone_set('GMT');
} // if
?>
</div></p>
@stop

View File

@@ -0,0 +1,198 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Create Admin Account</h1>
<div class="login-box-body" >
<?php
$language = Session::get('language');
$timezone = Session::get('timezone');
$date = Session::get('date');
$datetime = Session::get('datetime');
?>
{!! Form::open(['url'=>route('postaccount')]) !!}
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<!-- Personal Information -->
<h4>Personal Information</h4>
<b>First Name</b>
<input type="text" class="form-control" name="firstname" id="firstname">
@if($errors->has('firstname'))
<div class="text-red">{{$errors->first('firstname')}}</div>
@endif
<b>Last Name</b>
<input type="text" class="form-control" name="Lastname" id="Lastname">
@if($errors->has('Lastname'))
<div class="text-red">{{$errors->first('Lastname')}}</div>
@endif
<b>Email</b>
<input type="text" class="form-control" name="email" id="email">
@if($errors->has('email'))
<div class="text-red">{{$errors->first('email')}}</div>
@endif
<hr>
<h4>Login Information</h4>
<b>User Name</b>
<input type="text" class="form-control" name="username" id="username">
@if($errors->has('username'))
<div class="text-red">{{$errors->first('username')}}</div>
@endif
<b>Password</b>
<input type="password" class="form-control" name="password" id="password">
@if($errors->has('password'))
<div class="text-red">{{$errors->first('password')}}</div>
@endif
<b>Confirm Password</b>
<input type="password" class="form-control" name="confirmpassword" id="confirmpassword">
@if($errors->has('confirmpassword'))
<div class="text-red">{{$errors->first('confirmpassword')}}</div>
@endif
<hr>
<h4>Local Information</h4>
<b>Language</b>
<select class="form-control" name="language" >
<option value="English(India)">English(India)</option>
<option value="English(U.k)">English(U.K)</option>
</select>
<b>Timezone</b>
<select class="form-control" name="timezone" >
<option value="US/Samoa">US/Samoa</option>
<option value="US/Hawaii">US/Hawaii</option>
<option value="US/Alaska">US/Alaska</option>
<option value="US/Pacific">US/Pacific</option>
<option value="America/Tijuana">America/Tijuana</option>
<option value="US/Arizona">US/Arizona</option>
<option value="US/Mountain">US/Mountain</option>
<option value="America/Chihuahua">America/Chihuahua</option>
<option value="America/Mazatlan">America/Mazatlan</option>
<option value="America/Mexico_City">America/Mexico_City</option>
<option value="America/Monterrey">America/Monterrey</option>
<option value="Canada/Saskatchewan">Canada/Saskatchewan</option>
<option value="US/Central">US/Central</option>
<option value="US/Eastern">US/Eastern</option>
<option value="US/East-Indiana">US/East-Indiana</option>
<option value="America/Bogota">America/Bogota</option>
<option value="America/Lima">America/Lima</option>
<option value="America/Caracas">America/Caracas</option>
<option value="Canada/Atlantic">Canada/Atlantic</option>
<option value="America/La_Paz">America/La_Paz</option>
<option value="America/Santiago">America/Santiago</option>
<option value="Canada/Newfoundland">Canada/Newfoundland</option>
<option value="America/Buenos_Aires">America/Buenos_Aires</option>
<option value="Greenland">Greenland</option>
<option value="Atlantic/Stanley">Atlantic/Stanley</option>
<option value="Atlantic/Azores">Atlantic/Azores</option>
<option value="Atlantic/Cape_Verde">Atlantic/Cape_Verde</option>
<option value="Africa/Casablanca">Africa/Casablanca</option>
<option value="Europe/Dublin">Europe/Dublin</option>
<option value="Europe/Lisbon">Europe/Lisbon</option>
<option value="Europe/London">Europe/London</option>
<option value="Africa/Monrovia">Africa/Monrovia</option>
<option value="Europe/Amsterdam">Europe/Amsterdam</option>
<option value="Europe/Belgrade">Europe/Belgrade</option>
<option value="Europe/Berlin">Europe/Berlin</option>
<option value="Europe/Bratislava">Europe/Bratislava</option>
<option value="Europe/Brussels">Europe/Brussels</option>
<option value="Europe/Budapest">Europe/Budapest</option>
<option value="Europe/Copenhagen">Europe/Copenhagen</option>
<option value="Europe/Ljubljana">Europe/Ljubljana</option>
<option value="Europe/Madrid">Europe/Madrid</option>
<option value="Europe/Paris">Europe/Paris</option>
<option value="Europe/Prague">Europe/Prague</option>
<option value="Europe/Rome">Europe/Rome</option>
<option value="Europe/Sarajevo">Europe/Sarajevo</option>
<option value="Europe/Skopje">Europe/Skopje</option>
<option value="Europe/Stockholm">Europe/Stockholm</option>
<option value="Europe/Vienna">Europe/Vienna</option>
<option value="Europe/Warsaw">Europe/Warsaw</option>
<option value="Europe/Zagreb">Europe/Zagreb</option>
<option value="Europe/Athens">Europe/Athens</option>
<option value="Europe/Bucharest">Europe/Bucharest</option>
<option value="Africa/Cairo">Africa/Cairo</option>
<option value="Africa/Harare">Africa/Harare</option>
<option value="Europe/Helsinki">Europe/Helsinki</option>
<option value="Europe/Istanbul">Europe/Istanbul</option>
<option value="Asia/Jerusalem">Asia/Jerusalem</option>
<option value="Europe/Kiev">Europe/Kiev</option>
<option value="Europe/Minsk">Europe/Minsk</option>
<option value="Europe/Riga">Europe/Riga</option>
<option value="Europe/Sofia">Europe/Sofia</option>
<option value="Europe/Tallinn">Europe/Tallinn</option>
<option value="Europe/Vilnius">Europe/Vilnius</option>
<option value="Asia/Baghdad">Asia/Baghdad</option>
<option value="Asia/Kuwait">Asia/Kuwait</option>
<option value="Africa/Nairobi">Africa/Nairobi</option>
<option value="Asia/Riyadh">Asia/Riyadh</option>
<option value="Asia/Tehran">Asia/Tehran</option>
<option value="Europe/Moscow">Europe/Moscow</option>
<option value="Asia/Baku">Asia/Baku</option>
<option value="Europe/Volgograd">Europe/Volgograd</option>
<option value="Asia/Muscat">Asia/Muscat</option>
<option value="Asia/Tbilisi">Asia/Tbilisi</option>
<option value="Asia/Yerevan">Asia/Yerevan</option>
<option value="Asia/Kabul">Asia/Kabul</option>
<option value="Asia/Karachi">Asia/Karachi</option>
<option value="Asia/Tashkent">Asia/Tashkent</option>
<option value="Asia/Kolkata">Asia/Kolkata</option>
<option value="Asia/Kathmandu">Asia/Kathmandu</option>
<option value="Asia/Yekaterinburg">Asia/Yekaterinburg</option>
<option value="Asia/Almaty">Asia/Almaty</option>
<option value="Asia/Dhaka">Asia/Dhaka</option>
<option value="Asia/Novosibirsk">Asia/Novosibirsk</option>
<option value="Asia/Bangkok">Asia/Bangkok</option>
<option value="Asia/Ho_Chi_Minh">Asia/Ho_Chi_Minh</option>
<option value="Asia/Jakarta">Asia/Jakarta</option>
<option value="Asia/Krasnoyarsk">Asia/Krasnoyarsk</option>
<option value="Asia/Chongqing">Asia/Chongqing</option>
<option value="Asia/Hong_Kong">Asia/Hong_Kong</option>
<option value="Asia/Kuala_Lumpur">Asia/Kuala_Lumpur</option>
<option value="Australia/Perth">Australia/Perth</option>
<option value="Asia/Singapore">Asia/Singapore</option>
<option value="Asia/Taipei">Asia/Taipei</option>
<option value="Asia/Ulaanbaatar">Asia/Ulaanbaatar</option>
<option value="Asia/Urumqi">Asia/Urumqi</option>
<option value="Asia/Irkutsk">Asia/Irkutsk</option>
<option value="Asia/Seoul">Asia/Seoul</option>
<option value="Asia/Tokyo">Asia/Tokyo</option>
<option value="Australia/Adelaide">Australia/Adelaide</option>
<option value="Australia/Darwin">Australia/Darwin</option>
<option value="Asia/Yakutsk">Asia/Yakutsk</option>
<option value="Australia/Brisbane">Australia/Brisbane</option>
<option value="Australia/Canberra">Australia/Canberra</option>
<option value="Pacific/Guam">Pacific/Guam</option>
<option value="Australia/Hobart">Australia/Hobart</option>
<option value="Australia/Melbourne">Australia/Melbourne</option>
<option value="Pacific/Port_Moresby">Pacific/Port_Moresby</option>
<option value="Australia/Sydney">Australia/Sydney</option>
<option value="Asia/Vladivostok">Asia/Vladivostok</option>
<option value="Asia/Magadan">Asia/Magadan</option>
<option value="Pacific/Auckland">Pacific/Auckland</option>
<option value="Pacific/Fiji">Pacific/Fiji</option>
</select>
<b>Date</b>
<select class="form-control" name="date" >
<option value="d/m/Y">DD/MM/YYYY</option>
<option value="m/d/Y">MM/DD/YYYY</option>
<option value="Y/m/d">YYYY/MM/DD</option>
</select>
<b>Date Time</b>
<select class="form-control" name="datetime" >
<option value="d/m/Y H:i">DD/MM/YYYY H:i</option>
<option value="m/d/Y H:i">MM/DD/YYYY H:i</option>
<option value="Y/m/d H:i">YYYY/MM/DD H:i</option>
</select>
<br/>
{{-- <a href="{{URL::route('configuration')}}" id="access1" style="color:black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a> --}}
<input type="submit" value="Install" id="access">
{!! Form::token() !!}
{!! Form::close() !!}
<br><p>
</div></p>
@stop

View File

@@ -0,0 +1,26 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<style type="text/css">
h1
{
color:#008A00;
}
h3
{
color: 19D119;
}
</style>
<h1>You're All Set</h1>
<p>
<h3>Thank You</h3>
<p>
<br>
<a href="{{url('auth/login')}}" id="access1">&nbsp;&nbsp;&nbsp;&nbsp; Submit</a>
<br><br><br>
<p>
@stop

View File

@@ -0,0 +1,118 @@
<html>
<head>
<meta charset="UTF-8">
<title>Faveo HELPDESK | Insatller</title>
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<!-- bootstrap 3.0.2 -->
<link href="{{asset("lb-faveo/downloads/bootstrap.min.css")}}" rel="stylesheet" type="text/css" />
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/bootstrap.min.css'); }} --}}
<!-- font Awesome -->
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/font-awesome.min.css'); }} --}}
<!-- Ionicons -->
<link href="{{asset("lb-faveo/downloads/ionicons.min.css")}}" rel="stylesheet" type="text/css" />
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/admin/css/ionicons.min.css'); }} --}}
<!-- Theme style -->
<link href="{{asset("lb-faveo/dist/css/AdminLTE.min.css")}}" rel="stylesheet" type="text/css" />
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/admin/css/AdminLTE.css'); }} --}}
<!-- Bootstrap time Picker -->
{{-- <link href="{{asset("downloads/ionicons.min.css")}}" rel="stylesheet" type="text/css" /> --}}
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/daterangepicker/daterangepicker-bs3.css'); }} --}}
<!-- daterange picker -->
{{-- <link href="{{asset("downloads/ionicons.min.css")}}" rel="stylesheet" type="text/css" /> --}}
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/timepicker/bootstrap-timepicker.min.css'); }} --}}
<style type="text/css">
a:link {color:#000;} /* unvisited link */
a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;}
</style>
<style type="text/css">
#access2{
float: left;
/*position: fixed;*/
width: 100px;
background: #E60000;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
}
#access1{
float: left;
/*position: fixed;*/
width: 100px;
background: #27AE60;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
}
#access{
float: right;
/*position: fixed;*/
width: 100px;
background: #27AE60;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
color:black;
}
#access5{
float: right;
/*position: fixed;*/
width: 100px;
background: #27AE60;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
}
#inputfield{
/*padding: 10px;*/
border: 0 none;
border-radius: 3px;
}
</style>
<style type="text/css">
.ok span, .warning span, .error span {
font-weight: bolder;
}
ok span {
color: green;
}
.warning span {
color: orange;
}
.error span {
color: red;
}
</style>
</head>
<body style="background-color:#d2d6de;">
<div class="login-box">
@yield('content')
<p id="footer">&copy;<?php echo date('Y')?>. Powered by <a href="http://www.faveohelpdesk.com">Faveo </a></p>
</div>
</body>
</html>

View File

@@ -1,120 +1,72 @@
@extends('themes.default1.installer.layout.installer')
@section('licence')
active
@stop
@section('content')
<center><h1>Licence Agreement</h1></center>
<h1>Licence Agreement</h1>
<p>PLEASE READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY BEFORE DOWNLOADING OR USING THE SOFTWARE. BY CLICKING ON THE "ACCEPT" BUTTON, OPENING THE PACKAGE, OR DOWNLOADING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, STOP THE INSTALLATION PROCESS AND EXIT.</p>
<form action="{{URL::route('postlicence')}}" method="post">
<div>
<div class="login-box-body">
<!-- form -->
<form action="{{URL::route('postlicence')}}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<!-- box -->
<!-- form-group -->
<div class="form-group" >
@if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<p>{!! Session::get('fails') !!}</p>
</div>
@endif
PLEASE READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY BEFORE DOWNLOADING OR USING THE SOFTWARE. BY CLICKING ON THE "ACCEPT" BUTTON, OPENING THE PACKAGE, OR DOWNLOADING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, STOP THE INSTALLATION PROCESS AND EXIT.</p>
<!-- form-group -->
<div class="form-group">
<label><input type="checkbox" class="flat-red" id="accept" name="accept1"/> I accept the </label><a href="#" style="color:blue;" data-toggle="modal" data-target="#Edit"> Licence Agreement</a> <br>
</div>
<button value="prev" disabled="" id="access1">Prev</button>
<input type="submit" disabled="" value="Next" id="access"/>
</div>
<br>
</form>
</div>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close">X</a>
<div div class="modal-body">
<h2>Open Software License ("OSL") v. 3.0</h2>
<p>
This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
<br>Licensed under the Open Software License version 3.0
<br>1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
<br>1. to reproduce the Original Work in copies, either alone or as part of a collective work;
<br>2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
<br>3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License;
<br>4. to perform the Original Work publicly; and
<br>5. to display the Original Work publicly.
<br>2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
<br>3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
<br>4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
<br>5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
<br>6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
<br>7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
<br>8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
<br>9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
<br>10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
<br>11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
<br>12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
<br>13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
<br>14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
<br>15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
<br>16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
<br>
</div>
<a style="float: right;" href="#" title="Close" class="button-primary button button-large button-next">close</a>
</p>
<div class="modal fade" id="Edit">
<div class="modal-dialog" style="width:60%;height:70%;">
<div class="modal-content">
<div class="box-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidd en="true">&times;</span></button><h3 class="box-title">Licence and Agreements</h3>
</div>
</div>
<div class="modal-body">
<pre>
<h4>Open Software License ("OSL") v. 3.0</h4>
This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
<input id="Acceptme" class="input-checkbox" type="checkbox">
<label for="Acceptme">I accept the <a href="#openModal">Licence Agreement</a></label>
</div>
<br>
<p class="wc-setup-actions step">
<a href="{!! route('prerequisites') !!}"><input type="submit" id="submitme" class="button-primary button button-large button-next" value="Continue" name="accept1"></a>
<input type="submit" class="button button-large button-next" value="Cancel" style="float: left">
</p>
</form>
Licensed under the Open Software License version 3.0
<script>
var first = document.getElementById('submitme').disabled = true;
var checkme = document.getElementById('Acceptme');
var submiter = document.getElementById('submitme');
1. Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
checkme.onchange = function() {
submiter.disabled = !this.checked;
if (submiter.disabled) {
// alert("Click to enable the button");
};
};
</script>
1. to reproduce the Original Work in copies, either alone or as part of a collective work;
2. to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
3. to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License;
4. to perform the Original Work publicly; and
5. to display the Original Work publicly.
2. Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
3. Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
4. Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
5. External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
6. Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
7. Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
8. Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
9. Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including 'fair use' or 'fair dealing'). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
10. Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
11. Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
12. Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
13. Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
14. Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
15. Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
16. Modification of This License. This License is Copyright (C) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under <insert your license name here>" or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
</pre>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis">Close</button>
</div>
{!! Form::close() !!}
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</p>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="{{asset("lb-faveo/downloads/bootstrap.min.js")}}" type="text/javascript"></script>
<script type="text/javascript">
var checker = document.getElementById('accept');
var sendbtn = document.getElementById('access');
// when unchecked or checked, run the function
checker.onchange = function(){
if(this.checked){
sendbtn.disabled = false;
} else {
sendbtn.disabled = true;
}
}
$(function() {
$('input[type="checkbox"].flat-red, input[type="radio"].flat-red').iCheck({
checkboxClass: 'icheckbox_flat-red',
radioClass: 'iradio_flat-red'
});
});
</script>
@stop

View File

@@ -1,9 +1,21 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Prerequisites</h1>
<div class="login-box-body" >
<!-- form-box -->
@section('licence')
done
@stop
@section('environment')
active
@stop
@section('content')
<center><h1>Environment Test</h1></center>
<?php
define('PROBE_VERSION', '4.2');
define('PROBE_FOR', '<b>Faveo</b>HELPDESK '.Config::get('app.version').' and Newer');
@@ -11,18 +23,16 @@ define('STATUS_OK', 'ok');
define('STATUS_WARNING', 'warning');
define('STATUS_ERROR', 'error');
class TestResult {
var $message;
var $status;
var $message;
var $status;
function TestResult($message, $status = STATUS_OK) {
$this->message = $message;
$this->status = $status;
}
function TestResult($message, $status = STATUS_OK) {
$this->message = $message;
$this->status = $status;
}
}
?>
<p>Test/Probe Prerequisites required to be installed</p>
<div id="wrapper">
<h1>Probe</h1>
@@ -31,18 +41,21 @@ class TestResult {
<br>
<b>Testing For:</b>
<?php echo PROBE_FOR?>
<h2>1. Environment test</h2>
<ul>
<?php
<br/>
<br/>
<h2>1. Environment test</h2>
Test/Probe Prerequisites required to be installed Probe
<ul>
<?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);
return false;
} else {
$results[] = new TestResult('Your PHP version is ' . PHP_VERSION, STATUS_OK);
return true;
} // if
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);
return false;
} else {
$results[] = new TestResult('Your PHP version is ' . PHP_VERSION, STATUS_OK);
return true;
} // if
} // validate_php
/**
@@ -55,19 +68,19 @@ function validate_php(&$results) {
* @return integer
*/
function php_config_value_to_bytes($val) {
$val = trim($val);
$last = strtolower($val{strlen($val) - 1});
switch ($last) {
// The 'G' modifier is available since PHP 5.1.0
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
} // if
$val = trim($val);
$last = strtolower($val{strlen($val) - 1});
switch ($last) {
// The 'G' modifier is available since PHP 5.1.0
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
} // if
return (integer) $val;
return (integer) $val;
} // php_config_value_to_bytes
/**
@@ -76,17 +89,17 @@ function php_config_value_to_bytes($val) {
* @param array $result
*/
function validate_memory_limit(&$results) {
$memory_limit = php_config_value_to_bytes(ini_get('memory_limit'));
$memory_limit = php_config_value_to_bytes(ini_get('memory_limit'));
$formatted_memory_limit = $memory_limit === -1 ? 'unlimited' : format_file_size($memory_limit);
$formatted_memory_limit = $memory_limit === -1 ? 'unlimited' : format_file_size($memory_limit);
if ($memory_limit === -1 || $memory_limit >= 67108864) {
$results[] = new TestResult('Your memory limit is: ' . $formatted_memory_limit, STATUS_OK);
return true;
} else {
$results[] = new TestResult('Your memory is too low to complete the installation. Minimal value is 64MB, and you have it set to ' . $formatted_memory_limit, STATUS_ERROR);
return false;
} // if
if ($memory_limit === -1 || $memory_limit >= 67108864) {
$results[] = new TestResult('Your memory limit is: ' . $formatted_memory_limit, STATUS_OK);
return true;
} else {
$results[] = new TestResult('Your memory is too low to complete the installation. Minimal value is 64MB, and you have it set to ' . $formatted_memory_limit, STATUS_ERROR);
return false;
} // if
} // validate_memory_limit
/**
@@ -96,87 +109,87 @@ function validate_memory_limit(&$results) {
* @return string
*/
function format_file_size($value) {
$data = array(
'TB' => 1099511627776,
'GB' => 1073741824,
'MB' => 1048576,
'kb' => 1024,
);
$data = array(
'TB' => 1099511627776,
'GB' => 1073741824,
'MB' => 1048576,
'kb' => 1024,
);
// commented because of integer overflow on 32bit sistems
// http://php.net/manual/en/language.types.integer.php#language.types.integer.overflow
// $value = (integer) $value;
foreach ($data as $unit => $bytes) {
$in_unit = $value / $bytes;
if ($in_unit > 0.9) {
return trim(trim(number_format($in_unit, 2), '0'), '.') . $unit;
} // if
} // foreach
// commented because of integer overflow on 32bit sistems
// http://php.net/manual/en/language.types.integer.php#language.types.integer.overflow
// $value = (integer) $value;
foreach ($data as $unit => $bytes) {
$in_unit = $value / $bytes;
if ($in_unit > 0.9) {
return trim(trim(number_format($in_unit, 2), '0'), '.') . $unit;
} // if
} // foreach
return $value . 'b';
return $value . 'b';
} // format_file_size
function validate_zend_compatibility_mode(&$results) {
$ok = true;
$ok = true;
if (version_compare(PHP_VERSION, '5.0') >= 0) {
if (ini_get('zend.ze1_compatibility_mode')) {
$results[] = new TestResult('zend.ze1_compatibility_mode is set to On. This can cause some strange problems. It is strongly suggested to turn this value to Off (in your php.ini file)', STATUS_WARNING);
$ok = false;
} else {
$results[] = new TestResult('zend.ze1_compatibility_mode is turned Off', STATUS_OK);
} // if
} // if
if (version_compare(PHP_VERSION, '5.0') >= 0) {
if (ini_get('zend.ze1_compatibility_mode')) {
$results[] = new TestResult('zend.ze1_compatibility_mode is set to On. This can cause some strange problems. It is strongly suggested to turn this value to Off (in your php.ini file)', STATUS_WARNING);
$ok = false;
} else {
$results[] = new TestResult('zend.ze1_compatibility_mode is turned Off', STATUS_OK);
} // if
} // if
return $ok;
return $ok;
} // validate_zend_compatibility_mode
function validate_extensions(&$results) {
$ok = true;
$ok = true;
$required_extensions = array('mysqli', 'mcrypt', 'openssl', 'pdo', 'pdo_sqlite', 'pdo_mysql', 'sqlite3');
$required_extensions = array('mcrypt', 'openssl', 'pdo');
foreach ($required_extensions as $required_extension) {
if (extension_loaded($required_extension)) {
$results[] = new TestResult("Required extension '$required_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$required_extension' is required in order to run Faveo Helpdesk ", STATUS_ERROR);
$ok = false;
} // if
} // foreach
foreach ($required_extensions as $required_extension) {
if (extension_loaded($required_extension)) {
$results[] = new TestResult("Required extension '$required_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$required_extension' is required in order to run Faveo Helpdesk ", STATUS_ERROR);
$ok = false;
} // if
} // foreach
// Check for eAccelerator
if (extension_loaded('eAccelerator') && ini_get('eaccelerator.enable')) {
$results[] = new TestResult("eAccelerator opcode cache enabled. <span class=\"details\">eAccelerator opcode cache causes Faveo Helpdesk to crash. <a href=\"https://eaccelerator.net/wiki/Settings\">Disable it</a> for folder where Faveo Helpdesk is installed, or use APC instead: <a href=\"http://www.php.net/apc\">http://www.php.net/apc</a>.</span>", STATUS_ERROR);
$ok = false;
} // if
// Check for eAccelerator
if (extension_loaded('eAccelerator') && ini_get('eaccelerator.enable')) {
$results[] = new TestResult("eAccelerator opcode cache enabled. <span class=\"details\">eAccelerator opcode cache causes Faveo Helpdesk to crash. <a href=\"https://eaccelerator.net/wiki/Settings\">Disable it</a> for folder where Faveo Helpdesk is installed, or use APC instead: <a href=\"http://www.php.net/apc\">http://www.php.net/apc</a>.</span>", STATUS_ERROR);
$ok = false;
} // if
// Check for XCache
if (extension_loaded('XCache') && ini_get('xcache.cacher')) {
$results[] = new TestResult("XCache opcode cache enabled. <span class=\"details\">XCache opcode cache causes Faveo Helpdesk to crash. <a href=\"http://xcache.lighttpd.net/wiki/XcacheIni\">Disable it</a> for folder where Faveo Helpdesk is installed, or use APC instead: <a href=\"http://www.php.net/apc\">http://www.php.net/apc</a>.</span>", STATUS_ERROR);
$ok = false;
} // if
// Check for XCache
if (extension_loaded('XCache') && ini_get('xcache.cacher')) {
$results[] = new TestResult("XCache opcode cache enabled. <span class=\"details\">XCache opcode cache causes Faveo Helpdesk to crash. <a href=\"http://xcache.lighttpd.net/wiki/XcacheIni\">Disable it</a> for folder where Faveo Helpdesk is installed, or use APC instead: <a href=\"http://www.php.net/apc\">http://www.php.net/apc</a>.</span>", STATUS_ERROR);
$ok = false;
} // if
$recommended_extensions = array(
$recommended_extensions = array(
// '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',
// 'iconv' => 'Iconv is used for character set conversion. Without it, system is a bit slower when converting different character set. Please refer to <a href="http://www.php.net/manual/en/iconv.installation.php">this</a> page for installation instructions',
// 'imap' => 'IMAP is used to connect to POP3 and IMAP servers. Without it, Incoming Mail module will not work. Please refer to <a href="http://www.php.net/manual/en/imap.installation.php">this</a> page for installation instructions',
// 'zlib' => 'ZLIB is used to read and write gzip (.gz) compressed files',
// SVN extension ommited, to avoid confusion
);
// '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',
// 'iconv' => 'Iconv is used for character set conversion. Without it, system is a bit slower when converting different character set. Please refer to <a href="http://www.php.net/manual/en/iconv.installation.php">this</a> page for installation instructions',
// 'imap' => 'IMAP is used to connect to POP3 and IMAP servers. Without it, Incoming Mail module will not work. Please refer to <a href="http://www.php.net/manual/en/imap.installation.php">this</a> page for installation instructions',
// 'zlib' => 'ZLIB is used to read and write gzip (.gz) compressed files',
// SVN extension ommited, to avoid confusion
);
foreach ($recommended_extensions as $recommended_extension => $recommended_extension_desc) {
if (extension_loaded($recommended_extension)) {
$results[] = new TestResult("Recommended extension '$recommended_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$recommended_extension' was not found. <span class=\"details\">$recommended_extension_desc</span>", STATUS_WARNING);
} // if
} // foreach
foreach ($recommended_extensions as $recommended_extension => $recommended_extension_desc) {
if (extension_loaded($recommended_extension)) {
$results[] = new TestResult("Recommended extension '$recommended_extension' found", STATUS_OK);
} else {
$results[] = new TestResult("Extension '$recommended_extension' was not found. <span class=\"details\">$recommended_extension_desc</span>", STATUS_WARNING);
} // if
} // foreach
return $ok;
return $ok;
} // validate_extensions
// ---------------------------------------------------
@@ -191,17 +204,21 @@ $extensions_ok = validate_extensions($results);
$compatibility_mode_ok = validate_zend_compatibility_mode($results);
foreach ($results as $result) {
print '<li class="' . $result->status . '"><span>' . $result->status . '</span> &mdash; ' . $result->message . '</li>';
print '<span class="' . $result->status . '">' . $result->status . '</span> &mdash; ' . $result->message . '<br/>';
} // foreach
if ($php_ok && $memory_ok && $extensions_ok && $compatibility_mode_ok) {
?>
</div> <form action="{{URL::route('postprerequisites')}}" method="post"><input type="hidden" name="_token" value="{{ csrf_token() }}"><br>
<a href="{{URL::route('licence')}}" style="text-color:black" id="access1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a> <input type="submit" id="access" value="Next">
</form>
<br>
<?php
?>
</div>
<form action="{{URL::route('postprerequisites')}}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<p class="wc-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>
</p>
</form>
<?php
} else {
?></div><br>
?></div><br>
<a href="{{URL::route('licence')}}" style="text-color:black"><button value="prev" id="access1">Prev</button></a> <input type="submit" value="Next" id="access" disabled=""> <?php
}
?>
@@ -211,15 +228,14 @@ a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;}
</style>
<p><br>
<div id="legend">
<ul>
<li class="ok"><span>ok</span> &mdash; All OK</li>
<li class="warning"><span>warning</span> &mdash; Not a deal breaker, but it's recommended to have this installed for some features to work</li>
<li class="error"><span>error</span> &mdash; Faveo HELPDESK require this feature and can't work without it</li>
</ul>
{{-- <ul> --}}
<p><span class="ok">ok</span> &mdash; All OK<br/>
<span class="warning">warning</span> &mdash; Not a deal breaker, but it's recommended to have this installed for some features to work<br/>
<span class="error">error</span> &mdash; Faveo HELPDESK require this feature and can't work without it</p>
{{-- </ul> --}}
</div>
</div>
</p>
@stop

View File

@@ -1,166 +1,88 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<style type="text/css">
select {
width:150px;
border:1px solid red;
-webkit-border-top-right-radius: 15px;
-webkit-border-bottom-right-radius: 15px;
-moz-border-radius-topright: 15px;
-moz-border-radius-bottomright: 15px;
border-top-right-radius: 15px;
border-bottom-right-radius: 15px;
padding:2px;
}
</style>
<h1>Localisation</h1>
<div class="login-box-body" >
<form action="{{URL::route('postlocalization')}}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<select class="form-control" name="language" >
<option value="English(India)">English(India)</option>
<option value="English(U.k)">English(U.K)</option>
</select>
<br>
<select class="form-control" name="timezone" >
<option value="US/Samoa">US/Samoa</option>
<option value="US/Hawaii">US/Hawaii</option>
<option value="US/Alaska">US/Alaska</option>
<option value="US/Pacific">US/Pacific</option>
<option value="America/Tijuana">America/Tijuana</option>
<option value="US/Arizona">US/Arizona</option>
<option value="US/Mountain">US/Mountain</option>
<option value="America/Chihuahua">America/Chihuahua</option>
<option value="America/Mazatlan">America/Mazatlan</option>
<option value="America/Mexico_City">America/Mexico_City</option>
<option value="America/Monterrey">America/Monterrey</option>
<option value="Canada/Saskatchewan">Canada/Saskatchewan</option>
<option value="US/Central">US/Central</option>
<option value="US/Eastern">US/Eastern</option>
<option value="US/East-Indiana">US/East-Indiana</option>
<option value="America/Bogota">America/Bogota</option>
<option value="America/Lima">America/Lima</option>
<option value="America/Caracas">America/Caracas</option>
<option value="Canada/Atlantic">Canada/Atlantic</option>
<option value="America/La_Paz">America/La_Paz</option>
<option value="America/Santiago">America/Santiago</option>
<option value="Canada/Newfoundland">Canada/Newfoundland</option>
<option value="America/Buenos_Aires">America/Buenos_Aires</option>
<option value="Greenland">Greenland</option>
<option value="Atlantic/Stanley">Atlantic/Stanley</option>
<option value="Atlantic/Azores">Atlantic/Azores</option>
<option value="Atlantic/Cape_Verde">Atlantic/Cape_Verde</option>
<option value="Africa/Casablanca">Africa/Casablanca</option>
<option value="Europe/Dublin">Europe/Dublin</option>
<option value="Europe/Lisbon">Europe/Lisbon</option>
<option value="Europe/London">Europe/London</option>
<option value="Africa/Monrovia">Africa/Monrovia</option>
<option value="Europe/Amsterdam">Europe/Amsterdam</option>
<option value="Europe/Belgrade">Europe/Belgrade</option>
<option value="Europe/Berlin">Europe/Berlin</option>
<option value="Europe/Bratislava">Europe/Bratislava</option>
<option value="Europe/Brussels">Europe/Brussels</option>
<option value="Europe/Budapest">Europe/Budapest</option>
<option value="Europe/Copenhagen">Europe/Copenhagen</option>
<option value="Europe/Ljubljana">Europe/Ljubljana</option>
<option value="Europe/Madrid">Europe/Madrid</option>
<option value="Europe/Paris">Europe/Paris</option>
<option value="Europe/Prague">Europe/Prague</option>
<option value="Europe/Rome">Europe/Rome</option>
<option value="Europe/Sarajevo">Europe/Sarajevo</option>
<option value="Europe/Skopje">Europe/Skopje</option>
<option value="Europe/Stockholm">Europe/Stockholm</option>
<option value="Europe/Vienna">Europe/Vienna</option>
<option value="Europe/Warsaw">Europe/Warsaw</option>
<option value="Europe/Zagreb">Europe/Zagreb</option>
<option value="Europe/Athens">Europe/Athens</option>
<option value="Europe/Bucharest">Europe/Bucharest</option>
<option value="Africa/Cairo">Africa/Cairo</option>
<option value="Africa/Harare">Africa/Harare</option>
<option value="Europe/Helsinki">Europe/Helsinki</option>
<option value="Europe/Istanbul">Europe/Istanbul</option>
<option value="Asia/Jerusalem">Asia/Jerusalem</option>
<option value="Europe/Kiev">Europe/Kiev</option>
<option value="Europe/Minsk">Europe/Minsk</option>
<option value="Europe/Riga">Europe/Riga</option>
<option value="Europe/Sofia">Europe/Sofia</option>
<option value="Europe/Tallinn">Europe/Tallinn</option>
<option value="Europe/Vilnius">Europe/Vilnius</option>
<option value="Asia/Baghdad">Asia/Baghdad</option>
<option value="Asia/Kuwait">Asia/Kuwait</option>
<option value="Africa/Nairobi">Africa/Nairobi</option>
<option value="Asia/Riyadh">Asia/Riyadh</option>
<option value="Asia/Tehran">Asia/Tehran</option>
<option value="Europe/Moscow">Europe/Moscow</option>
<option value="Asia/Baku">Asia/Baku</option>
<option value="Europe/Volgograd">Europe/Volgograd</option>
<option value="Asia/Muscat">Asia/Muscat</option>
<option value="Asia/Tbilisi">Asia/Tbilisi</option>
<option value="Asia/Yerevan">Asia/Yerevan</option>
<option value="Asia/Kabul">Asia/Kabul</option>
<option value="Asia/Karachi">Asia/Karachi</option>
<option value="Asia/Tashkent">Asia/Tashkent</option>
<option value="Asia/Kolkata">Asia/Kolkata</option>
<option value="Asia/Kathmandu">Asia/Kathmandu</option>
<option value="Asia/Yekaterinburg">Asia/Yekaterinburg</option>
<option value="Asia/Almaty">Asia/Almaty</option>
<option value="Asia/Dhaka">Asia/Dhaka</option>
<option value="Asia/Novosibirsk">Asia/Novosibirsk</option>
<option value="Asia/Bangkok">Asia/Bangkok</option>
<option value="Asia/Ho_Chi_Minh">Asia/Ho_Chi_Minh</option>
<option value="Asia/Jakarta">Asia/Jakarta</option>
<option value="Asia/Krasnoyarsk">Asia/Krasnoyarsk</option>
<option value="Asia/Chongqing">Asia/Chongqing</option>
<option value="Asia/Hong_Kong">Asia/Hong_Kong</option>
<option value="Asia/Kuala_Lumpur">Asia/Kuala_Lumpur</option>
<option value="Australia/Perth">Australia/Perth</option>
<option value="Asia/Singapore">Asia/Singapore</option>
<option value="Asia/Taipei">Asia/Taipei</option>
<option value="Asia/Ulaanbaatar">Asia/Ulaanbaatar</option>
<option value="Asia/Urumqi">Asia/Urumqi</option>
<option value="Asia/Irkutsk">Asia/Irkutsk</option>
<option value="Asia/Seoul">Asia/Seoul</option>
<option value="Asia/Tokyo">Asia/Tokyo</option>
<option value="Australia/Adelaide">Australia/Adelaide</option>
<option value="Australia/Darwin">Australia/Darwin</option>
<option value="Asia/Yakutsk">Asia/Yakutsk</option>
<option value="Australia/Brisbane">Australia/Brisbane</option>
<option value="Australia/Canberra">Australia/Canberra</option>
<option value="Pacific/Guam">Pacific/Guam</option>
<option value="Australia/Hobart">Australia/Hobart</option>
<option value="Australia/Melbourne">Australia/Melbourne</option>
<option value="Pacific/Port_Moresby">Pacific/Port_Moresby</option>
<option value="Australia/Sydney">Australia/Sydney</option>
<option value="Asia/Vladivostok">Asia/Vladivostok</option>
<option value="Asia/Magadan">Asia/Magadan</option>
<option value="Pacific/Auckland">Pacific/Auckland</option>
<option value="Pacific/Fiji">Pacific/Fiji</option>
</select>
<br>
<select class="form-control" name="date" >
<option value="d/m/Y">DD/MM/YYYY</option>
<option value="m/d/Y">MM/DD/YYYY</option>
<option value="Y/m/d">YYYY/MM/DD</option>
</select>
<br>
<select class="form-control" name="datetime" >
<option value="d/m/Y H:i">DD/MM/YYYY H:i</option>
<option value="m/d/Y H:i">MM/DD/YYYY H:i</option>
<option value="Y/m/d H:i">YYYY/MM/DD H:i</option>
</select>
<br>
<a href="{{URL::route('prerequisites')}}" style="text-color:black" id="access1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a>
<input type="submit" value="Next" id="access">
</form>
<br>
</div>
</p>
@section('licence')
done
@stop
@section('environment')
done
@stop
@section('database')
active
@stop
@section('content')
<h1>Page Setup</h1>
{!! Form::open(['url'=> '/step4post']) !!}
<table>
<tr>
<td>
<label for="selectbox1">Database</label>
</td>
<td>
<select class="form-control" name="default" id="default">
<option value="mysql">mysql</option>
<option value="pgsql">pgsql</option>
<option value="sqlsrv">sqlsrv</option>
</select>
</td>
</tr>
<tr>
<td>
<label for="box1">HOST</label>
</td>
<td>
<input type="text" name="host" required>
</a>
</td>
</tr>
<tr>
<td>
<label for="box2">PORT</label>
</td>
<td>
<input type="text" name="port">
</a>
</td>
</tr>
<tr>
<td>
<label for="box3">DATABASE NAME</label>
</td>
<td>
<input type="text" name="databasename" required>
</a>
</td>
</tr>
<tr>
<td>
<label for="box4">USER NAME</label>
</td>
<td>
<input type="text" name="username" required>
</a>
</td>
</tr>
<tr>
<td>
<label for="box5">PASSWORD</label>
</td>
<td>
<input type="text" name="password">
</a>
</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">
<a href="step2.html" class="button button-large button-next" style="float: left">Previous</a>
</p>
</form>
</div>
@stop

View File

@@ -1,32 +1,215 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Configuration</h1>
<div class="login-box-body">
<h3>Database Connection</h3>
{!! Form::open(['url'=> '/step4post']) !!}
<!-- <b>database</b><br> -->
<select class="form-control" name="default" id="default">
<option value="mysql">mysql</option>
<option value="pgsql">pgsql</option>
<option value="sqlsrv">sqlsrv</option>
</select><br>
<!-- <b>Host</b><br> -->
<input type="text" class="form-control" name="host" id="host" placeholder="Host" required><br>
<!-- <b>Port</b><br> -->
<input type="text" class="form-control" name="port" id="port" placeholder="Port"><br>
<!-- <b>Database Name</b><br> -->
<input type="text" class="form-control" name="databasename" id="databasename" placeholder="Databsae Name" required><br>
<!-- <b>User Name</b><br> -->
<input type="text" class="form-control" name="username" id="username" placeholder="Username" required><br>
<!-- <b>User Password</b><br> -->
<input type="text" class="form-control" name="password" id="password" placeholder="Password" ><br>
<!-- <input type="submit" value="prev" id="access1"> -->
<a href="{{URL::route('configuration')}}" style="text-color:black" id="access1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a>
<input type="submit" value="next" id="access">
</form>
<br>
</div>
</p>
@section('licence')
done
@stop
@section('environment')
done
@stop
@section('database')
active
@stop
@section('content')
<?php
/**
* FaveoHELPDESK Probe
*
* Copyright (c) 2014 Ladybird Web Solution.
*
*/
// -- Please provide valid database connection parameters ------------------------------
$default = Session::get('default');
$host = Session::get('host');
$username = Session::get('username');
$password = Session::get('password');
$databasename = Session::get('databasename');
$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
define('DB_PASS', $password); // User's password
define('DB_NAME', $databasename); // Name of the database you are connecting to
define('DB_PORT', $port); // Name of the database you are connecting to
define('PROBE_VERSION', '4.2');
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 TestResult($message, $status = STATUS_OK) {
$this->message = $message;
$this->status = $status;
}
} // TestResult
if (DB_HOST && DB_USER && DB_NAME) {
?>
<ul>
<?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)) {
$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);
$mysqli_version = mysqli_get_server_info($connection);
if (version_compare($mysqli_version, '5') >= 0) {
$results[] = new TestResult('MySQL version is ' . $mysqli_version, STATUS_OK);
// $have_inno = check_have_inno($connection);
} else {
$results[] = new TestResult('Your MySQL version is ' . $mysqli_version . '. We recommend upgrading to at least MySQL5!', STATUS_ERROR);
$mysqli_ok = false;
} // if
} else {
$results[] = new TestResult('Failed to select database. <br> MySQL said: ' . mysqli_error(), STATUS_ERROR);
$mysqli_ok = false;
} // if
} else {
$results[] = new TestResult('Failed to connect to database. <br> MySQL said: ' . mysqli_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);
// } else {
// $results[] = new TestResult('Failed to connect to database. <br> PgSQL said: ' . mysqli_error(), STATUS_ERROR);
// $mysqli_ok = false;
// }
// } elseif($default == 'sqlsrv') {
// }
// ---------------------------------------------------
// Validators
// ---------------------------------------------------
// dd($results);
foreach ($results as $result) {
print '<span class="' . $result->status . '">' . $result->status . '</span> &mdash; ' . $result->message . '<br/>';
} // foreach
?>
</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 &mdash; Address of your MySQL server (usually localhost)</li>
<li>DB_USER &mdash; Username that is used to connect to the server</li>
<li>DB_PASS &mdash; User's password</li>
<li>DB_NAME &mdash; 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 } ?>
<?php if ($mysqli_ok !== null) {?>
<?php if ($mysqli_ok) {?>
<p id="verdict" class="all_ok">OK, this system can run <b>Faveo</b>HELPDESK</p>
<h3 id="conn">Database connection successfull</h3>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="wait">Please wait this may take a while......</span>
{!! Form::open( ['id'=>'form','method' => 'PATCH'] )!!}
{{-- <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 !!}"/>
<input type="submit" style="display:none;">
</form>
<p class="wc-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 id="show" style="display:none;">
<div class="row">
<div class="col-md-2">
</div>
<div class="col-md-9">
<img src="{{asset("lb-faveo/dist/img/gifloader.gif")}}"><br/><br/><br/>
</div>
</div>
</div>
<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",
data: $(this).serialize(),
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');
}
}
})
return false;
});
</script>
<?php } else {?>
<p id="verdict" class="not_ok">This system does not meet <b>Faveo</b>HELPDESK system requirements</p>
<a href="{{URL::route('configuration')}}"><button type="submit" id="submitme" class="button-danger button button-large button-next" style="background-color: #d43f3a;color:#fff;" value="Error">Back</button></a><br/><br/>
<?php } // if ?>
<h2>Legend</h2>
<div id="legend">
{{-- <ul> --}}
<span class="ok">ok</span> &mdash; All OK <br/>
<span class="warning">warning</span> &mdash; Not a deal breaker, but it's recommended to have this installed for some features to work<br/>
<span class="error">error</span> &mdash; <b>Faveo</b>HELPDESK require this feature and can't work without it<br/><br/>
{{-- </ul> --}}
</div>
<?php } // if ?>
@stop

View File

@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" id="gradient">
<head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Faveo HELPDESK</title>
<script type="text/javascript" src="js/jquery.js"></script>
<link rel="stylesheet" href="css/load-styles.css" type="text/css" media="all">
<link rel="stylesheet" href="css/css.css" type="text/css" media="all">
<link rel="stylesheet" href="css/admin.css" type="text/css" media="all">
<link rel="stylesheet" href="css/wc-setup.css" type="text/css" media="all">
<link rel="stylesheet" href="css/activation.css" type="text/css" media="all">
<link rel="stylesheet" href="css/style.css" type="text/css" media="all">
<body class="wc-setup wp-core-ui">
<h1 id="wc-logo"><a href="#"><img src="images/App-Store.png" alt="faveo"></a></h1>
<ol class="wc-setup-steps">
<li class="done">Licence Agreement</li>
<li class="done">Environment Test</li>
<li class="active">Database Setup</li>
<li class="">Locale Information</li>
<li class="">Ready</li>
</ol>
<div class="wc-setup-content">
<form>
<p class="wc-setup-actions step">
Test/Probe Prerequisites required to be installed Probe
<br><span class="ok">ok</span> Connected to database as root@localhost
<br><span class="ok">ok</span> Database "faveo" selected
<br><span class="ok">ok</span> MySQL version is 5.6.17
<br><span class="ok">ok</span>, this system can run FaveoHELPDESK
<h1>Database connection successfull</h1>
<br>
<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="Error">
<a href="step3.html" class="button button-large button-next" style="float: left;">Previous</a>
</p>
<h2>Legend</h2>
<br><span class="ok">ok</span> All OK
<br><span class="warning">Warning</span> Not a deal breaker, but it's recommended to have this installed for some features to work
<br><span class="error">Error</span>— Faveo HELPDESK require this feature and can't work without it
<br>
</p>
</form>
</div>
<span class="select2-hidden-accessible" aria-live="polite" role="status"></span>
</body>
</html>

View File

@@ -1,205 +1,328 @@
@extends('themes.default1.installer.layout.installer')
@section('licence')
done
@stop
@section('environment')
done
@stop
@section('database')
done
@stop
@section('locale')
active
@stop
@section('content')
<h1>Database test</h1>
<div class="login-box-body">
<?php
/**
* FaveoHELPDESK Probe
*
* Copyright (c) 2014 Ladybird Web Solution.
*
*/
// -- Please provide valid database connection parameters ------------------------------
$default = Session::get('default');
$host = Session::get('host');
$username = Session::get('username');
$password = Session::get('password');
$databasename = Session::get('databasename');
$port = Session::get('port');
<style type="text/css">
td input {
padding: 3px;
margin-left: 250px;
width: 280px;
}
td select {
width: 290px;
margin-left: 250px;
font-size: 17px;
}
define('DB_HOST', $host); // Address of your MySQL server (usually localhost)
define('DB_USER', $username); // Username that is used to connect to the server
define('DB_PASS', $password); // User's password
define('DB_NAME', $databasename); // Name of the database you are connecting to
define('DB_PORT', $port); // Name of the database you are connecting to
define('PROBE_VERSION', '4.2');
define('PROBE_FOR', '<b>Faveo</b>HELPDESK 1.0 and Newer');
#sectool {
min-width: 200px;
padding: 5px;
line-height: 20px;
min-height: 18px;
background-color: #3AA7D9;
float: right;
border-radius: 5px;
box-shadow: 5px 6px #88C8E5;
margin-right: -10px;
define('STATUS_OK', 'ok');
define('STATUS_WARNING', 'warning');
define('STATUS_ERROR', 'error');
class TestResult {
z-indexndex: 666;
}
#sectool p{
text-align: justify;
text-align-last: center;
font-size: 14px;
color: aliceblue;
width: 200px;
word-wrap: break-word;
font-style: italic;
font-weight: 600;
font-variant: normal;
var $message;
var $status;
}
function TestResult($message, $status = STATUS_OK) {
$this->message = $message;
$this->status = $status;
}
blockquote {
padding:10px 20px;
}
} // TestResult
blockquote {
border:1px solid #FF3048;
page-break-inside:avoid;
}
?>
blockquote{
padding:10px 20px;
margin:0 0 20px;
font-size:12.5px;
border-left: 5px solid #DD0019;
background-color: #FFE8EB;
border-radius: 2px;
}
<?php if (DB_HOST && DB_USER && DB_NAME) {
?>
<ul>
<?php
</style>
$mysqli_ok = true;
{!! Form::open(['url'=>route('postaccount')]) !!}
<input type="hidden" name="_token" value="{{ csrf_token() }}">
@if($errors->first('firstname')||$errors->first('Lastname')||$errors->first('email')||$errors->first('username')||$errors->first('password')||$errors->first('confirmpassword'))
<blockquote>
@if($errors->first('firstname'))
<li class="error-message-padding">{!! $errors->first('firstname', ':message') !!}</li>
@endif
@if($errors->first('Lastname'))
<li class="error-message-padding">{!! $errors->first('Lastname', ':message') !!}</li>
@endif
@if($errors->first('email'))
<li class="error-message-padding">{!! $errors->first('email', ':message') !!}</li>
@endif
@if($errors->first('username'))
<li class="error-message-padding">{!! $errors->first('username', ':message') !!}</li>
@endif
@if($errors->first('password'))
<li class="error-message-padding">{!! $errors->first('password', ':message') !!}</li>
@endif
@if($errors->first('confirmpassword'))
<li class="error-message-padding">{!! $errors->first('confirmpassword', ':message') !!}</li>
@endif
</blockquote>
@endif
<table>
<h1>Personal Information</h1>
<tr>
<td>
{{-- <label for="box1">Name</label> --}}
{!! Form::label('firstname',Lang::get('lang.first_name')) !!}
</td>
<td>
{{-- <input type="text" name="firstname" required> --}}
{!! Form::text('firstname',null,['class' => 'form-control']) !!}
</td>
</tr>
<tr>
<td>
{!! Form::label('Last Name',Lang::get('lang.last_name')) !!}
{{-- <label for="box2">Last Name</label> --}}
</td>
<td>
{{-- <input type="text" name="Lastname" > --}}
{!! Form::text('Lastname',null,['class' => 'form-control']) !!}
</td>
</tr>
<tr>
<td>
{!! Form::label('email',Lang::get('lang.email')) !!}
{{-- <label for="box3">Email</label> --}}
</td>
<td>
{{-- <input type="text" name="email" > --}}
{!! Form::text('email',null,['class' => 'form-control']) !!}
</td>
</tr>
</table>
$results = array();
// error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
<table>
<h1>Login Information</h1>
<tr>
<td>
{!! Form::label('user_name',Lang::get('lang.user_name')) !!}
{{-- <label>User Name</label> --}}
</td>
<td>
{{-- <input type="text" style="margin-left: 200px" name="email" > --}}
{!! Form::text('username',null,['class' => 'form-control', 'style' => 'margin-left: 200px']) !!}
</td>
</tr>
<tr>
<td>
{!! Form::label('Password',Lang::get('lang.password')) !!}
{{-- <label>Password</label> --}}
</td>
<td>
{{-- <input type="password" style="margin-left: 200px" name="username" > --}}
{!! Form::text('password','ssssss',['class' => 'form-control' , 'style' => 'margin-left: 200px']) !!}
</td>
</tr>
<tr>
<td>
{!! Form::label('confirmpassword',Lang::get('lang.confirm_password')) !!}
</td>
<td>
{!! Form::text('confirmpassword','ssssss',['class' => 'form-control' , 'style' => 'margin-left: 200px']) !!}
</td>
</tr>
</table>
error_reporting(0);
<table id="datepairExample">
<h1>Local Information</h1>
<tr>
<td>
{!! Form::label('language',Lang::get('lang.language')) !!}
</td>
<td>
<select style="margin-left: 170px" name="language">
<option value="English(India)">English(India)</option>
<option value="English(U.k)">English(U.K)</option>
</select>
</td>
</tr>
<tr>
<td>
{!! Form::label('time_zone',Lang::get('lang.time_zone')) !!}
</td>
<td>
<select name="timezone" style="margin-left: 170px">
<option value="US/Samoa">US/Samoa</option>
<option value="US/Hawaii">US/Hawaii</option>
<option value="US/Alaska">US/Alaska</option>
<option value="US/Pacific">US/Pacific</option>
<option value="America/Tijuana">America/Tijuana</option>
<option value="US/Arizona">US/Arizona</option>
<option value="US/Mountain">US/Mountain</option>
<option value="America/Chihuahua">America/Chihuahua</option>
<option value="America/Mazatlan">America/Mazatlan</option>
<option value="America/Mexico_City">America/Mexico_City</option>
<option value="America/Monterrey">America/Monterrey</option>
<option value="Canada/Saskatchewan">Canada/Saskatchewan</option>
<option value="US/Central">US/Central</option>
<option value="US/Eastern">US/Eastern</option>
<option value="US/East-Indiana">US/East-Indiana</option>
<option value="America/Bogota">America/Bogota</option>
<option value="America/Lima">America/Lima</option>
<option value="America/Caracas">America/Caracas</option>
<option value="Canada/Atlantic">Canada/Atlantic</option>
<option value="America/La_Paz">America/La_Paz</option>
<option value="America/Santiago">America/Santiago</option>
<option value="Canada/Newfoundland">Canada/Newfoundland</option>
<option value="America/Buenos_Aires">America/Buenos_Aires</option>
<option value="Greenland">Greenland</option>
<option value="Atlantic/Stanley">Atlantic/Stanley</option>
<option value="Atlantic/Azores">Atlantic/Azores</option>
<option value="Atlantic/Cape_Verde">Atlantic/Cape_Verde</option>
<option value="Africa/Casablanca">Africa/Casablanca</option>
<option value="Europe/Dublin">Europe/Dublin</option>
<option value="Europe/Lisbon">Europe/Lisbon</option>
<option value="Europe/London">Europe/London</option>
<option value="Africa/Monrovia">Africa/Monrovia</option>
<option value="Europe/Amsterdam">Europe/Amsterdam</option>
<option value="Europe/Belgrade">Europe/Belgrade</option>
<option value="Europe/Berlin">Europe/Berlin</option>
<option value="Europe/Bratislava">Europe/Bratislava</option>
<option value="Europe/Brussels">Europe/Brussels</option>
<option value="Europe/Budapest">Europe/Budapest</option>
<option value="Europe/Copenhagen">Europe/Copenhagen</option>
<option value="Europe/Ljubljana">Europe/Ljubljana</option>
<option value="Europe/Madrid">Europe/Madrid</option>
<option value="Europe/Paris">Europe/Paris</option>
<option value="Europe/Prague">Europe/Prague</option>
<option value="Europe/Rome">Europe/Rome</option>
<option value="Europe/Sarajevo">Europe/Sarajevo</option>
<option value="Europe/Skopje">Europe/Skopje</option>
<option value="Europe/Stockholm">Europe/Stockholm</option>
<option value="Europe/Vienna">Europe/Vienna</option>
<option value="Europe/Warsaw">Europe/Warsaw</option>
<option value="Europe/Zagreb">Europe/Zagreb</option>
<option value="Europe/Athens">Europe/Athens</option>
<option value="Europe/Bucharest">Europe/Bucharest</option>
<option value="Africa/Cairo">Africa/Cairo</option>
<option value="Africa/Harare">Africa/Harare</option>
<option value="Europe/Helsinki">Europe/Helsinki</option>
<option value="Europe/Istanbul">Europe/Istanbul</option>
<option value="Asia/Jerusalem">Asia/Jerusalem</option>
<option value="Europe/Kiev">Europe/Kiev</option>
<option value="Europe/Minsk">Europe/Minsk</option>
<option value="Europe/Riga">Europe/Riga</option>
<option value="Europe/Sofia">Europe/Sofia</option>
<option value="Europe/Tallinn">Europe/Tallinn</option>
<option value="Europe/Vilnius">Europe/Vilnius</option>
<option value="Asia/Baghdad">Asia/Baghdad</option>
<option value="Asia/Kuwait">Asia/Kuwait</option>
<option value="Africa/Nairobi">Africa/Nairobi</option>
<option value="Asia/Riyadh">Asia/Riyadh</option>
<option value="Asia/Tehran">Asia/Tehran</option>
<option value="Europe/Moscow">Europe/Moscow</option>
<option value="Asia/Baku">Asia/Baku</option>
<option value="Europe/Volgograd">Europe/Volgograd</option>
<option value="Asia/Muscat">Asia/Muscat</option>
<option value="Asia/Tbilisi">Asia/Tbilisi</option>
<option value="Asia/Yerevan">Asia/Yerevan</option>
<option value="Asia/Kabul">Asia/Kabul</option>
<option value="Asia/Karachi">Asia/Karachi</option>
<option value="Asia/Tashkent">Asia/Tashkent</option>
<option value="Asia/Kolkata">Asia/Kolkata</option>
<option value="Asia/Kathmandu">Asia/Kathmandu</option>
<option value="Asia/Yekaterinburg">Asia/Yekaterinburg</option>
<option value="Asia/Almaty">Asia/Almaty</option>
<option value="Asia/Dhaka">Asia/Dhaka</option>
<option value="Asia/Novosibirsk">Asia/Novosibirsk</option>
<option value="Asia/Bangkok">Asia/Bangkok</option>
<option value="Asia/Ho_Chi_Minh">Asia/Ho_Chi_Minh</option>
<option value="Asia/Jakarta">Asia/Jakarta</option>
<option value="Asia/Krasnoyarsk">Asia/Krasnoyarsk</option>
<option value="Asia/Chongqing">Asia/Chongqing</option>
<option value="Asia/Hong_Kong">Asia/Hong_Kong</option>
<option value="Asia/Kuala_Lumpur">Asia/Kuala_Lumpur</option>
<option value="Australia/Perth">Australia/Perth</option>
<option value="Asia/Singapore">Asia/Singapore</option>
<option value="Asia/Taipei">Asia/Taipei</option>
<option value="Asia/Ulaanbaatar">Asia/Ulaanbaatar</option>
<option value="Asia/Urumqi">Asia/Urumqi</option>
<option value="Asia/Irkutsk">Asia/Irkutsk</option>
<option value="Asia/Seoul">Asia/Seoul</option>
<option value="Asia/Tokyo">Asia/Tokyo</option>
<option value="Australia/Adelaide">Australia/Adelaide</option>
<option value="Australia/Darwin">Australia/Darwin</option>
<option value="Asia/Yakutsk">Asia/Yakutsk</option>
<option value="Australia/Brisbane">Australia/Brisbane</option>
<option value="Australia/Canberra">Australia/Canberra</option>
<option value="Pacific/Guam">Pacific/Guam</option>
<option value="Australia/Hobart">Australia/Hobart</option>
<option value="Australia/Melbourne">Australia/Melbourne</option>
<option value="Pacific/Port_Moresby">Pacific/Port_Moresby</option>
<option value="Australia/Sydney">Australia/Sydney</option>
<option value="Asia/Vladivostok">Asia/Vladivostok</option>
<option value="Asia/Magadan">Asia/Magadan</option>
<option value="Pacific/Auckland">Pacific/Auckland</option>
<option value="Pacific/Fiji">Pacific/Fiji</option>
</select>
if ($connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME)) {
$results[] = new TestResult('Connected to database as ' . DB_USER . '@' . DB_HOST, STATUS_OK);
</td>
</tr>
<tr>
<td>
{!! Form::label('date',Lang::get('lang.date_time')) !!}
</td>
<td>
<select name="datetime" style="margin-left: 170px">
<option value="d/m/Y H:i">DD/MM/YYYY H:i</option>
<option value="m/d/Y H:i">MM/DD/YYYY H:i</option>
<option value="Y/m/d H:i">YYYY/MM/DD H:i</option>
</select>
</td>
</tr>
</table>
if (mysqli_select_db($connection, DB_NAME)) {
$results[] = new TestResult('Database "' . DB_NAME . '" selected', STATUS_OK);
<br>
<p class="wc-setup-actions step">
<input type="submit" id="submitme" class="button-primary button button-large button-next" value="Install">
<a href="step4.html" class="button button-large button-next" style="float: left">Previous</a>
</p>
{!! Form::token() !!}
{!! Form::close() !!}
$mysqli_version = mysqli_get_server_info($connection);
if (version_compare($mysqli_version, '5') >= 0) {
$results[] = new TestResult('MySQL version is ' . $mysqli_version, STATUS_OK);
// $have_inno = check_have_inno($connection);
} else {
$results[] = new TestResult('Your MySQL version is ' . $mysqli_version . '. We recommend upgrading to at least MySQL5!', STATUS_ERROR);
$mysqli_ok = false;
} // if
} else {
$results[] = new TestResult('Failed to select database. <br> MySQL said: ' . mysqli_error(), STATUS_ERROR);
$mysqli_ok = false;
} // if
} else {
$results[] = new TestResult('Failed to connect to database. <br> MySQL said: ' . mysqli_error(), STATUS_ERROR);
$mysqli_ok = false;
} // if
// ---------------------------------------------------
// Validators
// ---------------------------------------------------
foreach ($results as $result) {
print '<li class="' . $result->status . '"><span>' . $result->status . '</span> &mdash; ' . $result->message . '</li>';
} // foreach
?>
</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 &mdash; Address of your MySQL server (usually localhost)</li>
<li>DB_USER &mdash; Username that is used to connect to the server</li>
<li>DB_PASS &mdash; User's password</li>
<li>DB_NAME &mdash; 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 } // if ?>
<?php if ($mysqli_ok !== null) {?>
<?php if ($mysqli_ok) {?>
<p id="verdict" class="all_ok">OK, this system can run <b>Faveo</b>HELPDESK</p>
<h3 id="conn">Database connection successfull</h3>
<span id="wait">Please wait this may take a minute......</span>
{{-- <a href="{{URL::route('configuration')}}" style="text-color:black"><button value="prev" id="access1">Prev</button></a> --}}
<a href="{{URL::route('account')}}" class="pull-right" id="next" style="text-color:black"><button value="next" id="access1">Next</button></a>
{{-- <form action="{{URL::route('postconnection')}}" method="post"> --}}
{!! Form::open( ['id'=>'form','method' => 'PATCH'] )!!}
{{-- <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 !!}"/>
<input type="submit" style="display:none;">
</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/dist/img/gifloader.gif")}}"><br/><br/><br/>
</div>
</div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
// submit a ticket
$(document).ready(function () {
$("#form").submit();
});
// Edit a ticket
$('#form').on('submit', function() {
$.ajax({
type: "POST",
url: "postconnection",
dataType: "html",
data: $(this).serialize(),
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');
}
}
})
return false;
});
</script>
<p><br><p>
<?php } else {?>
<p id="verdict" class="not_ok">This system does not meet <b>Faveo</b>HELPDESK system requirements</p>
<a href="{{URL::route('configuration')}}" style="color:black"><button value="prev" id="access2">Back</button></a><br>
<?php } // if ?>
<h2>Legend</h2>
<div id="legend">
<ul>
<li class="ok"><span>ok</span> &mdash; All OK</li>
<li class="warning"><span>warning</span> &mdash; Not a deal breaker, but it's recommended to have this installed for some features to work</li>
<li class="error"><span>error</span> &mdash; <b>Faveo</b>HELPDESK require this feature and can't work without it</li>
</ul>
</div>
<?php } // if ?>
<?php
if (function_exists('date_default_timezone_set')) {
date_default_timezone_set('GMT');
} // if
?>
</div></p>
@stop

View File

@@ -1,198 +1,61 @@
@extends('themes.default1.installer.layout.installer')
@section('content')
<h1>Create Admin Account</h1>
<div class="login-box-body" >
<?php
$language = Session::get('language');
$timezone = Session::get('timezone');
$date = Session::get('date');
$datetime = Session::get('datetime');
?>
{!! Form::open(['url'=>route('postaccount')]) !!}
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<!-- Personal Information -->
<h4>Personal Information</h4>
<b>First Name</b>
<input type="text" class="form-control" name="firstname" id="firstname">
@if($errors->has('firstname'))
<div class="text-red">{{$errors->first('firstname')}}</div>
@endif
<b>Last Name</b>
<input type="text" class="form-control" name="Lastname" id="Lastname">
@if($errors->has('Lastname'))
<div class="text-red">{{$errors->first('Lastname')}}</div>
@endif
<b>Email</b>
<input type="text" class="form-control" name="email" id="email">
@if($errors->has('email'))
<div class="text-red">{{$errors->first('email')}}</div>
@endif
<hr>
<h4>Login Information</h4>
<b>User Name</b>
<input type="text" class="form-control" name="username" id="username">
@if($errors->has('username'))
<div class="text-red">{{$errors->first('username')}}</div>
@endif
<b>Password</b>
<input type="password" class="form-control" name="password" id="password">
@if($errors->has('password'))
<div class="text-red">{{$errors->first('password')}}</div>
@endif
<b>Confirm Password</b>
<input type="password" class="form-control" name="confirmpassword" id="confirmpassword">
@if($errors->has('confirmpassword'))
<div class="text-red">{{$errors->first('confirmpassword')}}</div>
@endif
<hr>
<h4>Local Information</h4>
<b>Language</b>
<select class="form-control" name="language" >
<option value="English(India)">English(India)</option>
<option value="English(U.k)">English(U.K)</option>
</select>
<b>Timezone</b>
<select class="form-control" name="timezone" >
<option value="US/Samoa">US/Samoa</option>
<option value="US/Hawaii">US/Hawaii</option>
<option value="US/Alaska">US/Alaska</option>
<option value="US/Pacific">US/Pacific</option>
<option value="America/Tijuana">America/Tijuana</option>
<option value="US/Arizona">US/Arizona</option>
<option value="US/Mountain">US/Mountain</option>
<option value="America/Chihuahua">America/Chihuahua</option>
<option value="America/Mazatlan">America/Mazatlan</option>
<option value="America/Mexico_City">America/Mexico_City</option>
<option value="America/Monterrey">America/Monterrey</option>
<option value="Canada/Saskatchewan">Canada/Saskatchewan</option>
<option value="US/Central">US/Central</option>
<option value="US/Eastern">US/Eastern</option>
<option value="US/East-Indiana">US/East-Indiana</option>
<option value="America/Bogota">America/Bogota</option>
<option value="America/Lima">America/Lima</option>
<option value="America/Caracas">America/Caracas</option>
<option value="Canada/Atlantic">Canada/Atlantic</option>
<option value="America/La_Paz">America/La_Paz</option>
<option value="America/Santiago">America/Santiago</option>
<option value="Canada/Newfoundland">Canada/Newfoundland</option>
<option value="America/Buenos_Aires">America/Buenos_Aires</option>
<option value="Greenland">Greenland</option>
<option value="Atlantic/Stanley">Atlantic/Stanley</option>
<option value="Atlantic/Azores">Atlantic/Azores</option>
<option value="Atlantic/Cape_Verde">Atlantic/Cape_Verde</option>
<option value="Africa/Casablanca">Africa/Casablanca</option>
<option value="Europe/Dublin">Europe/Dublin</option>
<option value="Europe/Lisbon">Europe/Lisbon</option>
<option value="Europe/London">Europe/London</option>
<option value="Africa/Monrovia">Africa/Monrovia</option>
<option value="Europe/Amsterdam">Europe/Amsterdam</option>
<option value="Europe/Belgrade">Europe/Belgrade</option>
<option value="Europe/Berlin">Europe/Berlin</option>
<option value="Europe/Bratislava">Europe/Bratislava</option>
<option value="Europe/Brussels">Europe/Brussels</option>
<option value="Europe/Budapest">Europe/Budapest</option>
<option value="Europe/Copenhagen">Europe/Copenhagen</option>
<option value="Europe/Ljubljana">Europe/Ljubljana</option>
<option value="Europe/Madrid">Europe/Madrid</option>
<option value="Europe/Paris">Europe/Paris</option>
<option value="Europe/Prague">Europe/Prague</option>
<option value="Europe/Rome">Europe/Rome</option>
<option value="Europe/Sarajevo">Europe/Sarajevo</option>
<option value="Europe/Skopje">Europe/Skopje</option>
<option value="Europe/Stockholm">Europe/Stockholm</option>
<option value="Europe/Vienna">Europe/Vienna</option>
<option value="Europe/Warsaw">Europe/Warsaw</option>
<option value="Europe/Zagreb">Europe/Zagreb</option>
<option value="Europe/Athens">Europe/Athens</option>
<option value="Europe/Bucharest">Europe/Bucharest</option>
<option value="Africa/Cairo">Africa/Cairo</option>
<option value="Africa/Harare">Africa/Harare</option>
<option value="Europe/Helsinki">Europe/Helsinki</option>
<option value="Europe/Istanbul">Europe/Istanbul</option>
<option value="Asia/Jerusalem">Asia/Jerusalem</option>
<option value="Europe/Kiev">Europe/Kiev</option>
<option value="Europe/Minsk">Europe/Minsk</option>
<option value="Europe/Riga">Europe/Riga</option>
<option value="Europe/Sofia">Europe/Sofia</option>
<option value="Europe/Tallinn">Europe/Tallinn</option>
<option value="Europe/Vilnius">Europe/Vilnius</option>
<option value="Asia/Baghdad">Asia/Baghdad</option>
<option value="Asia/Kuwait">Asia/Kuwait</option>
<option value="Africa/Nairobi">Africa/Nairobi</option>
<option value="Asia/Riyadh">Asia/Riyadh</option>
<option value="Asia/Tehran">Asia/Tehran</option>
<option value="Europe/Moscow">Europe/Moscow</option>
<option value="Asia/Baku">Asia/Baku</option>
<option value="Europe/Volgograd">Europe/Volgograd</option>
<option value="Asia/Muscat">Asia/Muscat</option>
<option value="Asia/Tbilisi">Asia/Tbilisi</option>
<option value="Asia/Yerevan">Asia/Yerevan</option>
<option value="Asia/Kabul">Asia/Kabul</option>
<option value="Asia/Karachi">Asia/Karachi</option>
<option value="Asia/Tashkent">Asia/Tashkent</option>
<option value="Asia/Kolkata">Asia/Kolkata</option>
<option value="Asia/Kathmandu">Asia/Kathmandu</option>
<option value="Asia/Yekaterinburg">Asia/Yekaterinburg</option>
<option value="Asia/Almaty">Asia/Almaty</option>
<option value="Asia/Dhaka">Asia/Dhaka</option>
<option value="Asia/Novosibirsk">Asia/Novosibirsk</option>
<option value="Asia/Bangkok">Asia/Bangkok</option>
<option value="Asia/Ho_Chi_Minh">Asia/Ho_Chi_Minh</option>
<option value="Asia/Jakarta">Asia/Jakarta</option>
<option value="Asia/Krasnoyarsk">Asia/Krasnoyarsk</option>
<option value="Asia/Chongqing">Asia/Chongqing</option>
<option value="Asia/Hong_Kong">Asia/Hong_Kong</option>
<option value="Asia/Kuala_Lumpur">Asia/Kuala_Lumpur</option>
<option value="Australia/Perth">Australia/Perth</option>
<option value="Asia/Singapore">Asia/Singapore</option>
<option value="Asia/Taipei">Asia/Taipei</option>
<option value="Asia/Ulaanbaatar">Asia/Ulaanbaatar</option>
<option value="Asia/Urumqi">Asia/Urumqi</option>
<option value="Asia/Irkutsk">Asia/Irkutsk</option>
<option value="Asia/Seoul">Asia/Seoul</option>
<option value="Asia/Tokyo">Asia/Tokyo</option>
<option value="Australia/Adelaide">Australia/Adelaide</option>
<option value="Australia/Darwin">Australia/Darwin</option>
<option value="Asia/Yakutsk">Asia/Yakutsk</option>
<option value="Australia/Brisbane">Australia/Brisbane</option>
<option value="Australia/Canberra">Australia/Canberra</option>
<option value="Pacific/Guam">Pacific/Guam</option>
<option value="Australia/Hobart">Australia/Hobart</option>
<option value="Australia/Melbourne">Australia/Melbourne</option>
<option value="Pacific/Port_Moresby">Pacific/Port_Moresby</option>
<option value="Australia/Sydney">Australia/Sydney</option>
<option value="Asia/Vladivostok">Asia/Vladivostok</option>
<option value="Asia/Magadan">Asia/Magadan</option>
<option value="Pacific/Auckland">Pacific/Auckland</option>
<option value="Pacific/Fiji">Pacific/Fiji</option>
</select>
<b>Date</b>
<select class="form-control" name="date" >
<option value="d/m/Y">DD/MM/YYYY</option>
<option value="m/d/Y">MM/DD/YYYY</option>
<option value="Y/m/d">YYYY/MM/DD</option>
</select>
<b>Date Time</b>
<select class="form-control" name="datetime" >
<option value="d/m/Y H:i">DD/MM/YYYY H:i</option>
<option value="m/d/Y H:i">MM/DD/YYYY H:i</option>
<option value="Y/m/d H:i">YYYY/MM/DD H:i</option>
</select>
<br/>
{{-- <a href="{{URL::route('configuration')}}" id="access1" style="color:black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prev</a> --}}
<input type="submit" value="Install" id="access">
{!! Form::token() !!}
{!! Form::close() !!}
<br><p>
</div></p>
@section('licence')
done
@stop
@section('environment')
done
@stop
@section('database')
done
@stop
@section('locale')
done
@stop
@section('ready')
active
@stop
@section('content')
<a class="twitter-share-button" target="_blank" href="https://twitter.com/intent/tweet?text=I just set up a new HELPDESK with @faveohelpdesk! http://www.faveohelpdesk.com #helpdesk">
<img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQ-uhinU3OzXKj9zlFO7dFxHaChqyHPcWWg5nWgMqYt6N5b3knK" style="width: 86px; float: right;">
</a>
<h1 style="text-align: center;">Thank you</h1>
<div class="wc-setup-next-steps">
<div class="wc-setup-next-steps-first">
<h2>Next Steps</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>
</li>
</ul>
</div>
<div class="wc-setup-next-steps-last">
<h2>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>
<li class="sidekick"><a target="_blank" href="http://www.ladybirdweb.com/support/knowledgebase">Knowledge Base</a>
</li>
<li class="newsletter"><a href="mailto:support@ladybirdweb.com">Email Support</a>
</li>
<br>
<br>
<br>
</ul>
</div>
</div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="{{asset(" js/index.js ")}}"></script>
@stop

View File

@@ -1,118 +1,80 @@
<html>
<head>
<meta charset="UTF-8">
<title>Faveo HELPDESK | Insatller</title>
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<!-- bootstrap 3.0.2 -->
<link href="{{asset("lb-faveo/downloads/bootstrap.min.css")}}" rel="stylesheet" type="text/css" />
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/bootstrap.min.css'); }} --}}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Faveo HELPDESK</title>
<link rel="stylesheet" href="{{asset("lb-faveo/installer/css/load-styles.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/installer/css/css.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/installer/css/admin.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/installer/css/wc-setup.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/installer/css/activation.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/installer/css/style.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<!-- font Awesome -->
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/font-awesome.min.css'); }} --}}
<style type="text/css">
<!-- Ionicons -->
<link href="{{asset("lb-faveo/downloads/ionicons.min.css")}}" rel="stylesheet" type="text/css" />
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/admin/css/ionicons.min.css'); }} --}}
td input {
padding: 3px;
margin-left: 150px;
width: 280px;
}
<!-- Theme style -->
<link href="{{asset("lb-faveo/dist/css/AdminLTE.min.css")}}" rel="stylesheet" type="text/css" />
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/admin/css/AdminLTE.css'); }} --}}
td select {
width: 290px;
margin-left: 150px;
font-size: 17px;
}
<!-- Bootstrap time Picker -->
{{-- <link href="{{asset("downloads/ionicons.min.css")}}" rel="stylesheet" type="text/css" /> --}}
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/daterangepicker/daterangepicker-bs3.css'); }} --}}
i {
float: right;
padding-top: 7px;
padding-left: 5px;
}
<!-- daterange picker -->
{{-- <link href="{{asset("downloads/ionicons.min.css")}}" rel="stylesheet" type="text/css" /> --}}
{{-- {{ HTML::style('ep-content/themes/ep-admin/default1/css/timepicker/bootstrap-timepicker.min.css'); }} --}}
#sectool {
min-width: 200px;
padding: 5px;
line-height: 20px;
min-height: 18px;
background-color: #3AA7D9;
float: right;
border-radius: 5px;
box-shadow: 5px 6px #88C8E5;
margin-top: 30px;
/* position: absolute;*/
top: 100px;
}
<style type="text/css">
a:link {color:#000;} /* unvisited link */
a:visited {color:#000;} /* visited link */
a:hover {color:#000;} /* mouse over link */
a:active {color:#000;}
</style>
<style type="text/css">
#access2{
float: left;
/*position: fixed;*/
width: 100px;
background: #E60000;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
}
#access1{
float: left;
/*position: fixed;*/
width: 100px;
background: #27AE60;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
}
#access{
float: right;
/*position: fixed;*/
width: 100px;
background: #27AE60;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
color:black;
}
#access5{
float: right;
/*position: fixed;*/
width: 100px;
background: #27AE60;
font-weight: bold;
padding: 10px;
border: 0 none;
border-radius: 3px;
}
#inputfield{
/*padding: 10px;*/
border: 0 none;
border-radius: 3px;
}
</style>
<style type="text/css">
.ok span, .warning span, .error span {
font-weight: bolder;
}
ok span {
color: green;
}
.warning span {
color: orange;
}
.error span {
color: red;
}
</style>
</head>
<body style="background-color:#d2d6de;">
<div class="login-box">
@yield('content')
<p id="footer">&copy;<?php echo date('Y')?>. Powered by <a href="http://www.faveohelpdesk.com">Faveo </a></p>
</div>
</body>
#sectool p{
text-align: justify;
text-align-last: center;
font-size: 14px;
color: aliceblue;
width: 200px;
word-wrap: break-word;
font-style: italic;
font-weight: 600;
font-variant: normal;
}
</style>
</head>
<body class="wc-setup wp-core-ui">
<h1 id="wc-logo"><a href="#">
<img src="{{asset("lb-faveo/installer/images/faveo.png")}}" alt="faveo"></a></h1>
<ol class="wc-setup-steps">
<li class="@yield('licence')">Licence Agreement</li>
<li class="@yield('environment')">Environment Test</li>
<li class="@yield('database')">Database Setup</li>
<li class="@yield('locale')">Locale Information</li>
<li class="@yield('ready')">Ready</li>
</ol>
<div class="wc-setup-content">
@yield('content')
</div>
<center>&copy;<?php echo date('Y')?>. Powered by <a href="http://www.faveohelpdesk.com">Faveo </a></center>
{{-- // <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> --}}
{{-- // <script src="{{asset("lb-faveo/installer/js/index.js ")}}"></script> --}}
</body>
</html>

2
vendor/autoload.php vendored
View File

@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInitbe2f9f1bc8232b95340714a19f4a3f05::getLoader();
return ComposerAutoloaderInit7157e8cc863b79dcda33b8f735f4c92d::getLoader();

8
vendor/bin/phpspec vendored
View File

@@ -1,7 +1 @@
#!/usr/bin/env sh
SRC_DIR="`pwd`"
cd "`dirname "$0"`"
cd "../phpspec/phpspec/bin"
BIN_TARGET="`pwd`/phpspec"
cd "$SRC_DIR"
"$BIN_TARGET" "$@"
../phpspec/phpspec/bin/phpspec

8
vendor/bin/phpunit vendored
View File

@@ -1,7 +1 @@
#!/usr/bin/env sh
SRC_DIR="`pwd`"
cd "`dirname "$0"`"
cd "../phpunit/phpunit"
BIN_TARGET="`pwd`/phpunit"
cd "$SRC_DIR"
"$BIN_TARGET" "$@"
../phpunit/phpunit/phpunit

View File

@@ -1,6 +1,16 @@
Changelog
=========
1.6.2
-----
### Enhancements
- Add support for configuring the notifier completely from
[environment variables](https://github.com/bugsnag/bugsnag-laravel#environment-variables)
| [Andrew](https://github.com/browner12)
| [#71](https://github.com/bugsnag/bugsnag-laravel/pull/71)
1.6.1
-----
- Fix array syntax for older php

View File

@@ -2,28 +2,15 @@ Contributing
============
- [Fork](https://help.github.com/articles/fork-a-repo) the [notifier on github](https://github.com/bugsnag/bugsnag-laravel)
- Build and test your changes
- Build and test your changes:
```
composer install && ./vendor/bin/phpunit
```
- Commit and push until you are happy with your contribution
- [Make a pull request](https://help.github.com/articles/using-pull-requests)
- Thanks!
Example apps
============
Bugsnag supports both Laravel 4 and Laravel 5. You can test these out by running the locally.
brew tap josegonzalez/homebrew-php
brew install php56 php56-mcrypt composer
Then cd into `example/laravel-4` and start the server:
composer install
php56 artisan serve --port 8004
The same works for `example/laravel-5` and start the server:
composer install
php56 artisan serve --port 8005
Releasing
=========

View File

@@ -11,11 +11,33 @@ capturing errors from your applications.
Check out this excellent [Laracasts screencast](https://laracasts.com/lessons/better-error-tracking-with-bugsnag) for a quick overview of how to use Bugsnag with your Laravel apps.
Contents
--------
How to Install
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Laravel 5.0+](#laravel-50)
- [Laravel (Older Versions)](#laravel-older-versions)
- [Lumen](#lumen)
- [Environment Variables](#environment-variables)
- [Usage](#usage)
- [Catching and Reporting Exceptions](#catching-and-reporting-exceptions)
- [Sending Non-fatal Exceptions](#sending-non-fatal-exceptions)
- [Configuration Options](#configuration-options)
- [Error Reporting Levels](#error-reporting-levels)
- [Callbacks](#callbacks)
- [Demo Applications](#demo-applications)
- [Support](#support)
- [Contributing](#contributing)
- [License](#license)
Getting Started
---------------
### Laravel 5.0 +
### Installation
#### Laravel 5.0+
1. Install the `bugsnag/bugsnag-laravel` package
@@ -68,7 +90,7 @@ How to Install
1. Create the configuration file `config/bugsnag.php`:
```shell
$ php artisan vendor:publish
$ php artisan vendor:publish --provider="Bugsnag\BugsnagLaravel\BugsnagLaravelServiceProvider"
```
1. Configure your `api_key` in your `.env` file:
@@ -87,7 +109,9 @@ How to Install
);
```
### Laravel < 5.0
#### Laravel (Older Versions)
For versions of Laravel before 5.0:
1. Install the `bugsnag/bugsnag-laravel` package
@@ -137,7 +161,7 @@ How to Install
```
### Lumen
#### Lumen
1. In `bootstrap/app.php` add the line
@@ -170,41 +194,35 @@ How to Install
);
```
### Environment Variables
In addition to `BUGSNAG_API_KEY`, other configuration keys can be automatically
populated in `config.php` from your `.env` file:
- `BUGSNAG_API_KEY`: Your API key. You can find your API key on your Bugsnag
dashboard.
- `BUGSNAG_NOTIFY_RELEASE_STAGES`: Set which release stages should send
notifications to Bugsnag.
- `BUGSNAG_ENDPOINT`: Set what server to which the Bugsnag notifier should send
errors. The default is https://notify.bugsnag.com, but for Bugsnag Enterprise
the endpoint should be the URL of your Bugsnag instance.
- `BUGSNAG_FILTERS`: Set which keys are filtered from metadata is sent to
Bugsnag.
- `BUGSNAG_PROXY`: Set the configuration options for your server if it is behind
a proxy server. Additional details are available in the
[sample configuration](src/Bugsnag/BugsnagLaravel/config.php#L56).
Usage
-----
Sending Custom Data With Exceptions
-----------------------------------
### Catching and Reporting Exceptions
It is often useful to send additional meta-data about your app, such as
information about the currently logged in user, along with any
error or exceptions, to help debug problems.
To send custom data, you should define a *before-notify* function,
adding an array of "tabs" of custom data to the $metaData parameter. For example:
```php
Bugsnag::setBeforeNotifyFunction("before_bugsnag_notify");
function before_bugsnag_notify($error) {
// Do any custom error handling here
// Also add some meta data to each error
$error->setMetaData(array(
"user" => array(
"name" => "James",
"email" => "james@example.com"
)
));
}
```
See the [setBeforeNotifyFunction](https://bugsnag.com/docs/notifiers/php#setbeforenotifyfunction)
documentation on the `bugsnag-php` library for more information.
Bugsnag works "out of the box" for reporting unhandled exceptions in
Laravel and Lumen apps.
Sending Custom Errors or Non-Fatal Exceptions
---------------------------------------------
### Sending Non-fatal Exceptions
You can easily tell Bugsnag about non-fatal or caught exceptions by
calling `Bugsnag::notifyException`:
@@ -231,9 +249,16 @@ $metaData = array(
);
```
Additional data can be sent with exceptions as an options hash as detailed in the [Notification Options](docs/Notification Options.md) documentation, including some [options specific to non-fatal exceptions](docs/Notification Options.md#handled-notification-options).
Error Reporting Levels
----------------------
### Configuration Options
The [Bugsnag PHP Client](https://bugsnag.com/docs/notifiers/php)
is available as `Bugsnag`, which allows you to set various
configuration options. These options are listed in the [documentation for Bugsnag PHP](https://bugsnag.com/docs/notifiers/php#additional-options).
#### Error Reporting Levels
By default we'll use the value of `error_reporting` from your `php.ini`
or any value you set at runtime using the `error_reporting(...)` function.
@@ -245,43 +270,67 @@ If you'd like to send different levels of errors to Bugsnag, you can call
Bugsnag::setErrorReportingLevel(E_ALL & ~E_NOTICE);
```
#### Callbacks
Additional Configuration
------------------------
It is often useful to send additional meta-data about your app, such as
information about the currently logged in user, along with any
error or exceptions, to help debug problems.
The [Bugsnag PHP Client](https://bugsnag.com/docs/notifiers/php)
is available as `Bugsnag`, which allows you to set various
configuration options, for example:
To send custom data, you should define a *before-notify* function,
adding an array of "tabs" of custom data to the $metaData parameter. For example:
```php
Bugsnag::setReleaseStage("production");
Bugsnag::setBeforeNotifyFunction("before_bugsnag_notify");
function before_bugsnag_notify($error) {
// Do any custom error handling here
// Also add some meta data to each error
$error->setMetaData(array(
"user" => array(
"name" => "James",
"email" => "james@example.com"
)
));
}
```
See the [Bugsnag Notifier for PHP documentation](https://bugsnag.com/docs/notifiers/php#additional-configuration)
for full configuration details.
This example snippet adds a "user" tab to the Bugsnag error report. See the [setBeforeNotifyFunction](https://bugsnag.com/docs/notifiers/php#setbeforenotifyfunction)
documentation on the `bugsnag-php` library for more information.
Reporting Bugs or Feature Requests
----------------------------------
Demo Applications
-----------------
Please report any bugs or feature requests on the github issues page for this
project here:
The [Bugsnag Laravel source repository](https://github.com/bugsnag/bugsnag-laravel) includes example applications for [Laravel 4, Laravel 5, and Lumen](https://github.com/bugsnag/bugsnag-laravel/tree/master/example).
<https://github.com/bugsnag/bugsnag-laravel/issues>
Before running one of the example applications, install the prerequisites:
brew tap josegonzalez/homebrew-php
brew install php56 php56-mcrypt composer
Then open the example directory (such as `example/laravel-5.1`) in a terminal and start the server:
composer install
php56 artisan serve --port 8004
Support
-------
* [Additional Documentation](https://github.com/bugsnag/bugsnag-laravel/tree/master/docs)
* [Search open and closed issues](https://github.com/bugsnag/bugsnag-laravel/issues?utf8=✓&q=is%3Aissue) for similar problems
* [Report a bug or request a feature](https://github.com/bugsnag/bugsnag-laravel/issues/new)
Contributing
------------
- [Fork](https://help.github.com/articles/fork-a-repo) the [notifier on github](https://github.com/bugsnag/bugsnag-laravel)
- Commit and push until you are happy with your contribution
- Run the tests to make sure they all pass: `composer install && ./vendor/bin/phpunit`
- [Make a pull request](https://help.github.com/articles/using-pull-requests)
- Thanks!
We'd love you to file issues and send pull requests. The [contributing guidelines](https://github.com/bugsnag/bugsnag-laravel/CONTRIBUTING.md) details the process of building and testing `bugsnag-laravel`, as well as the pull request process. Feel free to comment on [existing issues](https://github.com/bugsnag/bugsnag-laravel/issues) for clarification or starting points.
License
-------
The Bugsnag Laravel notifier is free software released under the MIT License.
See [LICENSE.txt](https://github.com/bugsnag/bugsnag-laravel/blob/master/LICENSE.txt) for details.
See [LICENSE.txt](LICENSE.txt) for details.

View File

@@ -66,7 +66,7 @@ class BugsnagLaravelServiceProvider extends ServiceProvider
$client->setReleaseStage($app->environment());
$client->setNotifier(array(
'name' => 'Bugsnag Laravel',
'version' => '1.6.1',
'version' => '1.6.2',
'url' => 'https://github.com/bugsnag/bugsnag-laravel'
));

View File

@@ -25,7 +25,7 @@ return array(
| Example: array('development', 'production')
|
*/
'notify_release_stages' => null,
'notify_release_stages' => env('BUGSNAG_NOTIFY_RELEASE_STAGES', null),
/*
|--------------------------------------------------------------------------
@@ -37,7 +37,7 @@ return array(
| this should be the URL to your Bugsnag instance.
|
*/
'endpoint' => null,
'endpoint' => env('BUGSNAG_ENDPOINT', null),
/*
|--------------------------------------------------------------------------
@@ -49,7 +49,7 @@ return array(
| contain these strings will be filtered.
|
*/
'filters' => array('password'),
'filters' => env('BUGSNAG_FILTERS', array('password')),
/*
|--------------------------------------------------------------------------
@@ -72,6 +72,6 @@ return array(
| )
|
*/
'proxy' => null
'proxy' => env('BUGSNAG_PROXY', null)
);

View File

@@ -1,2 +1,4 @@
vendor
composer.lock
/vendor
/composer.lock
/composer.phar
/.idea

View File

@@ -1,3 +1,4 @@
sudo: false
language: php
php:
- 5.6
@@ -6,7 +7,3 @@ php:
- 5.3
- 5.2
- hhvm
notifications:
hipchat:
rooms:
secure: CP1Pqa5TRwHtft3UQRZpnnw/mRCAVtXAn5S/Am45uk4fpGGFLf3F/mHKOgjDeALB/aVyJQvHV/Lr2KrgY7FWOjOdzXVVwLDtGoXXimvqxGEjvSFQMiJGKiwm7Thw41EqwHOZUxIKLtJBByP36bqvx4zXxUeNbCTc4T2f92eiZps=

View File

@@ -1,6 +1,24 @@
Changelog
=========
2.6.0 (23 Dec 2015)
-----
### Enhancements
* Add support for PHP 7's Throwable
| [Chris Stone](https://github.com/cmstone)
| [#106](https://github.com/bugsnag/bugsnag-php/pull/106)
* Fix errors which arise from from error payloads not encoded using UTF-8
| [GaetanNaulin](https://github.com/GaetanNaulin)
| [#104](https://github.com/bugsnag/bugsnag-php/pull/104)
| [#105](https://github.com/bugsnag/bugsnag-php/pull/105)
2.5.6
-----
- Added a debug flag to help diagnose notification problems
2.5.5
-----
- Ensure no unnecessary code is executed when errors should be skipped

View File

@@ -2,7 +2,7 @@ Contributing
============
- [Fork](https://help.github.com/articles/fork-a-repo) the [notifier on github](https://github.com/bugsnag/bugsnag-laravel)
- Build and test your changes
- Build and test your changes. Run the tests using [phpunit](https://phpunit.de) (vendored to `vendor/bin/phpunit`)
- Commit and push until you are happy with your contribution
- [Make a pull request](https://help.github.com/articles/using-pull-requests)
- Thanks!
@@ -22,15 +22,27 @@ Releasing
=========
1. Commit all outstanding changes
1. Bump the version in `src/Bugsnag/Configuration.php`.
2. Update the CHANGELOG.md, and README if appropriate.
3. Build a new phar package
2. Bump the version in `src/Bugsnag/Configuration.php`.
3. Update the CHANGELOG.md, and README if appropriate.
4. Build a new phar package
* NB: You may need to set `phar.readonly = Off` in /usr/local/etc/php/5.4/php.ini
* If not located in /usr/local/etc, check /private/etc/php.ini
* If not in /private/etc/php.ini:
```
sudo cp /private/etc/php.ini.default /private/etc/php.ini
```
* Then:
```
composer install
php pharbuilder.php
```
4. Commit, tag push
git commit -am v1.x.x
git tag v1.x.x
git push origin master v1.x.x
```
git commit -am v2.x.x
git tag v2.x.x
git push origin master && git push --tags
```

View File

@@ -1,4 +1,4 @@
Bugsnag Notifier for PHP
Bugsnag Notifier for PHP <img src="https://travis-ci.org/bugsnag/bugsnag-php.svg?branch=master" alt="build status" class="build-status">
========================
The Bugsnag Notifier for PHP gives you instant notification of errors and
@@ -161,14 +161,12 @@ you can set the `releaseStage` that is reported to Bugsnag.
$bugsnag->setReleaseStage('development');
```
By default this is set to be "production".
By default this is set to "production".
> Note: If you would like errors from stages other than production to be sent
to Bugsnag, you'll also have to call `setNotifyReleaseStages`.
###setNotifyReleaseStages
By default, we will notify Bugsnag of errors that happen in any
By default, we will notify Bugsnag of errors that happen in *any*
`releaseStage` If you would like to change which release stages notify
Bugsnag of errors you can call `setNotifyReleaseStages`:

Binary file not shown.

View File

@@ -8,6 +8,7 @@
composer install
```
- Add your API key to the example script
- Run the example script
```shell

View File

@@ -2,7 +2,7 @@
require_once "../../build/bugsnag.phar";
$bugsnag = new Bugsnag_Client("066f5ad3590596f9aa8d601ea89af845");
$bugsnag = new Bugsnag_Client("YOUR-API-KEY-HERE");
$bugsnag->notifyError("Broken", "Something broke", array("tab" => array("paying" => true, "object" => (object)array("key" => "value"), "null" => NULL, "string" => "test", "int" => 4)));
?>

View File

@@ -3,12 +3,14 @@
class Bugsnag_Client
{
private $config;
/** @var Bugsnag_Notification|null */
private $notification;
/**
* Initialize Bugsnag
*
* @param String $apiKey your Bugsnag API key
* @throws Exception
*/
public function __construct($apiKey)
{
@@ -33,6 +35,7 @@ class Bugsnag_Client
* Set your release stage, eg "production" or "development"
*
* @param String $releaseStage the app's current release stage
* @return $this
*/
public function setReleaseStage($releaseStage)
{
@@ -45,6 +48,7 @@ class Bugsnag_Client
* Set your app's semantic version, eg "1.2.3"
*
* @param String $appVersion the app's version
* @return $this
*/
public function setAppVersion($appVersion)
{
@@ -53,10 +57,11 @@ class Bugsnag_Client
return $this;
}
/**
/**
* Set the host name
*
* @param String $hostname the host name
* @return $this
*/
public function setHostname($hostname)
{
@@ -70,6 +75,7 @@ class Bugsnag_Client
* eg array("production", "development")
*
* @param Array $notifyReleaseStages array of release stages to notify for
* @return $this
*/
public function setNotifyReleaseStages(array $notifyReleaseStages)
{
@@ -82,6 +88,7 @@ class Bugsnag_Client
* Set which Bugsnag endpoint to send errors to.
*
* @param String $endpoint endpoint URL
* @return $this
*/
public function setEndpoint($endpoint)
{
@@ -90,11 +97,25 @@ class Bugsnag_Client
return $this;
}
/**
* Enable debug mode to help diagnose problems.
*
* @param Boolean $debug whether to enable debug mode
* @return $this
*/
public function setDebug($debug)
{
$this->config->debug = $debug;
return $this;
}
/**
* Set whether or not to use SSL when notifying bugsnag
*
* @param Boolean $useSSL whether to use SSL
* @deprecated you can now pass full URLs to setEndpoint
* @return $this
*/
public function setUseSSL($useSSL)
{
@@ -107,6 +128,7 @@ class Bugsnag_Client
* Set the desired timeout for cURL connection when notifying bugsnag
*
* @param Integer $timeout the desired timeout in seconds
* @return $this
*/
public function setTimeout($timeout)
{
@@ -121,6 +143,7 @@ class Bugsnag_Client
* stacktrace lines.
*
* @param String $projectRoot the root path for your application
* @return $this
*/
public function setProjectRoot($projectRoot)
{
@@ -135,6 +158,7 @@ class Bugsnag_Client
* for grouping and reduces the noise in stack traces.
*
* @param String $stripPath the path to strip from filenames
* @return $this
*/
public function setStripPath($stripPath)
{
@@ -148,6 +172,7 @@ class Bugsnag_Client
* that are part of your application.
*
* @param String $projectRootRegex regex matching paths belong to your project
* @return $this
*/
public function setProjectRootRegex($projectRootRegex)
{
@@ -161,6 +186,7 @@ class Bugsnag_Client
* to Bugsnag. Eg. array("password", "credit_card")
*
* @param Array $filters an array of metaData filters
* @return $this
*/
public function setFilters(array $filters)
{
@@ -178,6 +204,7 @@ class Bugsnag_Client
* 'name' => 'Bob Hoskins',
* 'email' => 'bob@hoskins.com'
* )
* @return $this
*/
public function setUser(array $user)
{
@@ -188,6 +215,8 @@ class Bugsnag_Client
/**
* @deprecated deprecated since version 2.1
* @param $userId
* @return $this
*/
public function setUserId($userId)
{
@@ -204,6 +233,7 @@ class Bugsnag_Client
* Set a context representing the current type of request, or location in code.
*
* @param String $context the current context
* @return $this
*/
public function setContext($context)
{
@@ -218,6 +248,7 @@ class Bugsnag_Client
* eg "laravel", or executing through delayed worker code, eg "resque".
*
* @param String $type the current type
* @return $this
*/
public function setType($type)
{
@@ -237,6 +268,7 @@ class Bugsnag_Client
* "email" => "james@example.com"
* )
* )
* @return $this
*/
public function setMetaData(array $metaData)
{
@@ -255,6 +287,7 @@ class Bugsnag_Client
* 'user' => "username"
* 'password' => "password123"
* )
* @return $this
*/
public function setProxySettings(array $proxySettings)
{
@@ -270,6 +303,7 @@ class Bugsnag_Client
* array(
* CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4
* )
* @return $this
*/
public function setCurlOptions(array $curlOptions)
{
@@ -292,8 +326,9 @@ class Bugsnag_Client
* ));
* }
* $bugsnag->setBeforeNotifyFunction("before_bugsnag_notify");
*
*/
* @param callable $beforeNotifyFunction
* @return $this
*/
public function setBeforeNotifyFunction($beforeNotifyFunction)
{
$this->config->beforeNotifyFunction = $beforeNotifyFunction;
@@ -308,6 +343,7 @@ class Bugsnag_Client
*
* @param Integer $errorReportingLevel the error reporting level integer
* exactly as you would pass to PHP's error_reporting
* @return $this
*/
public function setErrorReportingLevel($errorReportingLevel)
{
@@ -321,6 +357,7 @@ class Bugsnag_Client
* exceptions and errors.
*
* @param Boolean $autoNotify whether to auto notify or not
* @return $this
*/
public function setAutoNotify($autoNotify)
{
@@ -334,6 +371,7 @@ class Bugsnag_Client
* each request.
*
* @param Boolean $batchSending whether to batch together errors
* @return $this
*/
public function setBatchSending($batchSending)
{
@@ -347,6 +385,7 @@ class Bugsnag_Client
* set by other notifier libraries.
*
* @param Array $notifier an array of name, version, url.
* @return $this
*/
public function setNotifier($notifier)
{
@@ -359,6 +398,7 @@ class Bugsnag_Client
* Sets whether Bugsnag should send $_ENV with each error.
*
* @param Boolean $sendEnvironment whether to send the environment
* @return $this
*/
public function setSendEnvironment($sendEnvironment)
{
@@ -367,11 +407,38 @@ class Bugsnag_Client
return $this;
}
/**
* Sets whether Bugsnag should send $_COOKIE with each error.
*
* @param Boolean $sendCookies whether to send the environment
* @return $this
*/
public function setSendCookies($sendCookies)
{
$this->config->sendCookies = $sendCookies;
return $this;
}
/**
* Sets whether Bugsnag should send $_SESSION with each error.
*
* @param Boolean $sendSession whether to send the environment
* @return $this
*/
public function setSendSession($sendSession)
{
$this->config->sendSession = $sendSession;
return $this;
}
/**
* Should we send a small snippet of the code that crashed to help you
* diagnose even faster from within your dashboard.
*
* @param Boolean $setSendCode whether to send code to Bugsnag
* @param Boolean $sendCode whether to send code to Bugsnag
* @return $this
*/
public function setSendCode($sendCode)
{
@@ -381,25 +448,27 @@ class Bugsnag_Client
}
/**
* Notify Bugsnag of a non-fatal/handled exception
* Notify Bugsnag of a non-fatal/handled throwable
*
* @param Exception $exception the exception to notify Bugsnag about
* @param Throwable $throwable the throwable to notify Bugsnag about
* @param Array $metaData optional metaData to send with this error
* @param String $severity optional severity of this error (fatal/error/warning/info)
*/
public function notifyException(Exception $exception, array $metaData = null, $severity = null)
public function notifyException($throwable, array $metaData = null, $severity = null)
{
$error = Bugsnag_Error::fromPHPException($this->config, $this->diagnostics, $exception);
$error->setSeverity($severity);
if (is_subclass_of($throwable, 'Throwable') || is_subclass_of($throwable, 'Exception') || get_class($throwable) == 'Exception') {
$error = Bugsnag_Error::fromPHPThrowable($this->config, $this->diagnostics, $throwable);
$error->setSeverity($severity);
$this->notify($error, $metaData);
$this->notify($error, $metaData);
}
}
/**
* Notify Bugsnag of a non-fatal/handled error
*
* @param String $errorName the name of the error, a short (1 word) string
* @param String $errorMessage the error message
* @param String $name the name of the error, a short (1 word) string
* @param String $message the error message
* @param Array $metaData optional metaData to send with this error
* @param String $severity optional severity of this error (fatal/error/warning/info)
*/
@@ -412,13 +481,13 @@ class Bugsnag_Client
}
// Exception handler callback, should only be called internally by PHP's set_exception_handler
public function exceptionHandler($exception)
public function exceptionHandler($throwable)
{
if(!$this->config->autoNotify) {
return;
}
$error = Bugsnag_Error::fromPHPException($this->config, $this->diagnostics, $exception);
$error = Bugsnag_Error::fromPHPThrowable($this->config, $this->diagnostics, $throwable);
$error->setSeverity("error");
$this->notify($error);
}

View File

@@ -18,10 +18,12 @@ class Bugsnag_Configuration
public $proxySettings = array();
public $notifier = array(
'name' => 'Bugsnag PHP (Official)',
'version' => '2.5.5',
'version' => '2.6.0',
'url' => 'https://bugsnag.com',
);
public $sendEnvironment = false;
public $sendCookies = true;
public $sendSession = true;
public $sendCode = true;
public $stripPath;
public $stripPathRegex;
@@ -39,6 +41,8 @@ class Bugsnag_Configuration
public $curlOptions = array();
public $debug = false;
public function __construct()
{
$this->timeout = Bugsnag_Configuration::$DEFAULT_TIMEOUT;
@@ -67,8 +71,6 @@ class Bugsnag_Configuration
} else {
return !(error_reporting() & $code);
}
return false;
}
public function setProjectRoot($projectRoot)

View File

@@ -12,10 +12,12 @@ class Bugsnag_Error
public $payloadVersion = "2";
public $message;
public $severity = "warning";
/** @var Bugsnag_Stacktrace */
public $stacktrace;
public $metaData = array();
public $config;
public $diagnostics;
/** @var Bugsnag_Error|null */
public $previous;
public $groupingHash;
@@ -28,10 +30,10 @@ class Bugsnag_Error
return $error;
}
public static function fromPHPException(Bugsnag_Configuration $config, Bugsnag_Diagnostics $diagnostics, Exception $exception)
public static function fromPHPThrowable(Bugsnag_Configuration $config, Bugsnag_Diagnostics $diagnostics, $throwable)
{
$error = new Bugsnag_Error($config, $diagnostics);
$error->setPHPException($exception);
$error->setPHPException($throwable);
return $error;
}
@@ -74,7 +76,7 @@ class Bugsnag_Error
return $this;
}
public function setStacktrace($stacktrace)
public function setStacktrace(Bugsnag_Stacktrace $stacktrace)
{
$this->stacktrace = $stacktrace;
@@ -141,7 +143,7 @@ class Bugsnag_Error
public function setPrevious($exception)
{
if ($exception) {
$this->previous = Bugsnag_Error::fromPHPException($this->config, $this->diagnostics, $exception);
$this->previous = Bugsnag_Error::fromPHPThrowable($this->config, $this->diagnostics, $exception);
}
return $this;
@@ -181,13 +183,13 @@ class Bugsnag_Error
'stacktrace' => $this->stacktrace->toArray(),
);
return $exceptionArray;
return $this->cleanupObj($exceptionArray);
}
private function cleanupObj($obj)
{
if (is_null($obj)) {
return;
return null;
}
if (is_array($obj)) {

View File

@@ -5,6 +5,7 @@ class Bugsnag_Notification
private static $CONTENT_TYPE_HEADER = 'Content-type: application/json';
private $config;
/** @var Bugsnag_Error[] */
private $errorQueue = array();
public function __construct(Bugsnag_Configuration $config)
@@ -12,7 +13,7 @@ class Bugsnag_Notification
$this->config = $config;
}
public function addError($error, $passedMetaData = array())
public function addError(Bugsnag_Error $error, $passedMetaData = array())
{
// Check if this error should be sent to Bugsnag
if (!$this->config->shouldNotify()) {
@@ -27,6 +28,16 @@ class Bugsnag_Notification
$error->setMetaData(Bugsnag_Request::getRequestMetaData());
}
// Session Tab
if ($this->config->sendSession && !empty($_SESSION)) {
$error->setMetaData(array('session' => $_SESSION));
}
// Cookies Tab
if ($this->config->sendCookies && !empty($_COOKIE)) {
$error->setMetaData(array('cookies' => $_COOKIE));
}
// Add environment meta-data to error
if ($this->config->sendEnvironment && !empty($_ENV)) {
$error->setMetaData(array("Environment" => $_ENV));
@@ -139,6 +150,11 @@ class Bugsnag_Notification
if ($statusCode > 200) {
error_log('Bugsnag Warning: Couldn\'t notify ('.$responseBody.')');
if($this->config->debug) {
error_log('Bugsnag Debug: Attempted to post to URL - "'.$url.'"');
error_log('Bugsnag Debug: Attempted to post payload - "'.$body.'"');
}
}
if (curl_errno($http)) {

View File

@@ -36,16 +36,6 @@ class Bugsnag_Request
$requestData['request']['headers'] = $headers;
}
// Session Tab
if (!empty($_SESSION)) {
$requestData['session'] = $_SESSION;
}
// Cookies Tab
if (!empty($_COOKIE)) {
$requestData['cookies'] = $_COOKIE;
}
return $requestData;
}
@@ -54,7 +44,7 @@ class Bugsnag_Request
if (self::isRequest() && isset($_SERVER['REQUEST_METHOD']) && isset($_SERVER["REQUEST_URI"])) {
return $_SERVER['REQUEST_METHOD'].' '.strtok($_SERVER["REQUEST_URI"], '?');
} else {
return;
return null;
}
}
@@ -63,7 +53,7 @@ class Bugsnag_Request
if (self::isRequest()) {
return self::getRequestIp();
} else {
return;
return null;
}
}

View File

@@ -2,6 +2,11 @@
abstract class Bugsnag_TestCase extends PHPUnit_Framework_TestCase
{
/** @var Bugsnag_Configuration */
protected $config;
/** @var Bugsnag_Diagnostics */
protected $diagnostics;
protected function getError($name = "Name", $message = "Message")
{
return Bugsnag_Error::fromNamedError($this->config, $this->diagnostics, $name, $message);

View File

@@ -2,6 +2,7 @@
class ClientTest extends PHPUnit_Framework_TestCase
{
/** @var PHPUnit_Framework_MockObject_MockObject|Bugsnag_Client */
protected $client;
protected function setUp()
@@ -77,6 +78,6 @@ class ClientTest extends PHPUnit_Framework_TestCase
*/
public function testSetInvalidCurlOptions()
{
$return = $this->client->setCurlOptions("option");
$this->client->setCurlOptions("option");
}
}

View File

@@ -2,6 +2,7 @@
class ConfigurationTest extends PHPUnit_Framework_TestCase
{
/** @var Bugsnag_Configuration */
protected $config;
protected function setUp()

View File

@@ -2,7 +2,10 @@
class DiagnosticsTest extends PHPUnit_Framework_TestCase
{
/** @var Bugsnag_Configuration */
protected $config;
/** @var Bugsnag_Diagnostics */
protected $diagnostics;
protected function setUp()
{

View File

@@ -4,8 +4,11 @@ require_once 'Bugsnag_TestCase.php';
class ErrorTest extends Bugsnag_TestCase
{
/** @var Bugsnag_Configuration */
protected $config;
/** @var Bugsnag_Diagnostics */
protected $diagnostics;
/** @var Bugsnag_Error */
protected $error;
protected function setUp()
@@ -102,7 +105,7 @@ class ErrorTest extends Bugsnag_TestCase
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
$exception = new Exception("secondly", 65533, new Exception("firstly"));
$error = Bugsnag_Error::fromPHPException($this->config, $this->diagnostics, $exception);
$error = Bugsnag_Error::fromPHPThrowable($this->config, $this->diagnostics, $exception);
$errorArray = $error->toArray();

View File

@@ -4,8 +4,11 @@ require_once 'Bugsnag_TestCase.php';
class NotificationTest extends Bugsnag_TestCase
{
/** @var Bugsnag_Configuration */
protected $config;
/** @var Bugsnag_Diagnostics */
protected $diagnostics;
/** @var Bugsnag_Notification|PHPUnit_Framework_MockObject_MockObject */
protected $notification;
protected function setUp()
@@ -64,6 +67,7 @@ class NotificationTest extends Bugsnag_TestCase
->method('shouldNotify')
->will($this->returnValue(false));
/** @var Bugsnag_Notification $notification */
$notification = $this->getMockBuilder('Bugsnag_Notification')
->setMethods(array("postJSON"))
->setConstructorArgs(array($config))
@@ -86,6 +90,7 @@ class NotificationTest extends Bugsnag_TestCase
->method('shouldNotify')
->will($this->returnValue(false));
/** @var Bugsnag_Notification|PHPUnit_Framework_MockObject_MockObject $notification */
$notification = $this->getMockBuilder('Bugsnag_Notification')
->setMethods(array("postJSON"))
->setConstructorArgs(array($config))

View File

@@ -4,7 +4,9 @@ require_once 'Bugsnag_TestCase.php';
class StacktraceTest extends Bugsnag_TestCase
{
/** @var Bugsnag_Configuration */
protected $config;
/** @var Bugsnag_Diagnostics */
protected $diagnostics;
protected function setUp()

View File

@@ -14,11 +14,13 @@ class CollectionEngine extends BaseEngine {
/**
* Constant for OR queries in internal search
*
* @var string
*/
const OR_CONDITION = 'OR';
/**
* Constant for AND queries in internal search
*
* @var string
*/
const AND_CONDITION = 'AND';
@@ -37,9 +39,10 @@ class CollectionEngine extends BaseEngine {
* @var array Different options
*/
private $options = array(
'stripOrder' => false,
'stripSearch' => false,
'caseSensitive' => false,
'sortFlags' => SORT_NATURAL,
'stripOrder' => false,
'stripSearch' => false,
'caseSensitive' => false,
);
/**
@@ -116,6 +119,18 @@ class CollectionEngine extends BaseEngine {
return $this->stripOrder($callback);
}
/**
* Set the sort behaviour of the doInternalOrder() function.
*
* @param int $sort_flags For details see: http://php.net/manual/en/function.sort.php
* @return $this
*/
public function setOrderFlags($sort_flags = SORT_NATURAL)
{
$this->options['sortFlags'] = $sort_flags;
return $this;
}
public function setCaseSensitive($value)
{
$this->options['caseSensitive'] = $value;
@@ -264,7 +279,7 @@ class CollectionEngine extends BaseEngine {
{
return $row[$column];
}
}, SORT_NATURAL);
}, $this->options['sortFlags']);
if($this->orderDirection == BaseEngine::ORDER_DESC)
$this->workingCollection = $this->workingCollection->reverse();

View File

@@ -22,42 +22,6 @@
</tbody>
</table>
<script>
$(function () {
//Enable check and uncheck all functionality
$(".checkbox-toggle").click(function () {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
} else {
//Check all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("check");
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
}
$(this).data("clicks", !clicks);
});
});
$(function() {
// Enable check and uncheck all functionality
$(".checkbox-toggle").click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("uncheck");
} else {
//Check all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("check");
}
$(this).data("clicks", !clicks);
});
});
</script>
<script src="{{asset("lb-faveo/plugins/iCheck/icheck.min.js")}}" type="text/javascript"></script>
@if (!$noScript)
@include(Config::get('chumper.datatable.table.script_view'), array('id' => $id, 'options' => $options))
@endif

5
vendor/chumper/zipper/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
/vendor
composer.phar
composer.lock
.DS_Store
/.idea

Some files were not shown because too many files have changed in this diff Show More