Compare commits
46 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2562eb2aeb | |||
| 85da30894b | |||
| bf344e9322 | |||
| f66e222f3d | |||
| fb180d74a1 | |||
| eaf55f5e79 | |||
| 8edb586576 | |||
| 32b01b8f38 | |||
| 340386f282 | |||
| 6dd4282f1f | |||
| 3f44987799 | |||
| b4fec068d0 | |||
| 512632ce60 | |||
| 58a9b0d3e8 | |||
| fcb1283a14 | |||
| 54671af7f0 | |||
| aedabb0920 | |||
| aaf4acef83 | |||
| 8e73cacf4e | |||
| b4b2daebbd | |||
| 3e2c18cb4d | |||
| c721fdd793 | |||
| d119372ff0 | |||
| c8bed867da | |||
| 3a470ce789 | |||
| f9105719a8 | |||
| d303cbd7cb | |||
| 96c09e7264 | |||
| ef19bc7c16 | |||
| aa8472971d | |||
| 78257d5ca6 | |||
| 655484b1da | |||
| ac8185339d | |||
| a021ce011b | |||
| 3687cbfdb3 | |||
| 594135fd70 | |||
| 2542b9cf59 | |||
| 8a7abba427 | |||
| 3775649c8a | |||
| 9df648b428 | |||
| 11a1efdbbc | |||
| a65c2f305e | |||
| 50777f5c1d | |||
| ff38cdd09b | |||
| 9420913d25 | |||
| 59225701b5 |
+1
-1
@@ -68,7 +68,7 @@ SECURE_COOKIES=false
|
||||
# --------------------------------------------
|
||||
# OPTIONAL: SECURITY HEADER SETTINGS
|
||||
# --------------------------------------------
|
||||
REFERRER_POLICY=strict-origin
|
||||
REFERRER_POLICY=same-origin
|
||||
ENABLE_CSP=false
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ use Illuminate\Auth\AuthenticationException;
|
||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||
use App\Helpers\Helper;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Log;
|
||||
|
||||
class Handler extends ExceptionHandler
|
||||
{
|
||||
@@ -34,7 +35,10 @@ class Handler extends ExceptionHandler
|
||||
*/
|
||||
public function report(Exception $exception)
|
||||
{
|
||||
parent::report($exception);
|
||||
if ($this->shouldReport($exception)) {
|
||||
Log::error($exception);
|
||||
return parent::report($exception);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,6 +7,7 @@ use App\Http\Controllers\Controller;
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Accessory;
|
||||
use App\Http\Transformers\AccessoriesTransformer;
|
||||
use App\Models\Company;
|
||||
|
||||
|
||||
class AccessoriesController extends Controller
|
||||
@@ -128,9 +129,15 @@ class AccessoriesController extends Controller
|
||||
public function checkedout($id)
|
||||
{
|
||||
$this->authorize('view', Accessory::class);
|
||||
$accessory = Accessory::findOrFail($id)->with('users')->first();
|
||||
$total = $accessory->users->count();
|
||||
return (new AccessoriesTransformer)->transformCheckedoutAccessory($accessory, $total);
|
||||
|
||||
$accessory = Accessory::findOrFail($id);
|
||||
if (!Company::isCurrentUserHasAccess($accessory)) {
|
||||
return ['total' => 0, 'rows' => []];
|
||||
}
|
||||
$accessory_users = $accessory->users;
|
||||
$total = $accessory_users->count();
|
||||
|
||||
return (new AccessoriesTransformer)->transformCheckedoutAccessory($accessory_users, $total);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ class AssetModelsController extends Controller
|
||||
$this->authorize('view', AssetModel::class);
|
||||
$allowed_columns = ['id','image','name','model_number','eol','notes','created_at','manufacturer'];
|
||||
|
||||
$assetmodels = AssetModel::select(['models.id','models.image','models.name','model_number','eol','models.notes','models.created_at','category_id','manufacturer_id','depreciation_id','fieldset_id'])
|
||||
$assetmodels = AssetModel::select(['models.id','models.image','models.name','model_number','eol','models.notes','models.created_at','category_id','manufacturer_id','depreciation_id','fieldset_id', 'models.deleted_at'])
|
||||
->with('category','depreciation', 'manufacturer','fieldset')
|
||||
->withCount('assets');
|
||||
|
||||
@@ -39,6 +39,10 @@ class AssetModelsController extends Controller
|
||||
$assetmodels->TextSearch($request->input('search'));
|
||||
}
|
||||
|
||||
if ($request->has('status')) {
|
||||
$assetmodels->onlyTrashed();
|
||||
}
|
||||
|
||||
|
||||
$offset = $request->input('offset', 0);
|
||||
$limit = $request->input('limit', 50);
|
||||
|
||||
@@ -47,6 +47,7 @@ class LoginController extends Controller
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest', ['except' => ['logout','postTwoFactorAuth','getTwoFactorAuth','getTwoFactorEnroll']]);
|
||||
\Session::put('backUrl', \URL::previous());
|
||||
}
|
||||
|
||||
|
||||
@@ -320,4 +321,9 @@ class LoginController extends Controller
|
||||
return redirect()->route('login');
|
||||
}
|
||||
|
||||
public function redirectTo()
|
||||
{
|
||||
return Session::get('backUrl') ? Session::get('backUrl') : $this->redirectTo;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ use Illuminate\Support\Facades\View;
|
||||
use Input;
|
||||
use League\Csv\Reader;
|
||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
/**
|
||||
* This controller handles all actions related to Reports for
|
||||
@@ -102,18 +103,45 @@ class ReportsController extends Controller
|
||||
* @since [v1.0]
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function exportAssetReport()
|
||||
public function exportAssetReport(Request $request)
|
||||
{
|
||||
|
||||
\Debugbar::disable();
|
||||
|
||||
$customfields = CustomField::get();
|
||||
|
||||
$response = new StreamedResponse(function () use ($customfields) {
|
||||
$response = new StreamedResponse(function () use ($customfields, $request) {
|
||||
// Open output stream
|
||||
$handle = fopen('php://output', 'w');
|
||||
|
||||
Asset::with('assignedTo', 'assetLoc','defaultLoc','assignedTo','model','supplier','assetstatus','model.manufacturer')->orderBy('created_at', 'DESC')->chunk(500, function($assets) use($handle, $customfields) {
|
||||
$assets = Asset::with('assignedTo', 'assetLoc','defaultLoc','assignedTo','model','supplier','assetstatus','model.manufacturer');
|
||||
|
||||
// This is used by the sidenav, mostly
|
||||
switch ($request->input('status')) {
|
||||
case 'Deleted':
|
||||
$assets->withTrashed()->Deleted();
|
||||
break;
|
||||
case 'Pending':
|
||||
$assets->Pending();
|
||||
break;
|
||||
case 'RTD':
|
||||
$assets->RTD();
|
||||
break;
|
||||
case 'Undeployable':
|
||||
$assets->Undeployable();
|
||||
break;
|
||||
case 'Archived':
|
||||
$assets->Archived();
|
||||
break;
|
||||
case 'Requestable':
|
||||
$assets->RequestableAssets();
|
||||
break;
|
||||
case 'Deployed':
|
||||
$assets->Deployed();
|
||||
break;
|
||||
}
|
||||
|
||||
$assets->orderBy('created_at', 'DESC')->chunk(500, function($assets) use($handle, $customfields) {
|
||||
$headers=[
|
||||
trans('general.company'),
|
||||
trans('admin/hardware/table.asset_tag'),
|
||||
@@ -126,7 +154,7 @@ class ReportsController extends Controller
|
||||
trans('admin/hardware/table.purchase_date'),
|
||||
trans('admin/hardware/table.purchase_cost'),
|
||||
trans('admin/hardware/form.order'),
|
||||
trans('admin/hardware/form.supplier'),
|
||||
trans('general.supplier'),
|
||||
trans('admin/hardware/table.checkoutto'),
|
||||
trans('admin/hardware/table.checkout_date'),
|
||||
trans('admin/hardware/table.location'),
|
||||
@@ -154,7 +182,7 @@ class ReportsController extends Controller
|
||||
($asset->supplier) ? e($asset->supplier->name) : '',
|
||||
($asset->assignedTo) ? e($asset->assignedTo->present()->name()) : '',
|
||||
($asset->last_checkout!='') ? e($asset->last_checkout) : '',
|
||||
e($asset->assetLoc->present()->name()),
|
||||
($asset->assetLoc) ? e($asset->assetLoc->present()->name()) : '',
|
||||
($asset->notes) ? e($asset->notes) : '',
|
||||
];
|
||||
foreach ($customfields as $field) {
|
||||
@@ -168,7 +196,8 @@ class ReportsController extends Controller
|
||||
fclose($handle);
|
||||
}, 200, [
|
||||
'Content-Type' => 'text/csv',
|
||||
'Content-Disposition' => 'attachment; filename="assets-'.date('Y-m-d-his').'.csv"',
|
||||
'Content-Disposition'
|
||||
=> 'attachment; filename="'.(($request->has('status')) ? trim($request->input('status')) : 'all').'-assets-'.date('Y-m-d-his').'.csv"',
|
||||
]);
|
||||
|
||||
return $response;
|
||||
@@ -543,8 +572,8 @@ class ReportsController extends Controller
|
||||
|
||||
|
||||
if (e(Input::get('assigned_to')) == '1') {
|
||||
if ($asset->assignedTo) {
|
||||
$row[] = '"' .e($asset->assignedTo->present()->name()). '"';
|
||||
if ($asset->assignedto) {
|
||||
$row[] = '"' .e($asset->assignedto->present()->name()). '"';
|
||||
} else {
|
||||
$row[] = ''; // Empty string if unassigned
|
||||
}
|
||||
@@ -553,7 +582,7 @@ class ReportsController extends Controller
|
||||
if (e(Input::get('username')) == '1') {
|
||||
// Only works if we're checked out to a user, not anything else.
|
||||
if ($asset->checkedOutToUser()) {
|
||||
$row[] = '"' .e($asset->assignedTo->username). '"';
|
||||
$row[] = '"' .e($asset->assignedto->username). '"';
|
||||
} else {
|
||||
$row[] = ''; // Empty string if unassigned
|
||||
}
|
||||
@@ -562,7 +591,7 @@ class ReportsController extends Controller
|
||||
if (e(Input::get('employee_num')) == '1') {
|
||||
// Only works if we're checked out to a user, not anything else.
|
||||
if ($asset->checkedOutToUser()) {
|
||||
$row[] = '"' .e($asset->assignedTo->employee_num). '"';
|
||||
$row[] = '"' .e($asset->assignedto->employee_num). '"';
|
||||
} else {
|
||||
$row[] = ''; // Empty string if unassigned
|
||||
}
|
||||
|
||||
@@ -414,7 +414,7 @@ class SettingsController extends Controller
|
||||
$file_name = "logo.".$image->getClientOriginalExtension();
|
||||
$path = public_path('uploads');
|
||||
if ($image->getClientOriginalExtension()!='svg') {
|
||||
Image::make($image->getRealPath())->resize(null, 40, function ($constraint) {
|
||||
Image::make($image->getRealPath())->resize(null, 150, function ($constraint) {
|
||||
$constraint->aspectRatio();
|
||||
$constraint->upsize();
|
||||
})->save($path.'/'.$file_name);
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ class Kernel extends HttpKernel
|
||||
\App\Http\Middleware\CheckForSetup::class,
|
||||
\Fideloper\Proxy\TrustProxies::class,
|
||||
\App\Http\Middleware\CheckForDebug::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
// \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -59,14 +59,12 @@ class AccessoriesTransformer
|
||||
}
|
||||
|
||||
|
||||
public function transformCheckedoutAccessory (Accessory $accessory, $total)
|
||||
public function transformCheckedoutAccessory ($accessory_users, $total)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
$array = array();
|
||||
foreach ($accessory->users as $user) {
|
||||
foreach ($accessory_users as $user) {
|
||||
$array[] = [
|
||||
'assigned_pivot_id' => $user->pivot->id,
|
||||
'id' => (int) $user->id,
|
||||
|
||||
@@ -47,13 +47,15 @@ class AssetModelsTransformer
|
||||
'notes' => e($assetmodel->notes),
|
||||
'created_at' => Helper::getFormattedDateObject($assetmodel->created_at, 'datetime'),
|
||||
'updated_at' => Helper::getFormattedDateObject($assetmodel->updated_at, 'datetime'),
|
||||
'deleted_at' => Helper::getFormattedDateObject($assetmodel->deleted_at, 'datetime'),
|
||||
|
||||
];
|
||||
|
||||
$permissions_array['available_actions'] = [
|
||||
'update' => Gate::allows('update', AssetModel::class) ? true : false,
|
||||
'delete' => Gate::allows('delete', AssetModel::class) ? true : false,
|
||||
'clone' => Gate::allows('create', AssetModel::class) ? true : false,
|
||||
'update' => (Gate::allows('update', AssetModel::class) && ($assetmodel->deleted_at=='')) ? true : false,
|
||||
'delete' => (Gate::allows('delete', AssetModel::class) && ($assetmodel->deleted_at=='')) ? true : false,
|
||||
'clone' => (Gate::allows('create', AssetModel::class) && ($assetmodel->deleted_at=='')) ,
|
||||
'restore' => (Gate::allows('create', AssetModel::class) && ($assetmodel->deleted_at!='')) ? true : false,
|
||||
];
|
||||
|
||||
$array += $permissions_array;
|
||||
|
||||
@@ -33,10 +33,12 @@ class LicenseImporter extends ItemImporter
|
||||
public function createLicenseIfNotExists(array $row)
|
||||
{
|
||||
$editingLicense = false;
|
||||
$license = License::where('name', $this->item['name'])->first();
|
||||
$license = License::where('name', $this->item['name'])
|
||||
->where('serial', $this->item['serial'])
|
||||
->first();
|
||||
if ($license) {
|
||||
if (!$this->updating) {
|
||||
$this->log('A matching License ' . $this->item['name'] . ' already exists');
|
||||
$this->log('A matching License ' . $this->item['name'] . 'with serial ' . $this->item['serial'] . ' already exists');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -105,6 +105,10 @@ class AppServiceProvider extends ServiceProvider
|
||||
}
|
||||
}
|
||||
|
||||
if (($this->app->environment('production')) && (config('services.rollbar.access_token'))){
|
||||
$this->app->register(\Jenssegers\Rollbar\RollbarServiceProvider::class);
|
||||
}
|
||||
|
||||
foreach ($monolog->getHandlers() as $handler) {
|
||||
$handler->setLevel($log_level);
|
||||
}
|
||||
|
||||
+4
-3
@@ -17,6 +17,7 @@
|
||||
"fideloper/proxy": "^3.1",
|
||||
"intervention/image": "^2.3",
|
||||
"javiereguiluz/easyslugger": "^1.0",
|
||||
"jenssegers/rollbar": "^1.5",
|
||||
"laravel/framework": "5.4.*",
|
||||
"laravel/passport": "^1.0",
|
||||
"laravel/tinker": "^1.0",
|
||||
@@ -25,15 +26,15 @@
|
||||
"maknz/slack": "^1.7",
|
||||
"neitanod/forceutf8": "^2.0",
|
||||
"patchwork/utf8": "~1.2",
|
||||
"phpdocumentor/reflection-docblock": "3.2.2",
|
||||
"phpspec/prophecy": "1.6.2",
|
||||
"pragmarx/google2fa": "^1.0",
|
||||
"schuppo/password-strength": "~1.5",
|
||||
"spatie/laravel-backup": "^3.0.0",
|
||||
"tecnickcom/tc-lib-barcode": "^1.15",
|
||||
"tightenco/ziggy": "^0.4.1",
|
||||
"unicodeveloper/laravel-password": "^1.0",
|
||||
"watson/validating": "^3.0",
|
||||
"phpspec/prophecy": "1.6.2",
|
||||
"phpdocumentor/reflection-docblock": "3.2.2"
|
||||
"watson/validating": "^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"fzaninotto/faker": "~1.4",
|
||||
|
||||
Generated
+211
-110
@@ -4,8 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "d6e398cc0184b0ebae5e13af04f982f3",
|
||||
"content-hash": "18a401fccef632f92ab5bf389a701648",
|
||||
"content-hash": "0806112cf7a9396f0a7d89649ea7060b",
|
||||
"packages": [
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
@@ -85,7 +84,7 @@
|
||||
"s3",
|
||||
"sdk"
|
||||
],
|
||||
"time": "2017-09-29 19:46:41"
|
||||
"time": "2017-09-29T19:46:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "aws/aws-sdk-php-laravel",
|
||||
@@ -141,7 +140,7 @@
|
||||
"s3",
|
||||
"sdk"
|
||||
],
|
||||
"time": "2016-01-18 06:57:07"
|
||||
"time": "2016-01-18T06:57:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "barryvdh/laravel-debugbar",
|
||||
@@ -190,7 +189,7 @@
|
||||
"profiler",
|
||||
"webprofiler"
|
||||
],
|
||||
"time": "2017-07-21 11:56:48"
|
||||
"time": "2017-07-21T11:56:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "christian-riesen/base32",
|
||||
@@ -244,7 +243,7 @@
|
||||
"encode",
|
||||
"rfc4648"
|
||||
],
|
||||
"time": "2016-05-05 11:49:03"
|
||||
"time": "2016-05-05T11:49:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "defuse/php-encryption",
|
||||
@@ -307,7 +306,7 @@
|
||||
"security",
|
||||
"symmetric key cryptography"
|
||||
],
|
||||
"time": "2017-05-18 21:28:48"
|
||||
"time": "2017-05-18T21:28:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dnoegel/php-xdg-base-dir",
|
||||
@@ -340,7 +339,7 @@
|
||||
"MIT"
|
||||
],
|
||||
"description": "implementation of xdg base directory specification for php",
|
||||
"time": "2014-10-24 07:27:01"
|
||||
"time": "2014-10-24T07:27:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
@@ -408,7 +407,7 @@
|
||||
"docblock",
|
||||
"parser"
|
||||
],
|
||||
"time": "2017-02-24 16:22:25"
|
||||
"time": "2017-02-24T16:22:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/cache",
|
||||
@@ -478,7 +477,7 @@
|
||||
"cache",
|
||||
"caching"
|
||||
],
|
||||
"time": "2017-07-22 12:49:21"
|
||||
"time": "2017-07-22T12:49:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/collections",
|
||||
@@ -545,7 +544,7 @@
|
||||
"collections",
|
||||
"iterator"
|
||||
],
|
||||
"time": "2017-01-03 10:49:41"
|
||||
"time": "2017-01-03T10:49:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/common",
|
||||
@@ -618,7 +617,7 @@
|
||||
"persistence",
|
||||
"spl"
|
||||
],
|
||||
"time": "2017-07-22 08:35:12"
|
||||
"time": "2017-07-22T08:35:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/dbal",
|
||||
@@ -689,7 +688,7 @@
|
||||
"persistence",
|
||||
"queryobject"
|
||||
],
|
||||
"time": "2017-07-22 20:44:48"
|
||||
"time": "2017-07-22T20:44:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/inflector",
|
||||
@@ -756,7 +755,7 @@
|
||||
"singularize",
|
||||
"string"
|
||||
],
|
||||
"time": "2015-11-06 14:35:42"
|
||||
"time": "2015-11-06T14:35:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
@@ -810,7 +809,7 @@
|
||||
"constructor",
|
||||
"instantiate"
|
||||
],
|
||||
"time": "2015-06-14 21:17:01"
|
||||
"time": "2015-06-14T21:17:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/lexer",
|
||||
@@ -864,7 +863,7 @@
|
||||
"lexer",
|
||||
"parser"
|
||||
],
|
||||
"time": "2014-09-09 13:34:57"
|
||||
"time": "2014-09-09T13:34:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "erusev/parsedown",
|
||||
@@ -906,7 +905,7 @@
|
||||
"markdown",
|
||||
"parser"
|
||||
],
|
||||
"time": "2017-05-14 14:47:48"
|
||||
"time": "2017-05-14T14:47:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fideloper/proxy",
|
||||
@@ -963,7 +962,7 @@
|
||||
"proxy",
|
||||
"trusted proxy"
|
||||
],
|
||||
"time": "2017-06-15 17:19:42"
|
||||
"time": "2017-06-15T17:19:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "firebase/php-jwt",
|
||||
@@ -1006,7 +1005,7 @@
|
||||
],
|
||||
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
|
||||
"homepage": "https://github.com/firebase/php-jwt",
|
||||
"time": "2016-07-18 04:51:16"
|
||||
"time": "2016-07-18T04:51:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
@@ -1071,7 +1070,7 @@
|
||||
"rest",
|
||||
"web service"
|
||||
],
|
||||
"time": "2017-06-22 18:50:49"
|
||||
"time": "2017-06-22T18:50:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
@@ -1122,7 +1121,7 @@
|
||||
"keywords": [
|
||||
"promise"
|
||||
],
|
||||
"time": "2016-12-20 10:07:11"
|
||||
"time": "2016-12-20T10:07:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
@@ -1187,7 +1186,7 @@
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2017-03-20 17:10:46"
|
||||
"time": "2017-03-20T17:10:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "intervention/image",
|
||||
@@ -1257,7 +1256,7 @@
|
||||
"thumbnail",
|
||||
"watermark"
|
||||
],
|
||||
"time": "2017-09-21 16:29:17"
|
||||
"time": "2017-09-21T16:29:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "jakub-onderka/php-console-color",
|
||||
@@ -1300,7 +1299,7 @@
|
||||
"homepage": "http://www.acci.cz"
|
||||
}
|
||||
],
|
||||
"time": "2014-04-08 15:00:19"
|
||||
"time": "2014-04-08T15:00:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "jakub-onderka/php-console-highlighter",
|
||||
@@ -1344,7 +1343,7 @@
|
||||
"homepage": "http://www.acci.cz/"
|
||||
}
|
||||
],
|
||||
"time": "2015-04-20 18:58:01"
|
||||
"time": "2015-04-20T18:58:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "javiereguiluz/easyslugger",
|
||||
@@ -1374,7 +1373,59 @@
|
||||
"MIT"
|
||||
],
|
||||
"description": "A fast and easy to use slugger with full UTF-8 support.",
|
||||
"time": "2015-04-12 19:57:10"
|
||||
"time": "2015-04-12T19:57:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "jenssegers/rollbar",
|
||||
"version": "v1.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/jenssegers/laravel-rollbar.git",
|
||||
"reference": "d61d6797884df95f6928dee1e23d886ac7086265"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/jenssegers/laravel-rollbar/zipball/d61d6797884df95f6928dee1e23d886ac7086265",
|
||||
"reference": "d61d6797884df95f6928dee1e23d886ac7086265",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/support": "^4.0|^5.0",
|
||||
"php": ">=5.4",
|
||||
"rollbar/rollbar": "~0.15"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^0.9",
|
||||
"orchestra/testbench": "^3.0",
|
||||
"phpunit/phpunit": "~4.0|~5.0",
|
||||
"satooshi/php-coveralls": "^1.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Jenssegers\\Rollbar\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jens Segers",
|
||||
"homepage": "https://jenssegers.com"
|
||||
}
|
||||
],
|
||||
"description": "Rollbar error monitoring integration for Laravel projects",
|
||||
"homepage": "https://github.com/jenssegers/laravel-rollbar",
|
||||
"keywords": [
|
||||
"error",
|
||||
"laravel",
|
||||
"logging",
|
||||
"monitoring",
|
||||
"rollbar"
|
||||
],
|
||||
"time": "2017-01-25T08:34:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
@@ -1503,7 +1554,7 @@
|
||||
"framework",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2017-08-30 09:26:16"
|
||||
"time": "2017-08-30T09:26:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/passport",
|
||||
@@ -1567,7 +1618,7 @@
|
||||
"oauth",
|
||||
"passport"
|
||||
],
|
||||
"time": "2017-07-12 20:03:53"
|
||||
"time": "2017-07-12T20:03:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/tinker",
|
||||
@@ -1630,7 +1681,7 @@
|
||||
"laravel",
|
||||
"psysh"
|
||||
],
|
||||
"time": "2017-07-13 13:11:05"
|
||||
"time": "2017-07-13T13:11:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravelcollective/html",
|
||||
@@ -1684,7 +1735,7 @@
|
||||
],
|
||||
"description": "HTML and Form Builders for the Laravel Framework",
|
||||
"homepage": "http://laravelcollective.com",
|
||||
"time": "2017-08-12 15:52:38"
|
||||
"time": "2017-08-12T15:52:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "lcobucci/jwt",
|
||||
@@ -1742,7 +1793,7 @@
|
||||
"JWS",
|
||||
"jwt"
|
||||
],
|
||||
"time": "2017-09-01 08:23:26"
|
||||
"time": "2017-09-01T08:23:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/csv",
|
||||
@@ -1799,7 +1850,7 @@
|
||||
"read",
|
||||
"write"
|
||||
],
|
||||
"time": "2017-07-12 07:18:20"
|
||||
"time": "2017-07-12T07:18:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/event",
|
||||
@@ -1849,7 +1900,7 @@
|
||||
"event",
|
||||
"listener"
|
||||
],
|
||||
"time": "2015-05-21 12:24:47"
|
||||
"time": "2015-05-21T12:24:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/flysystem",
|
||||
@@ -1932,7 +1983,7 @@
|
||||
"sftp",
|
||||
"storage"
|
||||
],
|
||||
"time": "2017-08-06 17:41:04"
|
||||
"time": "2017-08-06T17:41:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/oauth2-server",
|
||||
@@ -2009,7 +2060,7 @@
|
||||
"secure",
|
||||
"server"
|
||||
],
|
||||
"time": "2017-07-11 06:31:36"
|
||||
"time": "2017-07-11T06:31:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maknz/slack",
|
||||
@@ -2058,7 +2109,7 @@
|
||||
"laravel",
|
||||
"slack"
|
||||
],
|
||||
"time": "2015-06-03 03:35:16"
|
||||
"time": "2015-06-03T03:35:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maximebf/debugbar",
|
||||
@@ -2119,7 +2170,7 @@
|
||||
"debug",
|
||||
"debugbar"
|
||||
],
|
||||
"time": "2017-01-05 08:46:19"
|
||||
"time": "2017-01-05T08:46:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
@@ -2197,7 +2248,7 @@
|
||||
"logging",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2017-06-19 01:22:40"
|
||||
"time": "2017-06-19T01:22:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mtdowling/cron-expression",
|
||||
@@ -2241,7 +2292,7 @@
|
||||
"cron",
|
||||
"schedule"
|
||||
],
|
||||
"time": "2017-01-23 04:29:33"
|
||||
"time": "2017-01-23T04:29:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mtdowling/jmespath.php",
|
||||
@@ -2296,7 +2347,7 @@
|
||||
"json",
|
||||
"jsonpath"
|
||||
],
|
||||
"time": "2016-12-03 22:08:25"
|
||||
"time": "2016-12-03T22:08:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "neitanod/forceutf8",
|
||||
@@ -2330,7 +2381,7 @@
|
||||
],
|
||||
"description": "PHP Class Encoding featuring popular Encoding::toUTF8() function --formerly known as forceUTF8()-- that fixes mixed encoded strings.",
|
||||
"homepage": "https://github.com/neitanod/forceutf8",
|
||||
"time": "2017-05-22 18:50:57"
|
||||
"time": "2017-05-22T18:50:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
@@ -2383,7 +2434,7 @@
|
||||
"datetime",
|
||||
"time"
|
||||
],
|
||||
"time": "2017-01-16 07:55:07"
|
||||
"time": "2017-01-16T07:55:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
@@ -2434,7 +2485,7 @@
|
||||
"parser",
|
||||
"php"
|
||||
],
|
||||
"time": "2017-09-02 17:10:46"
|
||||
"time": "2017-09-02T17:10:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/random_compat",
|
||||
@@ -2482,7 +2533,7 @@
|
||||
"pseudorandom",
|
||||
"random"
|
||||
],
|
||||
"time": "2017-09-27 21:40:39"
|
||||
"time": "2017-09-27T21:40:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "patchwork/utf8",
|
||||
@@ -2541,7 +2592,7 @@
|
||||
"utf-8",
|
||||
"utf8"
|
||||
],
|
||||
"time": "2016-05-18 13:57:10"
|
||||
"time": "2016-05-18T13:57:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
@@ -2595,7 +2646,7 @@
|
||||
"reflection",
|
||||
"static analysis"
|
||||
],
|
||||
"time": "2017-09-11 18:02:19"
|
||||
"time": "2017-09-11T18:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-docblock",
|
||||
@@ -2640,7 +2691,7 @@
|
||||
}
|
||||
],
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"time": "2017-08-08 06:39:58"
|
||||
"time": "2017-08-08T06:39:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
@@ -2687,7 +2738,7 @@
|
||||
"email": "me@mikevanriel.com"
|
||||
}
|
||||
],
|
||||
"time": "2017-06-03 08:32:36"
|
||||
"time": "2017-06-03T08:32:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpseclib/phpseclib",
|
||||
@@ -2779,7 +2830,7 @@
|
||||
"x.509",
|
||||
"x509"
|
||||
],
|
||||
"time": "2017-06-05 06:31:10"
|
||||
"time": "2017-06-05T06:31:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpspec/prophecy",
|
||||
@@ -2842,7 +2893,7 @@
|
||||
"spy",
|
||||
"stub"
|
||||
],
|
||||
"time": "2016-11-21 14:58:47"
|
||||
"time": "2016-11-21T14:58:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pragmarx/google2fa",
|
||||
@@ -2903,7 +2954,7 @@
|
||||
"google2fa",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2016-07-18 20:25:04"
|
||||
"time": "2016-07-18T20:25:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
@@ -2953,7 +3004,7 @@
|
||||
"request",
|
||||
"response"
|
||||
],
|
||||
"time": "2016-08-06 14:39:51"
|
||||
"time": "2016-08-06T14:39:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
@@ -3000,7 +3051,7 @@
|
||||
"psr",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2016-10-10 12:19:37"
|
||||
"time": "2016-10-10T12:19:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psy/psysh",
|
||||
@@ -3073,7 +3124,7 @@
|
||||
"interactive",
|
||||
"shell"
|
||||
],
|
||||
"time": "2017-07-29 19:30:02"
|
||||
"time": "2017-07-29T19:30:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ramsey/uuid",
|
||||
@@ -3155,7 +3206,57 @@
|
||||
"identifier",
|
||||
"uuid"
|
||||
],
|
||||
"time": "2017-09-22 20:46:04"
|
||||
"time": "2017-09-22T20:46:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "rollbar/rollbar",
|
||||
"version": "v0.18.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/rollbar/rollbar-php.git",
|
||||
"reference": "fafe13f8beb669d6bba0137f3703fa808d50cbb7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/rollbar/rollbar-php/zipball/fafe13f8beb669d6bba0137f3703fa808d50cbb7",
|
||||
"reference": "fafe13f8beb669d6bba0137f3703fa808d50cbb7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-curl": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "0.9.*",
|
||||
"phpunit/phpunit": "4.5.*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/Level.php",
|
||||
"src/rollbar.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Rollbar, Inc.",
|
||||
"email": "support@rollbar.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Monitors errors and exceptions and reports them to Rollbar",
|
||||
"homepage": "http://github.com/rollbar/rollbar-php",
|
||||
"keywords": [
|
||||
"debugging",
|
||||
"errors",
|
||||
"exceptions",
|
||||
"logging",
|
||||
"monitoring"
|
||||
],
|
||||
"time": "2016-07-05T15:50:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "schuppo/password-strength",
|
||||
@@ -3205,7 +3306,7 @@
|
||||
"password strength",
|
||||
"validation"
|
||||
],
|
||||
"time": "2016-10-05 09:57:59"
|
||||
"time": "2016-10-05T09:57:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/comparator",
|
||||
@@ -3269,7 +3370,7 @@
|
||||
"compare",
|
||||
"equality"
|
||||
],
|
||||
"time": "2017-01-29 09:50:25"
|
||||
"time": "2017-01-29T09:50:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
@@ -3321,7 +3422,7 @@
|
||||
"keywords": [
|
||||
"diff"
|
||||
],
|
||||
"time": "2017-05-22 07:24:03"
|
||||
"time": "2017-05-22T07:24:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/exporter",
|
||||
@@ -3388,7 +3489,7 @@
|
||||
"export",
|
||||
"exporter"
|
||||
],
|
||||
"time": "2016-11-19 08:54:04"
|
||||
"time": "2016-11-19T08:54:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/recursion-context",
|
||||
@@ -3441,7 +3542,7 @@
|
||||
],
|
||||
"description": "Provides functionality to recursively process PHP variables",
|
||||
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
||||
"time": "2016-11-19 07:33:16"
|
||||
"time": "2016-11-19T07:33:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/db-dumper",
|
||||
@@ -3491,7 +3592,7 @@
|
||||
"mysqldump",
|
||||
"spatie"
|
||||
],
|
||||
"time": "2016-06-14 13:23:01"
|
||||
"time": "2016-06-14T13:23:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-backup",
|
||||
@@ -3554,7 +3655,7 @@
|
||||
"laravel-backup",
|
||||
"spatie"
|
||||
],
|
||||
"time": "2017-02-18 09:54:12"
|
||||
"time": "2017-02-18T09:54:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "swiftmailer/swiftmailer",
|
||||
@@ -3608,7 +3709,7 @@
|
||||
"mail",
|
||||
"mailer"
|
||||
],
|
||||
"time": "2017-05-01 15:54:03"
|
||||
"time": "2017-05-01T15:54:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
@@ -3676,7 +3777,7 @@
|
||||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-09-06 16:40:18"
|
||||
"time": "2017-09-06T16:40:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
@@ -3729,7 +3830,7 @@
|
||||
],
|
||||
"description": "Symfony CssSelector Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-01-02 20:31:54"
|
||||
"time": "2017-01-02T20:31:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
@@ -3785,7 +3886,7 @@
|
||||
],
|
||||
"description": "Symfony Debug Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-09-01 13:23:39"
|
||||
"time": "2017-09-01T13:23:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
@@ -3848,7 +3949,7 @@
|
||||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-07-29 21:54:42"
|
||||
"time": "2017-07-29T21:54:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
@@ -3897,7 +3998,7 @@
|
||||
],
|
||||
"description": "Symfony Finder Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-07-29 21:54:42"
|
||||
"time": "2017-07-29T21:54:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
@@ -3950,7 +4051,7 @@
|
||||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-09-06 17:07:39"
|
||||
"time": "2017-09-06T17:07:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
@@ -4036,7 +4137,7 @@
|
||||
],
|
||||
"description": "Symfony HttpKernel Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-09-11 16:13:23"
|
||||
"time": "2017-09-11T16:13:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
@@ -4095,7 +4196,7 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2017-06-14 15:44:48"
|
||||
"time": "2017-06-14T15:44:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php56",
|
||||
@@ -4151,7 +4252,7 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2017-06-14 15:44:48"
|
||||
"time": "2017-06-14T15:44:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-util",
|
||||
@@ -4203,7 +4304,7 @@
|
||||
"polyfill",
|
||||
"shim"
|
||||
],
|
||||
"time": "2017-07-05 15:09:33"
|
||||
"time": "2017-07-05T15:09:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
@@ -4252,7 +4353,7 @@
|
||||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-07-29 21:54:42"
|
||||
"time": "2017-07-29T21:54:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/psr-http-message-bridge",
|
||||
@@ -4312,7 +4413,7 @@
|
||||
"http-message",
|
||||
"psr-7"
|
||||
],
|
||||
"time": "2016-09-14 18:37:20"
|
||||
"time": "2016-09-14T18:37:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
@@ -4390,7 +4491,7 @@
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2017-07-29 21:54:42"
|
||||
"time": "2017-07-29T21:54:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
@@ -4455,7 +4556,7 @@
|
||||
],
|
||||
"description": "Symfony Translation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-07-29 21:54:42"
|
||||
"time": "2017-07-29T21:54:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
@@ -4523,7 +4624,7 @@
|
||||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2017-08-27 14:52:21"
|
||||
"time": "2017-08-27T14:52:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tecnickcom/tc-lib-barcode",
|
||||
@@ -4613,7 +4714,7 @@
|
||||
"tc-lib-barcode",
|
||||
"upc"
|
||||
],
|
||||
"time": "2017-02-12 13:51:39"
|
||||
"time": "2017-02-12T13:51:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tecnickcom/tc-lib-color",
|
||||
@@ -4676,7 +4777,7 @@
|
||||
"tc-lib-color",
|
||||
"web"
|
||||
],
|
||||
"time": "2017-02-12 12:07:38"
|
||||
"time": "2017-02-12T12:07:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tightenco/ziggy",
|
||||
@@ -4726,7 +4827,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Generates a Blade directive exporting all of your named Laravel routes. Also provides a nice route() helper function in JavaScript.",
|
||||
"time": "2017-08-23 11:48:08"
|
||||
"time": "2017-08-23T11:48:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
@@ -4773,7 +4874,7 @@
|
||||
],
|
||||
"description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
|
||||
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
|
||||
"time": "2016-09-20 12:50:39"
|
||||
"time": "2016-09-20T12:50:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "unicodeveloper/laravel-password",
|
||||
@@ -4828,7 +4929,7 @@
|
||||
"security",
|
||||
"unicodeveloper"
|
||||
],
|
||||
"time": "2017-04-27 07:35:00"
|
||||
"time": "2017-04-27T07:35:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "vlucas/phpdotenv",
|
||||
@@ -4878,7 +4979,7 @@
|
||||
"env",
|
||||
"environment"
|
||||
],
|
||||
"time": "2016-09-01 10:05:43"
|
||||
"time": "2016-09-01T10:05:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "watson/validating",
|
||||
@@ -4928,7 +5029,7 @@
|
||||
"laravel",
|
||||
"validation"
|
||||
],
|
||||
"time": "2017-08-25 02:12:38"
|
||||
"time": "2017-08-25T02:12:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
@@ -4978,7 +5079,7 @@
|
||||
"check",
|
||||
"validate"
|
||||
],
|
||||
"time": "2016-11-23 20:04:58"
|
||||
"time": "2016-11-23T20:04:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "zendframework/zend-diactoros",
|
||||
@@ -5030,7 +5131,7 @@
|
||||
"psr",
|
||||
"psr-7"
|
||||
],
|
||||
"time": "2017-09-13 14:47:08"
|
||||
"time": "2017-09-13T14:47:08+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
@@ -5091,7 +5192,7 @@
|
||||
"gherkin",
|
||||
"parser"
|
||||
],
|
||||
"time": "2016-10-30 11:50:56"
|
||||
"time": "2016-10-30T11:50:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "codeception/codeception",
|
||||
@@ -5185,7 +5286,7 @@
|
||||
"functional testing",
|
||||
"unit testing"
|
||||
],
|
||||
"time": "2017-09-28 23:19:49"
|
||||
"time": "2017-09-28T23:19:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "facebook/webdriver",
|
||||
@@ -5237,7 +5338,7 @@
|
||||
"selenium",
|
||||
"webdriver"
|
||||
],
|
||||
"time": "2017-04-28 14:54:49"
|
||||
"time": "2017-04-28T14:54:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fzaninotto/faker",
|
||||
@@ -5287,7 +5388,7 @@
|
||||
"faker",
|
||||
"fixtures"
|
||||
],
|
||||
"time": "2017-08-15 16:48:10"
|
||||
"time": "2017-08-15T16:48:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
@@ -5329,7 +5430,7 @@
|
||||
"object",
|
||||
"object graph"
|
||||
],
|
||||
"time": "2017-04-12 18:52:22"
|
||||
"time": "2017-04-12T18:52:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
@@ -5392,7 +5493,7 @@
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2017-04-02 07:44:40"
|
||||
"time": "2017-04-02T07:44:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
@@ -5439,7 +5540,7 @@
|
||||
"filesystem",
|
||||
"iterator"
|
||||
],
|
||||
"time": "2016-10-03 07:40:28"
|
||||
"time": "2016-10-03T07:40:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-text-template",
|
||||
@@ -5480,7 +5581,7 @@
|
||||
"keywords": [
|
||||
"template"
|
||||
],
|
||||
"time": "2015-06-21 13:50:34"
|
||||
"time": "2015-06-21T13:50:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-timer",
|
||||
@@ -5529,7 +5630,7 @@
|
||||
"keywords": [
|
||||
"timer"
|
||||
],
|
||||
"time": "2017-02-26 11:10:40"
|
||||
"time": "2017-02-26T11:10:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-token-stream",
|
||||
@@ -5578,7 +5679,7 @@
|
||||
"keywords": [
|
||||
"tokenizer"
|
||||
],
|
||||
"time": "2017-02-27 10:12:30"
|
||||
"time": "2017-02-27T10:12:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
@@ -5660,7 +5761,7 @@
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2017-09-24 07:23:38"
|
||||
"time": "2017-09-24T07:23:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit-mock-objects",
|
||||
@@ -5719,7 +5820,7 @@
|
||||
"mock",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2017-06-30 09:13:00"
|
||||
"time": "2017-06-30T09:13:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/code-unit-reverse-lookup",
|
||||
@@ -5764,7 +5865,7 @@
|
||||
],
|
||||
"description": "Looks up which function or method a line of code belongs to",
|
||||
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
||||
"time": "2017-03-04 06:30:41"
|
||||
"time": "2017-03-04T06:30:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
@@ -5814,7 +5915,7 @@
|
||||
"environment",
|
||||
"hhvm"
|
||||
],
|
||||
"time": "2016-11-26 07:53:53"
|
||||
"time": "2016-11-26T07:53:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/global-state",
|
||||
@@ -5865,7 +5966,7 @@
|
||||
"keywords": [
|
||||
"global state"
|
||||
],
|
||||
"time": "2015-10-12 03:26:01"
|
||||
"time": "2015-10-12T03:26:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/object-enumerator",
|
||||
@@ -5911,7 +6012,7 @@
|
||||
],
|
||||
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
||||
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
||||
"time": "2017-02-18 15:18:39"
|
||||
"time": "2017-02-18T15:18:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/resource-operations",
|
||||
@@ -5953,7 +6054,7 @@
|
||||
],
|
||||
"description": "Provides a list of PHP built-in functions that operate on resources",
|
||||
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
||||
"time": "2015-07-28 20:34:47"
|
||||
"time": "2015-07-28T20:34:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/version",
|
||||
@@ -5996,7 +6097,7 @@
|
||||
],
|
||||
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
||||
"homepage": "https://github.com/sebastianbergmann/version",
|
||||
"time": "2016-10-03 07:35:21"
|
||||
"time": "2016-10-03T07:35:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "squizlabs/php_codesniffer",
|
||||
@@ -6047,7 +6148,7 @@
|
||||
"phpcs",
|
||||
"standards"
|
||||
],
|
||||
"time": "2017-09-19 22:47:14"
|
||||
"time": "2017-09-19T22:47:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "stecman/symfony-console-completion",
|
||||
@@ -6092,7 +6193,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Automatic BASH completion for Symfony Console Component based applications.",
|
||||
"time": "2016-02-24 05:08:54"
|
||||
"time": "2016-02-24T05:08:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/browser-kit",
|
||||
@@ -6149,7 +6250,7 @@
|
||||
],
|
||||
"description": "Symfony BrowserKit Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-07-29 21:54:42"
|
||||
"time": "2017-07-29T21:54:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dom-crawler",
|
||||
@@ -6205,7 +6306,7 @@
|
||||
],
|
||||
"description": "Symfony DomCrawler Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-01-21 17:13:55"
|
||||
"time": "2017-01-21T17:13:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
@@ -6260,7 +6361,7 @@
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2017-07-29 21:54:42"
|
||||
"time": "2017-07-29T21:54:42+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
||||
+1
-1
@@ -167,7 +167,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'referrer_policy' => env('REFERRER_POLICY', 'strict-origin'),
|
||||
'referrer_policy' => env('REFERRER_POLICY', 'same-origin'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
@@ -41,5 +41,10 @@ return [
|
||||
'stripe_id' => env('STUNNING_STRIPE_ID'),
|
||||
],
|
||||
|
||||
'rollbar' => [
|
||||
'access_token' => env('ROLLBAR_TOKEN'),
|
||||
'level' => env('ROLLBAR_LEVEL', 'error'),
|
||||
],
|
||||
|
||||
|
||||
];
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v4.0.7',
|
||||
'build_version' => '89',
|
||||
'hash_version' => 'g7a27fda',
|
||||
'full_hash' => 'v4.0.7-89-g7a27fda',
|
||||
'app_version' => 'v4.0.9',
|
||||
'build_version' => '120',
|
||||
'hash_version' => 'gf66e222',
|
||||
'full_hash' => 'v4.0.9-120-gf66e222',
|
||||
);
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class DropForeignKeys extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
try {
|
||||
Schema::table('accessories', function (Blueprint $table) {
|
||||
$table->dropForeign(['company_id']);
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
//echo $e;
|
||||
}
|
||||
|
||||
try {
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropForeign(['company_id']);
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
//echo $e;
|
||||
}
|
||||
|
||||
try {
|
||||
Schema::table('assets', function (Blueprint $table) {
|
||||
$table->dropForeign(['company_id']);
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
//echo $e;
|
||||
}
|
||||
|
||||
try {
|
||||
Schema::table('components', function (Blueprint $table) {
|
||||
$table->dropForeign(['company_id']);
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
//echo $e;
|
||||
}
|
||||
|
||||
try {
|
||||
Schema::table('consumables', function (Blueprint $table) {
|
||||
$table->dropForeign(['company_id']);
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
//echo $e;
|
||||
}
|
||||
|
||||
try {
|
||||
Schema::table('licenses', function (Blueprint $table) {
|
||||
$table->dropForeign(['company_id']);
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
//echo $e;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,8 @@
|
||||
{{ trans('general.pending') }}
|
||||
@elseif (Input::get('status')=='RTD')
|
||||
{{ trans('general.ready_to_deploy') }}
|
||||
@elseif (Input::get('status')=='Deployed')
|
||||
{{ trans('general.deployed') }}
|
||||
@elseif (Input::get('status')=='Undeployable')
|
||||
{{ trans('general.undeployable') }}
|
||||
@elseif (Input::get('status')=='Deployable')
|
||||
@@ -40,7 +42,7 @@
|
||||
@stop
|
||||
|
||||
@section('header_right')
|
||||
<a href="{{ route('reports/export/assets') }}" style="margin-right: 5px;" class="btn btn-default"><i class="fa fa-download icon-white"></i>
|
||||
<a href="{{ route('reports.export.assets', ['status'=> e(Input::get('status'))]) }}" style="margin-right: 5px;" class="btn btn-default"><i class="fa fa-download icon-white"></i>
|
||||
{{ trans('admin/hardware/table.dl_csv') }}</a>
|
||||
<a href="{{ route('hardware.create') }}" class="btn btn-primary pull-right"></i> {{ trans('general.create') }}</a>
|
||||
@stop
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<link rel="stylesheet" href="{{ url(asset('js/plugins/select2/select2.min.css')) }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ url(mix('css/dist/all.css')) }}">
|
||||
<link rel="shortcut icon" type="image/ico" href="{{ asset('favicon.ico') }}">
|
||||
<link rel="shortcut icon" type="image/ico" href="{{ url(asset('favicon.ico')) }}">
|
||||
|
||||
|
||||
@if (($snipeSettings) && ($snipeSettings->header_color))
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
@if (($snipeSettings) && ($snipeSettings->logo!=''))
|
||||
<center>
|
||||
<img class="logo" style="padding-top: 20px; padding-bottom: 10px;" src="{{ url('/') }}/uploads/{{ $snipeSettings->logo }}">
|
||||
<img style="padding-top: 20px; padding-bottom: 10px; max-width: 150px" src="{{ url('/') }}/uploads/{{ $snipeSettings->logo }}">
|
||||
</center>
|
||||
@endif
|
||||
<!-- Content -->
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
@if ($snipeSettings->brand == '3')
|
||||
<a class="logo navbar-brand no-hover" href="{{ url('/') }}">
|
||||
@if ($snipeSettings->logo!='')
|
||||
<img class="navbar-brand-img" src="{{ url('/') }}/uploads/{{ $snipeSettings->logo }}">
|
||||
<img class="navbar-brand-img" style="max-height: 50px;" src="{{ url('/') }}/uploads/{{ $snipeSettings->logo }}">
|
||||
@endif
|
||||
{{ $snipeSettings->site_name }}
|
||||
</a>
|
||||
|
||||
@@ -2,14 +2,26 @@
|
||||
|
||||
{{-- Page title --}}
|
||||
@section('title')
|
||||
{{ trans('admin/models/table.title') }}
|
||||
|
||||
@if (Input::get('status')=='deleted')
|
||||
{{ trans('admin/models/general.view_deleted') }}
|
||||
{{ trans('admin/models/table.title') }}
|
||||
@else
|
||||
{{ trans('admin/models/general.view_models') }}
|
||||
@endif
|
||||
@parent
|
||||
@stop
|
||||
|
||||
{{-- Page title --}}
|
||||
@section('header_right')
|
||||
<a href="{{ route('models.create') }}" class="btn btn-primary pull-right"></i> {{ trans('general.create') }}</a>
|
||||
<a href="{{ url('hardware/models?status=Deleted') }}" class="btn btn-default pull-right" style="margin-right:5px;"><i class="fa fa-trash"></i> {{ trans('admin/models/general.view_deleted') }}</a>
|
||||
|
||||
@if (Input::get('status')=='deleted')
|
||||
<a class="btn btn-default pull-right" href="{{ route('models.index') }}" style="margin-right: 5px;">{{ trans('admin/models/general.view_models') }}</a>
|
||||
@else
|
||||
<a class="btn btn-default pull-right" href="{{ route('models.index', ['status' => 'deleted']) }}" style="margin-right: 5px;">{{ trans('admin/models/general.view_deleted') }}</a>
|
||||
@endif
|
||||
|
||||
@stop
|
||||
|
||||
|
||||
@@ -28,12 +40,15 @@
|
||||
'id' => 'bulkForm']) }}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@if (Input::get('status')!='deleted')
|
||||
<div id="toolbar">
|
||||
<select name="bulk_actions" class="form-control select2" style="width: 300px;">
|
||||
<option value="edit">Bulk Edit</option>
|
||||
</select>
|
||||
<button class="btn btn-primary" id="bulkEdit" disabled>Go</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
@@ -41,7 +56,7 @@
|
||||
name="models"
|
||||
class="table table-striped snipe-table"
|
||||
id="table"
|
||||
data-url="{{ route('api.models.index') }}"
|
||||
data-url="{{ route('api.models.index', ['status'=> e(Input::get('status'))]) }}"
|
||||
data-cookie="true"
|
||||
data-click-to-select="true"
|
||||
data-cookie-id-table="modelsTable-{{ config('version.hash_version') }}">
|
||||
|
||||
@@ -54,6 +54,7 @@ $('.snipe-table').bootstrapTable({
|
||||
ignoreColumn: ['actions','change','checkbox','checkincheckout','icon'],
|
||||
worksheetName: "Snipe-IT Export",
|
||||
jspdf: {
|
||||
orientation: 'l',
|
||||
autotable: {
|
||||
styles: {
|
||||
rowHeight: 20,
|
||||
|
||||
+2
-2
@@ -306,10 +306,10 @@ Route::group(['middleware' => ['auth']], function () {
|
||||
'reports/export/licenses',
|
||||
[ 'as' => 'reports/export/licenses', 'uses' => 'ReportsController@exportLicenseReport' ]
|
||||
);
|
||||
Route::get('reports/assets', [ 'as' => 'reports/assets', 'uses' => 'ReportsController@getAssetsReport' ]);
|
||||
Route::get('reports/assets', [ 'as' => 'reports/assets', 'uses' => 'ReportsController@getAssetsReport' ]);
|
||||
Route::get(
|
||||
'reports/export/assets',
|
||||
[ 'as' => 'reports/export/assets', 'uses' => 'ReportsController@exportAssetReport' ]
|
||||
[ 'as' => 'reports.export.assets', 'uses' => 'ReportsController@exportAssetReport' ]
|
||||
);
|
||||
Route::get('reports/accessories', [ 'as' => 'reports/accessories', 'uses' => 'ReportsController@getAccessoryReport' ]);
|
||||
Route::get(
|
||||
|
||||
+73
-77
@@ -26,9 +26,7 @@ hostname="$(hostname)"
|
||||
fqdn="$(hostname --fqdn)"
|
||||
ans=default
|
||||
hosts=/etc/hosts
|
||||
file=master.zip
|
||||
tmp=/tmp/$name
|
||||
fileName=snipe-it-master
|
||||
|
||||
spin[0]="-"
|
||||
spin[1]="\\"
|
||||
@@ -40,25 +38,22 @@ mkdir $tmp
|
||||
|
||||
# Debian/Ubuntu friendly f(x)s
|
||||
progress () {
|
||||
while kill -0 "$pid" > /dev/null 2>&1
|
||||
while kill -0 $pid > /dev/null 2>&1
|
||||
do
|
||||
for i in "${spin[@]}"
|
||||
do
|
||||
if [ -e /proc/"$pid" ]; then
|
||||
echo -ne "\b$i"
|
||||
sleep .1
|
||||
else
|
||||
echo -ne "\n\b\n"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#Used for Debian and Ubuntu
|
||||
vhenvfile () {
|
||||
find /etc/apache2/mods-enabled -maxdepth 1 -name 'rewrite.load' >/dev/null 2>&1
|
||||
apachefile=/etc/apache2/sites-available/$name.conf
|
||||
echo "* Create Virtual host for apache."
|
||||
echo "* Creating Virtual host for apache."
|
||||
{
|
||||
echo "<VirtualHost *:80>"
|
||||
echo "ServerAdmin webmaster@localhost"
|
||||
@@ -74,17 +69,6 @@ vhenvfile () {
|
||||
} >> $apachefile
|
||||
echo >> $hosts "127.0.0.1 $hostname $fqdn"
|
||||
log "a2ensite $name.conf"
|
||||
|
||||
cp $webdir/$name/.env.example $webdir/$name/.env
|
||||
|
||||
sed -i '1 i\#Created By Snipe-it Installer' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_TIMEZONE=\).*,\1'$(cat /etc/timezone)',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_HOST=\).*,\1'localhost',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_DATABASE=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_USERNAME=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_PASSWORD=\).*,\1'$mysqluserpw',' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_URL=\).*,\1'http://$fqdn',' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_KEY=\).*,\1'$$random32',' $webdir/$name/.env
|
||||
}
|
||||
|
||||
perms () {
|
||||
@@ -102,6 +86,18 @@ log () {
|
||||
eval "$@" |& tee -a /var/log/snipeit-install.log >/dev/null 2>&1
|
||||
}
|
||||
|
||||
setenv () {
|
||||
cp $webdir/$name/.env.example $webdir/$name/.env
|
||||
|
||||
sed -i '1 i\#Created By Snipe-it Installer' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_TIMEZONE=\).*,\1'$tzone',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_HOST=\).*,\1'localhost',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_DATABASE=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_USERNAME=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_PASSWORD=\).*,\1'$mysqluserpw',' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_URL=\).*,\1'http://$fqdn',' $webdir/$name/.env
|
||||
}
|
||||
|
||||
#CentOS Friendly f(x)s
|
||||
function isinstalled {
|
||||
if yum list installed "$@" >/dev/null 2>&1; then
|
||||
@@ -231,6 +227,8 @@ case $distro in
|
||||
progress
|
||||
php5enmod mcrypt >> /var/log/snipeit-install.log 2>&1
|
||||
a2enmod rewrite >> /var/log/snipeit-install.log 2>&1
|
||||
tzone=$(cat /etc/timezone)
|
||||
setenv
|
||||
vhenvfile
|
||||
wait
|
||||
echo >> $hosts "127.0.0.1 $hostname $fqdn"
|
||||
@@ -247,58 +245,77 @@ case $distro in
|
||||
perms
|
||||
service apache2 restart
|
||||
php artisan key:generate
|
||||
php artisan passport:install
|
||||
;;
|
||||
ubuntu)
|
||||
##################################### Install for Ubuntu ##############################################
|
||||
#Update/upgrade Debian/Ubuntu repositories, get the latest version of git.
|
||||
#Git clone snipeit, create vhost, .env file, mysql install
|
||||
#composer install, set permissions, restart apache.
|
||||
|
||||
webdir=/var/www
|
||||
echo -ne "\n* Adding MariaDB repo in the background... ${spin[0]}"
|
||||
|
||||
echo "* Adding MariaDB repository."
|
||||
(echo "deb [arch=amd64,i386] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.1/ubuntu $codename main" | tee /etc/apt/sources.list.d/mariadb.list >/dev/null 2>&1)
|
||||
log "apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8"
|
||||
echo -ne "\n* Updating with apt-get update in the background... ${spin[0]}"
|
||||
|
||||
echo "* Updating with apt-get update."
|
||||
log "apt-get update" & pid=$!
|
||||
[ -f /var/lib/dpkg/lock ] && rm -f /var/lib/dpkg/lock
|
||||
progress
|
||||
echo -ne "\n* Upgrading packages with apt-get upgrade in the background... ${spin[0]}"
|
||||
|
||||
echo "* Upgrading packages with apt-get upgrade."
|
||||
log "apt-get -y upgrade" & pid=$!
|
||||
progress
|
||||
echo -ne "\n* Setting up LAMP in the background... ${spin[0]}\n"
|
||||
log "DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server mariadb-client apache2 libapache2-mod-php curl" & pid=$!
|
||||
|
||||
echo "* Installing httpd, PHP, MariaDB and other requirements."
|
||||
log "DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server mariadb-client apache2 libapache2-mod-php curl git unzip" & pid=$!
|
||||
progress
|
||||
|
||||
if [ "$version" == "16.04" ]; then
|
||||
log "apt-get install -y git unzip php php-mcrypt php-curl php-mysql php-gd php-ldap php-zip php-mbstring php-xml" & pid=$!
|
||||
log "apt-get install -y php php-mcrypt php-curl php-mysql php-gd php-ldap php-zip php-mbstring php-xml php-bcmath" & pid=$!
|
||||
progress
|
||||
log "phpenmod mcrypt"
|
||||
log "phpenmod mbstring"
|
||||
log "a2enmod rewrite"
|
||||
else
|
||||
log "apt-get install -y git unzip php5 php5-mcrypt php5-curl php5-mysql php5-gd php5-ldap" & pid=$!
|
||||
log "apt-get install -y php5 php5-mcrypt php5-curl php5-mysql php5-gd php5-ldap" & pid=$!
|
||||
progress
|
||||
log "php5enmod mcrypt"
|
||||
log "a2enmod rewrite"
|
||||
fi
|
||||
echo -ne "\n* Cloning Snipeit, extracting to $webdir/$name... ${spin[0]}"
|
||||
|
||||
echo "* Cloning Snipe-IT from github to the web directory."
|
||||
log "git clone https://github.com/snipe/snipe-it $webdir/$name" & pid=$!
|
||||
progress
|
||||
|
||||
echo "* Configuring .env file."
|
||||
tzone=$(cat /etc/timezone)
|
||||
setenv
|
||||
|
||||
vhenvfile
|
||||
echo -e "* MySQL Phase next.\n"
|
||||
|
||||
echo "* Starting the MariaDB server.";
|
||||
service mysql status >/dev/null || service mysql start
|
||||
|
||||
echo "* Securing MariaDB server.";
|
||||
/usr/bin/mysql_secure_installation
|
||||
echo -e "* Creating MySQL Database and user.\n* Please Input your MySQL/MariaDB root password created in the previous step.: "
|
||||
|
||||
echo "* Creating MariaDB Database/User."
|
||||
echo "* Please Input your MariaDB root password:"
|
||||
mysql -u root -p < $dbsetup
|
||||
echo -e "\n* Securing Mysql\n* Installing and configuring composer"
|
||||
|
||||
echo "* Installing and running composer."
|
||||
cd $webdir/$name/
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
php composer.phar install --no-dev --prefer-source
|
||||
|
||||
perms
|
||||
chown -R www-data:www-data "/var/www/$name"
|
||||
|
||||
service apache2 restart
|
||||
php artisan key:generate
|
||||
php artisan passport:install
|
||||
|
||||
echo "* Generating the application key."
|
||||
php artisan key:generate --force
|
||||
|
||||
echo "* Artisan Migrate."
|
||||
php artisan migrate --force
|
||||
;;
|
||||
centos )
|
||||
if [[ "$version" =~ ^6 ]]; then
|
||||
@@ -307,7 +324,7 @@ case $distro in
|
||||
webdir=/var/www/html
|
||||
#Allow us to get the mysql engine
|
||||
echo ""
|
||||
echo "## Adding IUS, epel-release and mariaDB repositories.";
|
||||
echo "## Adding IUS, epel-release and MariaDB repositories.";
|
||||
mariadbRepo=/etc/yum.repos.d/MariaDB.repo
|
||||
touch "$mariadbRepo"
|
||||
{
|
||||
@@ -324,7 +341,7 @@ case $distro in
|
||||
log "rpm -Uvh "$tmp/ius-release*.rpm""
|
||||
|
||||
#Install PHP and other needed stuff
|
||||
echo "## Installing PHP and other requirements.";
|
||||
echo "## Installing httpd, PHP, MariaDB and other requirements.";
|
||||
PACKAGES="httpd mariadb-server git unzip php71u php71u-mysqlnd php71u-bcmath php71u-cli php71u-common php71u-embedded php71u-gd php71u-mbstring php71u-mcrypt php71u-ldap php71u-json php71u-simplexml"
|
||||
|
||||
for p in $PACKAGES;do
|
||||
@@ -342,15 +359,15 @@ case $distro in
|
||||
log "git clone https://github.com/snipe/snipe-it $webdir/$name"
|
||||
|
||||
# Make mariaDB start on boot and restart the daemon
|
||||
echo "## Starting the mariaDB server.";
|
||||
echo "## Starting the MariaDB server.";
|
||||
chkconfig mysql on
|
||||
/sbin/service mysql start
|
||||
|
||||
echo "## Securing mariaDB server.";
|
||||
echo "## Securing MariaDB server.";
|
||||
/usr/bin/mysql_secure_installation
|
||||
|
||||
echo "## Creating MySQL Database/User."
|
||||
echo "## Please Input your MySQL/MariaDB root password: "
|
||||
echo "## Creating MariaDB Database/User."
|
||||
echo "## Please Input your MariaDB root password: "
|
||||
mysql -u root -p < $dbsetup
|
||||
|
||||
#Create the new virtual host in Apache and enable rewrite
|
||||
@@ -382,22 +399,12 @@ case $distro in
|
||||
echo "## Starting the apache server.";
|
||||
chkconfig httpd on
|
||||
/sbin/service httpd start
|
||||
|
||||
|
||||
echo "## Configuring .env file."
|
||||
tzone=$(grep ZONE /etc/sysconfig/clock | tr -d '"' | sed 's/ZONE=//g');
|
||||
echo "## Configuring .env file."
|
||||
setenv
|
||||
|
||||
cp $webdir/$name/.env.example $webdir/$name/.env
|
||||
|
||||
sed -i '1 i\#Created By Snipe-it Installer' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_TIMEZONE=\).*,\1'$tzone',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_HOST=\).*,\1'localhost',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_DATABASE=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_USERNAME=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_PASSWORD=\).*,\1'$mysqluserpw',' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_URL=\).*,\1'http://$fqdn',' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_KEY=\).*,\1'$$random32',' $webdir/$name/.env
|
||||
|
||||
echo "## Configure composer"
|
||||
echo "## Installing and running composer."
|
||||
cd $webdir/$name
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
php composer.phar install --no-dev --prefer-source
|
||||
@@ -428,13 +435,13 @@ case $distro in
|
||||
webdir=/var/www/html
|
||||
|
||||
#Allow us to get the mysql engine
|
||||
echo -e "\n## Adding IUS, epel-release and mariaDB repositories.";
|
||||
echo -e "\n## Adding IUS, epel-release and MariaDB repositories.";
|
||||
log "yum -y install wget epel-release"
|
||||
log "wget -P $tmp/ https://centos7.iuscommunity.org/ius-release.rpm"
|
||||
log "rpm -Uvh $tmp/ius-release*.rpm"
|
||||
|
||||
#Install PHP and other requirements
|
||||
echo "## Installing PHP and other requirements.";
|
||||
echo "## Installing httpd, PHP, MariaDB and other requirements.";
|
||||
PACKAGES="httpd mariadb-server git unzip php71u php71u-mysqlnd php71u-bcmath php71u-cli php71u-common php71u-embedded php71u-gd php71u-mbstring php71u-mcrypt php71u-ldap php71u-json php71u-simplexml"
|
||||
|
||||
for p in $PACKAGES;do
|
||||
@@ -452,17 +459,17 @@ case $distro in
|
||||
log "git clone https://github.com/snipe/snipe-it $webdir/$name"
|
||||
|
||||
# Make mariaDB start on boot and restart the daemon
|
||||
echo "## Starting the mariaDB server.";
|
||||
echo "## Starting the MariaDB server.";
|
||||
systemctl enable mariadb.service
|
||||
systemctl start mariadb.service
|
||||
|
||||
echo "## Securing mariaDB server.";
|
||||
echo "## Securing MariaDB server.";
|
||||
echo "";
|
||||
echo "";
|
||||
/usr/bin/mysql_secure_installation
|
||||
|
||||
echo "## Creating MySQL Database/User."
|
||||
echo "## Please Input your MySQL/MariaDB root password "
|
||||
echo "## Creating MariaDB Database/User."
|
||||
echo "## Please Input your MariaDB root password "
|
||||
mysql -u root -p < "$dbsetup"
|
||||
|
||||
##TODO make sure the apachefile doesnt exist isnt already in there
|
||||
@@ -499,23 +506,12 @@ case $distro in
|
||||
systemctl enable httpd.service
|
||||
systemctl restart httpd.service
|
||||
|
||||
echo "## Configuring .env file."
|
||||
tzone=$(timedatectl | gawk -F'[: ]' ' $9 ~ /zone/ {print $11}');
|
||||
echo "## Configuring .env file."
|
||||
setenv
|
||||
|
||||
cp $webdir/$name/.env.example $webdir/$name/.env
|
||||
|
||||
sed -i '1 i\#Created By Snipe-it Installer' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_TIMEZONE=\).*,\1'$tzone',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_HOST=\).*,\1'localhost',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_DATABASE=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_USERNAME=\).*,\1'snipeit',' $webdir/$name/.env
|
||||
sed -i 's,^\(DB_PASSWORD=\).*,\1'$mysqluserpw',' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_URL=\).*,\1'http://$fqdn',' $webdir/$name/.env
|
||||
sed -i 's,^\(APP_KEY=\).*,\1'$$random32',' $webdir/$name/.env
|
||||
|
||||
#Install / configure composer
|
||||
echo "## Installing and running composer."
|
||||
cd $webdir/$name
|
||||
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
php composer.phar install --no-dev --prefer-source
|
||||
|
||||
@@ -525,7 +521,7 @@ case $distro in
|
||||
|
||||
#Check if SELinux is enforcing
|
||||
if [ "$(getenforce)" == "Enforcing" ]; then
|
||||
#Add SELinux and firewall exception/rules
|
||||
echo "## Configuring SELinux."
|
||||
#Required for ldap integration
|
||||
setsebool -P httpd_can_connect_ldap on
|
||||
#Sets SELinux context type so that scripts running in the web server process are allowed read/write access
|
||||
|
||||
@@ -478,7 +478,7 @@ EOT;
|
||||
|
||||
$updatedCSV = <<<'EOT'
|
||||
Item name,serial number,manufacturer,purchase date,purchase cost,purchase order,order number,Licensed To Name,Licensed to Email,expiration date,maintained,reassignable,seats,company,supplier,notes
|
||||
Argentum Malachite Athletes Foot Relief,7435753-467734,"Beer, Leannon and Lubowitz",05/15/2019,$1865.34,63 ar,18334,A Legend,Legendary@gov.uk,04/27/2016,yes,true,64,"Haag, Schmidt and Farrell","Hegmann, Mohr and Cremin",Sed ante. Vivamus tortor. Duis mattis egestas metus.
|
||||
Argentum Malachite Athletes Foot Relief,1aa5b0eb-79c5-40b2-8943-5472a6893c3c,"Beer, Leannon and Lubowitz",05/15/2019,$1865.34,63 ar,18334,A Legend,Legendary@gov.uk,04/27/2016,yes,true,64,"Haag, Schmidt and Farrell","Hegmann, Mohr and Cremin",Sed ante. Vivamus tortor. Duis mattis egestas metus.
|
||||
EOT;
|
||||
$importer = new LicenseImporter($updatedCSV);
|
||||
$importer->setUserId(1)
|
||||
@@ -501,7 +501,7 @@ EOT;
|
||||
'purchase_cost' => 1865.34,
|
||||
'purchase_order' => "63 ar",
|
||||
'reassignable' => 1,
|
||||
'serial' => '7435753-467734',
|
||||
'serial' => '1aa5b0eb-79c5-40b2-8943-5472a6893c3c',
|
||||
]);
|
||||
// License seats are soft deleted
|
||||
$this->tester->seeNumRecords(64, 'license_seats', ['deleted_at' => null]);
|
||||
|
||||
+32
-8
@@ -8,9 +8,13 @@ if (($username=='root') || ($username=='admin')) {
|
||||
die("\nERROR: This script should not be run as root/admin. Exiting.\n\n");
|
||||
}
|
||||
|
||||
|
||||
($argv[1]) ? $branch = $argv[1] : $branch = 'master';
|
||||
|
||||
echo "Welcome to the Snipe-IT upgrader.\n\n";
|
||||
echo "Please note that this script will not download the latest Snipe-IT \n";
|
||||
echo "files for you, it simply runs the standard composer and artisan \n";
|
||||
echo "files for you unless you have git installed. \n";
|
||||
echo "It simply runs the standard composer and artisan \n";
|
||||
echo "commands needed to finalize the upgrade after \n\n";
|
||||
|
||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n";
|
||||
@@ -25,15 +29,35 @@ echo "--------------------------------------------------------\n\n";
|
||||
$backup = shell_exec('php artisan snipeit:backup');
|
||||
echo '-- '.$backup."\n\n";
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "STEP 2: Putting application into maintenance mode: \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
$down = shell_exec('php artisan down');
|
||||
echo '-- '.$down."\n\n";
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 3: Cleaning up old cached files:\n";
|
||||
echo "STEP 3: Pulling latest from Git (".$branch." branch): \n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
$git_version = shell_exec('git --version');
|
||||
|
||||
if ((strpos('git version', $git_version)) === false) {
|
||||
echo "Git is installed. \n";
|
||||
$git_checkout = shell_exec('git checkout '.$branch);
|
||||
$git_stash = shell_exec('git stash');
|
||||
$git_pull = shell_exec('git pull');
|
||||
echo '-- '.$git_stash;
|
||||
echo '-- '.$git_checkout;
|
||||
echo '-- '.$git_pull;
|
||||
} else {
|
||||
echo "Git is NOT installed. You can still use this upgrade script to run common \n";
|
||||
echo "migration commands, but you will have to manually download the updated files. \n\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 4: Cleaning up old cached files:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
|
||||
@@ -69,7 +93,7 @@ echo '-- '.$view_clear;
|
||||
echo "\n";
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 4: Updating composer dependencies:\n";
|
||||
echo "Step 5: Updating composer dependencies:\n";
|
||||
echo "(This may take an moment.)\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
@@ -91,7 +115,7 @@ echo $composer."\n\n";
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 5: Migrating database:\n";
|
||||
echo "Step 6: Migrating database:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
$migrations = shell_exec('php artisan migrate --force');
|
||||
@@ -99,7 +123,7 @@ echo '-- '.$migrations."\n\n";
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 6: Checking for OAuth keys:\n";
|
||||
echo "Step 7: Checking for OAuth keys:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
|
||||
@@ -113,7 +137,7 @@ if ((!file_exists('storage/oauth-public.key')) || (!file_exists('storage/oauth-p
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 7: Caching routes and config:\n";
|
||||
echo "Step 8: Caching routes and config:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
$config_cache = shell_exec('php artisan config:cache');
|
||||
$route_cache = shell_exec('php artisan route:cache');
|
||||
@@ -124,7 +148,7 @@ echo "\n";
|
||||
|
||||
|
||||
echo "--------------------------------------------------------\n";
|
||||
echo "Step 8: Taking application out of maintenance mode:\n";
|
||||
echo "Step 9: Taking application out of maintenance mode:\n";
|
||||
echo "--------------------------------------------------------\n\n";
|
||||
|
||||
$up = shell_exec('php artisan up');
|
||||
|
||||
Reference in New Issue
Block a user