Update v1.0.6.5

This commit is contained in:
sujitprasad
2016-03-02 12:25:21 +05:30
parent 7011553462
commit c56ff86194
218 changed files with 17161 additions and 2358 deletions

4
.env
View File

@@ -3,8 +3,8 @@ APP_DEBUG=false
APP_KEY=SomeRandomString
DB_HOST=localhost
DB_DATABASE=faveo-dev
DB_USERNAME=root
DB_PASSWORD=
DB_USERNAME=ladybird
DB_PASSWORD=ladybird
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

View File

@@ -1,5 +1,5 @@
<h3>About Faveo</h3>
<br><img src="https://travis-ci.org/ladybirdweb/faveo-helpdesk.svg?branch=master">&nbsp;<img src="https://img.shields.io/badge/License-OSL-blue.svg">&nbsp;<a href="https://gitter.im/ladybirdweb/faveo-helpdesk" target="_blank"><img src="https://badges.gitter.im/ladybirdweb/faveo-helpdesk.svg"></a>&nbsp;<a href="https://styleci.io/repos/34716238"><img src="https://styleci.io/repos/34716238/shield" alt="StyleCI"></a></br>
<h3>About Faveo</h3>
<br><img src="https://travis-ci.org/ladybirdweb/faveo-helpdesk.svg?branch=master">&nbsp;<img src="https://img.shields.io/badge/License-OSL-blue.svg">&nbsp;<a href="https://gitter.im/ladybirdweb/faveo-helpdesk" target="_blank"><img src="https://badges.gitter.im/ladybirdweb/faveo-helpdesk.svg"></a>&nbsp;<a href="https://styleci.io/repos/52062487"><img src="https://styleci.io/repos/52062487/shield" alt="StyleCI"></a></br>
<p>Headquartered in Bangalore, Faveo HELPDESK provides Businesses with an automated Helpdesk system to manage customer support.
<br/><br/>
The word Faveo comes from Latin which means to be favourable. Which truly highlights vision and the scope as well as the functionality of the product that Faveo is. It is specifically designed to cater the needs of startups and SMEs empowering them with state of art, ticket based support system. In todays competitive startup scenario customer retention is one of the major challenges. Handling client query diligently is all the difference between retaining or losing a long lasting relationship. The company is driven with passion of providing tools for managing consumer queries for strategic insights and helping companies take those decisive decisions.

View File

@@ -25,10 +25,10 @@ class Handler extends ExceptionHandler
*
* @return void
*/
public function __construct(PhpMailController $PhpMailController)
{
$this->PhpMailController = $PhpMailController;
}
// public function __construct(PhpMailController $PhpMailController)
// {
// $this->PhpMailController = $PhpMailController;
// }
/**
* Report or log an exception.

View File

@@ -37,6 +37,7 @@ use Exception;
use Hash;
use Illuminate\support\Collection;
use Input;
use Lang;
use Mail;
use PDF;
use UTC;
@@ -80,7 +81,7 @@ class TicketController extends Controller
return \Datatable::collection(new Collection($tickets))
->addColumn('id', function ($ticket) {
return "<input type='checkbox' name='select_all[]' class='icheckbox_flat-blue' value='".$ticket->id."'></input>";
return "<input type='checkbox' name='select_all[]' id='".$ticket->id."' onclick='someFunction(this.id)' class='selectval icheckbox_flat-blue' value='".$ticket->id."'></input>";
})
->addColumn('subject', function ($ticket) {
$subject = DB::table('ticket_thread')->select('title')->where('ticket_id', '=', $ticket->id)->first();
@@ -801,8 +802,13 @@ class TicketController extends Controller
$dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = Tickets::where('id', '=', $id)->where('dept_id', '=', $dept->id)->first();
} else {
} elseif (Auth::user()->role == 'admin') {
$tickets = Tickets::where('id', '=', $id)->first();
} elseif (Auth::user()->role == 'user') {
$thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
$ticket_id = \Crypt::encrypt($id);
// dd($ticket_id);
return redirect()->route('check_ticket', compact('ticket_id'));
}
$thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
//$tickets = Tickets::where('id', '=', $id)->first();
@@ -2577,4 +2583,151 @@ class TicketController extends Controller
}
// return '<div id="alert11" class="alert alert-dismissable" ><button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><h4><i class="icon fa fa-user"></i>'.$data->user_name.'</h4><div id="message-success1">'.$data->email.'</div></div>';
}
public function getMergeTickets($id)
{
if ($id == 0) {
$t_id = Input::get('data1');
foreach ($t_id as $value) {
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $value)->first();
echo "<option value='$value'>".$title->title.'</option>';
}
} else {
$ticket = Tickets::select('user_id')->where('id', '=', $id)->first();
$ticket_data = Tickets::select('ticket_number', 'id')
->where('user_id', '=', $ticket->user_id)->where('id', '!=', $id)->where('status', '=', 1)->get();
foreach ($ticket_data as $value) {
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $value->id)->first();
echo "<option value='$value->id'>".$title->title.'</option>';
}
}
}
public function checkMergeTickets($id)
{
if ($id == 0) {
if (Input::get('data1') == null || count(Input::get('data1')) == 1) {
return 0;
} else {
$t_id = Input::get('data1');
$previousValue = null;
$match = 1;
foreach ($t_id as $value) {
$ticket = Tickets::select('user_id')->where('id', '=', $value)->first();
if ($previousValue == null || $previousValue == $ticket->user_id) {
$previousValue = $ticket->user_id;
$match = 1;
} else {
$match = 2;
break;
}
}
return $match;
}
} else {
$ticket = Tickets::select('user_id')->where('id', '=', $id)->first();
$ticket_data = Tickets::select('ticket_number', 'id')
->where('user_id', '=', $ticket->user_id)
->where('id', '!=', $id)
->where('status', '=', 1)->get();
if (isset($ticket_data) && count($ticket_data) >= 1) {
return 1;
} else {
return 0;
}
}
}
public function mergeTickets($id)
{
// split the phrase by any number of commas or space characters,
// which include " ", \r, \t, \n and \f
$t_id = preg_split("/[\s,]+/", $id);
if (count($t_id) > 1) {
$p_id = Input::get('p_id');
$t_id = array_diff($t_id, [$p_id]);
} else {
$t_id = Input::get('t_id'); //getting array of tickets to merge
if ($t_id == null) {
return 2;
} else {
$temp_id = Input::get('p_id'); //getting parent ticket
if ($id == $temp_id) {
$p_id = $id;
} else {
$p_id = $temp_id;
array_push($t_id, $id);
$t_id = array_diff($t_id, [$temp_id]);
}
}
}
$parent_ticket = Tickets::select('ticket_number')->where('id', '=', $p_id)->first();
$parent_thread = Ticket_thread::where('ticket_id', '=', $p_id)->first();
foreach ($t_id as $value) {//to create new thread of the tickets to be merged with parent
$thread = Ticket_thread::where('ticket_id', '=', $value)->first();
$ticket = Tickets::select('ticket_number')->where('id', '=', $value)->first();
Ticket_thread::where('ticket_id', '=', $value)
->update(['ticket_id' => $p_id]);
Ticket_Form_Data::where('ticket_id', '=', $value)
->update(['ticket_id' => $p_id]);
Ticket_Collaborator::where('ticket_id', '=', $value)
->update(['ticket_id' => $p_id]);
Tickets::where('id', '=', $value)
->update(['status' => 3]);
if (!empty(Input::get('reason'))) {
$reason = Input::get('reason');
} else {
$reason = '';
}
if (!empty(Input::get('title'))) {
Ticket_thread::where('ticket_id', '=', $p_id)->first()
->update(['title' => Input::get('title')]);
}
$new_thread = new Ticket_thread();
$new_thread->ticket_id = $thread->ticket_id;
$new_thread->user_id = Auth::user()->id;
$new_thread->poster = $thread->poster;
$new_thread->source = $thread->source;
$new_thread->is_internal = 0;
$new_thread->title = $thread->title;
$new_thread->body = Lang::get('lang.get_merge_message').
"&nbsp;&nbsp;<a href='".route('ticket.thread', [$p_id]).
"'>#".$parent_ticket->ticket_number.'</a><br>'.$reason;
$new_thread->format = $thread->format;
$new_thread->ip_address = $thread->ip_address;
//$new_thread->save();
$new_parent_thread = new Ticket_thread();
$new_parent_thread->ticket_id = $p_id;
$new_parent_thread->user_id = Auth::user()->id;
$new_parent_thread->poster = $parent_thread->poster;
$new_parent_thread->source = $parent_thread->source;
$new_parent_thread->is_internal = 1;
$new_parent_thread->title = $thread->title;
$new_parent_thread->body = Lang::get('lang.ticket')."&nbsp;<a href='".route('ticket.thread', [$value])."'>#".$ticket->ticket_number.'</a>&nbsp'.Lang::get('lang.ticket_merged').'<br>'.$reason;
$new_parent_thread->format = $parent_thread->format;
$new_parent_thread->ip_address = $parent_thread->ip_address;
//$new_parent_thread->save();
if ($new_thread->save() && $new_parent_thread->save()) {
$success = 1;
} else {
$success = 0;
}
}
return $success;
}
public function getParentTickets($id)
{
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $id)->first();
echo "<option value='$id'>".$title->title.'</option>';
$tickets = Input::get('data1');
foreach ($tickets as $value) {
$title = Ticket_Thread::select('title')->where('ticket_id', '=', $value)->first();
echo "<option value='$value'>".$title->title.'</option>';
}
}
}

View File

@@ -18,6 +18,8 @@ use App\Model\helpdesk\Utility\Priority;
use App\User;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection;
/**
* -----------------------------------------------------------------------------
@@ -528,6 +530,46 @@ class ApiController extends Controller
}
}
/**
* Get all customers having client_id, client_picture, client_name, client_email, client_phone.
*
* @return json
*/
public function getCustomersWith()
{
try {
$users = $this->faveoUser->select('id', 'user_name', 'first_name', 'last_name', 'email', 'phone_number', 'profile_pic')->where('role', 'user')->get();
$result = [];
foreach ($users as $key => $user) {
$result[$key]['id'] = $user->id;
$result[$key]['user_name'] = $user->user_name;
$result[$key]['first_name'] = $user->first_name;
$result[$key]['last_name'] = $user->last_name;
$result[$key]['email'] = $user->email;
$result[$key]['phone_number'] = $user->phone_number;
if ($user->profile_pic) {
$path = 'lb-faveo/media/profilepic/'.$user->profile_pic;
} else {
$path = \Gravatar::src($user->email);
}
$result[$key]['picture'] = $path;
}
$result = $this->createPagination($result, 10);
//$result->toJson();
return $result->toJson();
} catch (Exception $e) {
$error = $e->getMessage();
$line = $e->getLine();
$file = $e->getFile();
return response()->json(compact('error', 'file', 'line'));
} catch (\TokenExpiredException $e) {
$error = $e->getMessage();
return response()->json(compact('error'));
}
}
/**
* Get a customer by id.
*
@@ -545,7 +587,7 @@ class ApiController extends Controller
return response()->json(compact('error'));
}
$id = $this->request->input('user_id');
$result = $this->faveoUser->where('id', $id)->first();
$result = $this->faveoUser->where('id', $id)->where('role', 'user')->first();
return response()->json(compact('result'));
} catch (Exception $e) {
@@ -1071,4 +1113,33 @@ class ApiController extends Controller
return response()->json(compact('error'));
}
}
public function createPagination($array, $perPage)
{
try {
//Get current page form url e.g. &page=6
$currentPage = LengthAwarePaginator::resolveCurrentPage();
//Create a new Laravel collection from the array data
$collection = new Collection($array);
//Slice the collection to get the items to display in current page
$currentPageSearchResults = $collection->slice($currentPage * $perPage, $perPage)->all();
//Create our paginator and pass it to the view
$paginatedResults = new LengthAwarePaginator($currentPageSearchResults, count($collection), $perPage);
return $paginatedResults;
} catch (\Exception $e) {
$error = $e->getMessage();
$line = $e->getLine();
$file = $e->getFile();
return response()->json(compact('error', 'file', 'line'));
} catch (\TokenExpiredException $e) {
$error = $e->getMessage();
return response()->json(compact('error'));
}
}
}

View File

@@ -37,8 +37,34 @@ class InstallerApiController extends Controller
*/
public function config_database(Request $request)
{
error_reporting(E_ALL & ~E_NOTICE);
$validator = \Validator::make(
[
'database' => $request->database,
'host' => $request->host,
'databasename' => $request->databasename,
'dbusername' => $request->dbusername,
'port' => $request->port,
],
[
'database' => 'required|min:1',
'host' => 'required',
'databasename' => 'required|min:1',
'dbusername' => 'required|min:1',
'port' => 'integer|min:0',
]
);
if ($validator->fails()) {
$jsons = $validator->messages();
$val = '';
foreach ($jsons->all() as $key => $value) {
$val .= $value;
}
$return_data = rtrim(str_replace('.', ',', $val), ',');
return ['response' => 'fail', 'reason' => $return_data, 'status' => '0'];
}
// dd($validator->messages());
// error_reporting(E_ALL & ~E_NOTICE);
// Check for pre install
if (\Config::get('database.install') == '%0%') {
$default = $request->database;
@@ -47,9 +73,7 @@ class InstallerApiController extends Controller
$dbusername = $request->dbusername;
$dbpassword = $request->dbpassword;
$port = $request->port;
if (isset($default) && isset($host) && isset($database) && isset($dbusername)) {
// Setting environment values
$_ENV['DB_TYPE'] = $default;
$_ENV['DB_HOST'] = $host;
@@ -57,12 +81,10 @@ class InstallerApiController extends Controller
$_ENV['DB_DATABASE'] = $database;
$_ENV['DB_USERNAME'] = $dbusername;
$_ENV['DB_PASSWORD'] = $dbpassword;
$config = '';
foreach ($_ENV as $key => $val) {
$config .= "{$key}={$val}\n";
}
// Write environment file
$fp = fopen(base_path().'/.env', 'w');
fwrite($fp, $config);
@@ -85,6 +107,36 @@ class InstallerApiController extends Controller
*/
public function config_system(Request $request)
{
$validator = \Validator::make(
[
'firstname' => $request->firstname,
'lastname' => $request->lastname,
'email' => $request->email,
'username' => $request->username,
'password' => $request->password,
'timezone' => $request->timezone,
'datetime' => $request->datetime,
],
[
'firstname' => 'required|alpha|min:1',
'lastname' => 'required|alpha|min:1',
'email' => 'required|email|min:1',
'username' => 'required|min:4',
'password' => 'required|min:6',
'timezone' => 'required|min:1',
'datetime' => 'required|min:1',
]
);
if ($validator->fails()) {
$jsons = $validator->messages();
$val = '';
foreach ($jsons->all() as $key => $value) {
$val .= $value;
}
$return_data = rtrim(str_replace('.', ',', $val), ',');
return ['response' => 'fail', 'reason' => $return_data, 'status' => '0'];
}
// Check for pre install
if (\Config::get('database.install') == '%0%') {
$firstname = $request->firstname;
@@ -101,12 +153,16 @@ class InstallerApiController extends Controller
// checking requested timezone for the admin and system
$timezones = Timezones::where('name', '=', $timezone)->first();
if ($timezones->id == null) {
if ($timezones == null) {
Artisan::call('migrate:reset', ['--force' => true]);
return ['response' => 'fail', 'reason' => 'Invalid time-zone', 'status' => '0'];
}
// checking requested date time format for the admin and system
$date_time_format = Date_time_format::where('format', '=', $datetime)->first();
if ($date_time_format->id == null) {
if ($date_time_format == null) {
Artisan::call('migrate:reset', ['--force' => true]);
return ['response' => 'fail', 'reason' => 'invalid date-time format', 'status' => '0'];
}
// Creating minum settings for system

View File

@@ -469,4 +469,16 @@ class TestController extends Controller
return response()->json(compact('error', 'file', 'line'));
}
}
public function getCustomersWith()
{
try {
} catch (\Exception $e) {
$error = $e->getMessage();
$line = $e->getLine();
$file = $e->getFile();
return response()->json(compact('error', 'file', 'line'));
}
}
}

View File

@@ -55,8 +55,9 @@ class TokenAuthController extends Controller
return response()->json(compact('error'));
}
$user_id = \Auth::user()->id;
// if no errors are encountered we can return a JWT
return response()->json(compact('token'));
return response()->json(compact('token', 'user_id'));
}
/**

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Installer\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
use App\Http\Requests\helpdesk\DatabaseRequest;
use App\Http\Requests\helpdesk\InstallerRequest;
// models
use App\Model\helpdesk\Settings\System;
@@ -133,7 +134,6 @@ class InstallController extends Controller
public function localizationcheck()
{
Session::put('step3', 'step3');
Session::put('language', Input::get('language'));
Session::put('timezone', Input::get('timezone'));
Session::put('date', Input::get('date'));
@@ -168,22 +168,21 @@ class InstallController extends Controller
*
* @return type view
*/
public function configurationcheck()
public function configurationcheck(DatabaseRequest $request)
{
Session::put('step4', 'step4');
// dd(Input::get('default'));
// dd(Input::get('host'));
// dd(Input::get('databasename'));
// dd(Input::get('username'));
// dd(Input::get('password'));
// dd(Input::get('port'));
Session::put('default', Input::get('default'));
Session::put('host', Input::get('host'));
Session::put('databasename', Input::get('databasename'));
Session::put('username', Input::get('username'));
Session::put('password', Input::get('password'));
Session::put('port', Input::get('port'));
// dd($request->input('default'));
// dd($request->input('host'));
// dd($request->input('databasename'));
// dd($request->input('username'));
// dd($request->input('password'));
// dd($request->input('port'));
Session::put('default', $request->input('default'));
Session::put('host', $request->input('host'));
Session::put('databasename', $request->input('databasename'));
Session::put('username', $request->input('username'));
Session::put('password', $request->input('password'));
Session::put('port', $request->input('port'));
return Redirect::route('database');
}
@@ -311,15 +310,15 @@ class InstallController extends Controller
// $system->save();
// checking requested timezone for the admin and system
$timezones = Timezones::where('name', '=', $timezone)->first();
if ($timezones->id == null) {
return ['response' => 'fail', 'reason' => 'Invalid time-zone', 'status' => '0'];
if ($timezones == null) {
return redirect()->back()->with('fails', 'Invalid time-zone');
// return ['response' => 'fail', 'reason' => 'Invalid time-zone', 'status' => '0'];
}
// var_dump($datetime);
// checking requested date time format for the admin and system
$date_time_format = Date_time_format::where('format', '=', $datetime)->first();
// dd($date_time_format);
if ($date_time_format->id == null) {
return ['response' => 'fail', 'reason' => 'invalid date-time format', 'status' => '0'];
if ($date_time_format == null) {
return redirect()->back()->with('fails', 'invalid date-time format');
// return ['response' => 'fail', 'reason' => 'invalid date-time format', 'status' => '0'];
}
// Creating minum settings for system

View File

@@ -0,0 +1,40 @@
<?php
namespace App\Http\Requests\helpdesk;
use App\Http\Requests\Request;
/**
* InstallerRequest.
*
* @author Ladybird <info@ladybirdweb.com>
*/
class DatabaseRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'default' => 'required',
'host' => 'required',
'databasename' => 'required',
'username' => 'required',
// 'password' => '',
'port' => 'integer|min:0',
];
}
}

View File

@@ -346,6 +346,16 @@ Route::group(['middleware' => 'role.agent', 'middleware' => 'auth'], function ()
Route::patch('/change-owner/{id}', ['as' => 'change.owner.ticket', 'uses' => 'Agent\helpdesk\TicketController@changeOwner']); /* change owner */
//To merge tickets
Route::get('/get-merge-tickets/{id}', ['as' => 'get.merge.tickets', 'uses' => 'Agent\helpdesk\TicketController@getMergeTickets']);
Route::get('/check-merge-ticket/{id}', ['as' => 'check.merge.tickets', 'uses' => 'Agent\helpdesk\TicketController@checkMergeTickets']);
Route::get('/get-parent-tickets/{id}', ['as' => 'get.parent.ticket', 'uses' => 'Agent\helpdesk\TicketController@getParentTickets']);
Route::patch('/merge-tickets/{id}', 'Agent\helpdesk\TicketController@mergeTickets');
});
/*
@@ -636,6 +646,12 @@ Route::group(['prefix' => 'api/v1'], function () {
Route::get('trash', 'Api\v1\ApiController@getTrash');
Route::get('my-tickets', 'Api\v1\ApiController@getMyTickets');
Route::post('internal-note', 'Api\v1\ApiController@internalNote');
/*
* Newly added
*/
Route::get('customers-custom', 'Api\v1\ApiController@getCustomersWith');
});
/*
@@ -668,7 +684,11 @@ Route::group(['prefix' => 'api/v1'], function () {
Route::get('ticket/internal', 'Api\v1\TestController@internalNote');
Route::get('ticket/trash', 'Api\v1\TestController@trash');
Route::get('ticket/my', 'Api\v1\TestController@myTickets');
Route::get('ticket', 'Api\v1\TestController@getTicketById');
Route::get('ticket', 'Api\v1\TestController@getTicketById');
/*
* Newly added
*/
Route::get('customers-custom', 'Api\v1\TestController@getCustomersWith');
Route::get('generate/token', 'Api\v1\TestController@generateToken');
Route::get('get/user', 'Api\v1\TestController@getAuthUser');

119
composer.lock generated
View File

@@ -9,16 +9,16 @@
"packages": [
{
"name": "bestmomo/filemanager",
"version": "V1.1.3",
"version": "V1.1.4",
"source": {
"type": "git",
"url": "https://github.com/bestmomo/filemanager.git",
"reference": "2f73521909621560a37386c20a5615cfb1e828d9"
"reference": "9d93d34345c0bcbfb93cdd9e0f2d6a14b12f118a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bestmomo/filemanager/zipball/2f73521909621560a37386c20a5615cfb1e828d9",
"reference": "2f73521909621560a37386c20a5615cfb1e828d9",
"url": "https://api.github.com/repos/bestmomo/filemanager/zipball/9d93d34345c0bcbfb93cdd9e0f2d6a14b12f118a",
"reference": "9d93d34345c0bcbfb93cdd9e0f2d6a14b12f118a",
"shasum": ""
},
"require": {
@@ -49,7 +49,7 @@
],
"description": "To add filemanager to Laravel 5.1",
"homepage": "http://github.com/bestmomo/filemanager",
"time": "2016-01-22 14:50:55"
"time": "2016-02-20 12:31:16"
},
{
"name": "bugsnag/bugsnag",
@@ -567,16 +567,16 @@
},
{
"name": "giggsey/libphonenumber-for-php",
"version": "7.2.5",
"version": "7.2.6",
"source": {
"type": "git",
"url": "https://github.com/giggsey/libphonenumber-for-php.git",
"reference": "f002be142b81e862f583a0f90cb6e6319bb9fee6"
"reference": "8b3d1ee4ca4badef2b4d0286b4518ad11456ab71"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/f002be142b81e862f583a0f90cb6e6319bb9fee6",
"reference": "f002be142b81e862f583a0f90cb6e6319bb9fee6",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/8b3d1ee4ca4badef2b4d0286b4518ad11456ab71",
"reference": "8b3d1ee4ca4badef2b4d0286b4518ad11456ab71",
"shasum": ""
},
"require": {
@@ -626,20 +626,20 @@
"phonenumber",
"validation"
],
"time": "2016-02-11 10:16:02"
"time": "2016-02-25 16:42:28"
},
{
"name": "guzzlehttp/psr7",
"version": "1.2.2",
"version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "f5d04bdd2881ac89abde1fb78cc234bce24327bb"
"reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/f5d04bdd2881ac89abde1fb78cc234bce24327bb",
"reference": "f5d04bdd2881ac89abde1fb78cc234bce24327bb",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/2e89629ff057ebb49492ba08e6995d3a6a80021b",
"reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b",
"shasum": ""
},
"require": {
@@ -684,7 +684,7 @@
"stream",
"uri"
],
"time": "2016-01-23 01:23:02"
"time": "2016-02-18 21:54:00"
},
{
"name": "illuminate/html",
@@ -1109,16 +1109,16 @@
},
{
"name": "league/flysystem",
"version": "1.0.16",
"version": "1.0.17",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "183e1a610664baf6dcd6fceda415baf43cbdc031"
"reference": "02f5b6c9a8b9278c8381e3361e7bd9d641c740ca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/183e1a610664baf6dcd6fceda415baf43cbdc031",
"reference": "183e1a610664baf6dcd6fceda415baf43cbdc031",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/02f5b6c9a8b9278c8381e3361e7bd9d641c740ca",
"reference": "02f5b6c9a8b9278c8381e3361e7bd9d641c740ca",
"shasum": ""
},
"require": {
@@ -1131,8 +1131,7 @@
"ext-fileinfo": "*",
"mockery/mockery": "~0.9",
"phpspec/phpspec": "^2.2",
"phpspec/prophecy-phpunit": "~1.0",
"phpunit/phpunit": "~4.8"
"phpunit/phpunit": "~4.8 || ~5.0"
},
"suggest": {
"ext-fileinfo": "Required for MimeType",
@@ -1189,7 +1188,7 @@
"sftp",
"storage"
],
"time": "2015-12-19 20:16:43"
"time": "2016-02-19 15:35:38"
},
{
"name": "monolog/monolog",
@@ -1821,16 +1820,16 @@
},
{
"name": "propaganistas/laravel-phone",
"version": "2.6.0",
"version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/Propaganistas/Laravel-Phone.git",
"reference": "19412270d9a3a60407bcd5cc87bfc06f083d6615"
"reference": "ae7fb3c8acb4356a7c9a8fbe776e8aeed5535079"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Propaganistas/Laravel-Phone/zipball/19412270d9a3a60407bcd5cc87bfc06f083d6615",
"reference": "19412270d9a3a60407bcd5cc87bfc06f083d6615",
"url": "https://api.github.com/repos/Propaganistas/Laravel-Phone/zipball/ae7fb3c8acb4356a7c9a8fbe776e8aeed5535079",
"reference": "ae7fb3c8acb4356a7c9a8fbe776e8aeed5535079",
"shasum": ""
},
"require": {
@@ -1871,7 +1870,7 @@
"phone",
"validation"
],
"time": "2016-01-01 12:20:53"
"time": "2016-02-23 18:37:58"
},
{
"name": "psr/http-message",
@@ -2205,16 +2204,16 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v2.8.2",
"version": "v2.8.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "ee278f7c851533e58ca307f66305ccb9188aceda"
"reference": "78c468665c9568c3faaa9c416a7134308f2d85c3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ee278f7c851533e58ca307f66305ccb9188aceda",
"reference": "ee278f7c851533e58ca307f66305ccb9188aceda",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/78c468665c9568c3faaa9c416a7134308f2d85c3",
"reference": "78c468665c9568c3faaa9c416a7134308f2d85c3",
"shasum": ""
},
"require": {
@@ -2261,20 +2260,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
"time": "2016-01-13 10:28:07"
"time": "2016-01-27 05:14:19"
},
{
"name": "symfony/filesystem",
"version": "v2.8.2",
"version": "v2.8.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "637b64d0ee10f44ae98dbad651b1ecdf35a11e8c"
"reference": "65cb36b6539b1d446527d60457248f30d045464d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/637b64d0ee10f44ae98dbad651b1ecdf35a11e8c",
"reference": "637b64d0ee10f44ae98dbad651b1ecdf35a11e8c",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/65cb36b6539b1d446527d60457248f30d045464d",
"reference": "65cb36b6539b1d446527d60457248f30d045464d",
"shasum": ""
},
"require": {
@@ -2310,7 +2309,7 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
"time": "2016-01-13 10:28:07"
"time": "2016-02-22 15:02:30"
},
{
"name": "symfony/finder",
@@ -3017,16 +3016,16 @@
},
{
"name": "tymon/jwt-auth",
"version": "0.5.6",
"version": "0.5.9",
"source": {
"type": "git",
"url": "https://github.com/tymondesigns/jwt-auth.git",
"reference": "f70842d94a548f1457114dd57b6c0b9bf94ba13c"
"reference": "18b2add90de2315d549664b4d4a062db07e8b080"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/f70842d94a548f1457114dd57b6c0b9bf94ba13c",
"reference": "f70842d94a548f1457114dd57b6c0b9bf94ba13c",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/18b2add90de2315d549664b4d4a062db07e8b080",
"reference": "18b2add90de2315d549664b4d4a062db07e8b080",
"shasum": ""
},
"require": {
@@ -3076,7 +3075,7 @@
"laravel",
"tymon"
],
"time": "2015-11-24 20:02:19"
"time": "2016-02-18 09:22:36"
},
{
"name": "unisharp/laravel-filemanager",
@@ -3439,22 +3438,24 @@
},
{
"name": "phpspec/prophecy",
"version": "v1.5.0",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
"reference": "3c91bdf81797d725b14cb62906f9a4ce44235972"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
"reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/3c91bdf81797d725b14cb62906f9a4ce44235972",
"reference": "3c91bdf81797d725b14cb62906f9a4ce44235972",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.2",
"php": "^5.3|^7.0",
"phpdocumentor/reflection-docblock": "~2.0",
"sebastian/comparator": "~1.1"
"sebastian/comparator": "~1.1",
"sebastian/recursion-context": "~1.0"
},
"require-dev": {
"phpspec/phpspec": "~2.0"
@@ -3462,7 +3463,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4.x-dev"
"dev-master": "1.5.x-dev"
}
},
"autoload": {
@@ -3495,7 +3496,7 @@
"spy",
"stub"
],
"time": "2015-08-13 10:07:40"
"time": "2016-02-15 07:46:21"
},
{
"name": "phpunit/php-code-coverage",
@@ -3983,16 +3984,16 @@
},
{
"name": "sebastian/environment",
"version": "1.3.3",
"version": "1.3.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "6e7133793a8e5a5714a551a8324337374be209df"
"reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e7133793a8e5a5714a551a8324337374be209df",
"reference": "6e7133793a8e5a5714a551a8324337374be209df",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf",
"reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf",
"shasum": ""
},
"require": {
@@ -4029,7 +4030,7 @@
"environment",
"hhvm"
],
"time": "2015-12-02 08:37:27"
"time": "2016-02-26 18:40:46"
},
{
"name": "sebastian/exporter",
@@ -4238,16 +4239,16 @@
},
{
"name": "symfony/yaml",
"version": "v3.0.2",
"version": "v3.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "3cf0709d7fe936e97bee9e954382e449003f1d9a"
"reference": "b5ba64cd67ecd6887f63868fa781ca094bd1377c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/3cf0709d7fe936e97bee9e954382e449003f1d9a",
"reference": "3cf0709d7fe936e97bee9e954382e449003f1d9a",
"url": "https://api.github.com/repos/symfony/yaml/zipball/b5ba64cd67ecd6887f63868fa781ca094bd1377c",
"reference": "b5ba64cd67ecd6887f63868fa781ca094bd1377c",
"shasum": ""
},
"require": {
@@ -4283,7 +4284,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2016-02-02 13:44:19"
"time": "2016-02-23 15:16:06"
}
],
"aliases": [],

View File

@@ -38,7 +38,7 @@ return [
|
*/
'version' => 'Community 1.0.6.4',
'version' => 'Community 1.0.6.5',
/*
|--------------------------------------------------------------------------

View File

@@ -8,7 +8,7 @@ myApp.controller('MainController', ['$http', '$scope',
//titile and content for page 3
$scope.Databasetitle = 'Database Type';
$scope.Databasecontent = 'Faveo supports 3 databases, choose anyone which your server supports';
$scope.Databasecontent = 'Choose the type of your database';
$scope.Hosttitle = 'Database Host';
$scope.Hostcontent = 'You should be able to get this info from your web host, if localhost doesnt work';

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"התוצאות לא נטענו בהלכה"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק "+t+" תווים";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס "+t+" תווים או יותר";return n},loadingMore:function(){return"טען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור רק "+e.maximum+" פריטים";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%100>9&&e%100<21||e%10===0?e%10>1?n:r:t}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"ių","ius","į"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"ių","ius","į"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ų","us","ą"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t="Er kunnen maar "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t+=" worden geselecteerd",t},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maxiumum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să introduceți mai puțin de "+t;return n+=" caracter",n!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți incă "+t;return n+=" caracter",n!==1&&(n+="e"),n},loadingMore:function(){return"Se încarcă…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",t!==1&&(t+="e"),t},noResults:function(){return"Nu a fost găsit nimic"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,3 @@
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})();

View File

@@ -0,0 +1,431 @@
.select2-container {
box-sizing: border-box;
display: inline-block;
margin: 0;
position: relative;
vertical-align: middle; }
.select2-container .select2-selection--single {
box-sizing: border-box;
cursor: pointer;
display: block;
height: 28px;
user-select: none;
-webkit-user-select: none; }
.select2-container .select2-selection--single .select2-selection__rendered {
display: block;
padding-left: 8px;
padding-right: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; }
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
padding-right: 8px;
padding-left: 20px; }
.select2-container .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 32px;
user-select: none;
-webkit-user-select: none; }
.select2-container .select2-selection--multiple .select2-selection__rendered {
display: inline-block;
overflow: hidden;
padding-left: 8px;
text-overflow: ellipsis;
white-space: nowrap; }
.select2-container .select2-search--inline {
float: left; }
.select2-container .select2-search--inline .select2-search__field {
box-sizing: border-box;
border: none;
font-size: 100%;
margin-top: 5px; }
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none; }
.select2-dropdown {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
box-sizing: border-box;
display: block;
position: absolute;
left: -100000px;
width: 100%;
z-index: 1051; }
.select2-results {
display: block; }
.select2-results__options {
list-style: none;
margin: 0;
padding: 0; }
.select2-results__option {
padding: 6px;
user-select: none;
-webkit-user-select: none; }
.select2-results__option[aria-selected] {
cursor: pointer; }
.select2-container--open .select2-dropdown {
left: 0; }
.select2-container--open .select2-dropdown--above {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--open .select2-dropdown--below {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-search--dropdown {
display: block;
padding: 4px; }
.select2-search--dropdown .select2-search__field {
padding: 4px;
width: 100%;
box-sizing: border-box; }
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
-webkit-appearance: none; }
.select2-search--dropdown.select2-search--hide {
display: none; }
.select2-close-mask {
border: 0;
margin: 0;
padding: 0;
display: block;
position: fixed;
left: 0;
top: 0;
min-height: 100%;
min-width: 100%;
height: auto;
width: auto;
opacity: 0;
z-index: 99;
background-color: #fff;
filter: alpha(opacity=0); }
.select2-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px; }
.select2-container--default .select2-selection--single {
background-color: #fff;
border: 1px solid #aaa;
border-radius: 4px; }
.select2-container--default .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px; }
.select2-container--default .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold; }
.select2-container--default .select2-selection--single .select2-selection__placeholder {
color: #999; }
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px; }
.select2-container--default .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0; }
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
float: left; }
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
left: 1px;
right: auto; }
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #eee;
cursor: default; }
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
display: none; }
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; }
.select2-container--default .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
box-sizing: border-box;
list-style: none;
margin: 0;
padding: 0 5px;
width: 100%; }
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
color: #999;
margin-top: 5px;
float: left; }
.select2-container--default .select2-selection--multiple .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
margin-top: 5px;
margin-right: 10px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
cursor: default;
float: left;
margin-right: 5px;
margin-top: 5px;
padding: 0 5px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
color: #999;
cursor: pointer;
display: inline-block;
font-weight: bold;
margin-right: 2px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #333; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder {
float: right; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
margin-left: 5px;
margin-right: auto; }
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
margin-left: 2px;
margin-right: auto; }
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: solid black 1px;
outline: 0; }
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #eee;
cursor: default; }
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
display: none; }
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--default .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa; }
.select2-container--default .select2-search--inline .select2-search__field {
background: transparent;
border: none;
outline: 0; }
.select2-container--default .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto; }
.select2-container--default .select2-results__option[role=group] {
padding: 0; }
.select2-container--default .select2-results__option[aria-disabled=true] {
color: #999; }
.select2-container--default .select2-results__option[aria-selected=true] {
background-color: #ddd; }
.select2-container--default .select2-results__option .select2-results__option {
padding-left: 1em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
padding-left: 0; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
margin-left: -1em;
padding-left: 2em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -2em;
padding-left: 3em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -3em;
padding-left: 4em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -4em;
padding-left: 5em; }
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
margin-left: -5em;
padding-left: 6em; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
background-color: #5897fb;
color: white; }
.select2-container--default .select2-results__group {
cursor: default;
display: block;
padding: 6px; }
.select2-container--classic .select2-selection--single {
background-color: #f6f6f6;
border: 1px solid #aaa;
border-radius: 4px;
outline: 0;
background-image: -webkit-linear-gradient(top, #ffffff 50%, #eeeeee 100%);
background-image: -o-linear-gradient(top, #ffffff 50%, #eeeeee 100%);
background-image: linear-gradient(to bottom, #ffffff 50%, #eeeeee 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); }
.select2-container--classic .select2-selection--single:focus {
border: 1px solid #5897fb; }
.select2-container--classic .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px; }
.select2-container--classic .select2-selection--single .select2-selection__clear {
cursor: pointer;
float: right;
font-weight: bold;
margin-right: 10px; }
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
color: #999; }
.select2-container--classic .select2-selection--single .select2-selection__arrow {
background-color: #ddd;
border: none;
border-left: 1px solid #aaa;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
height: 26px;
position: absolute;
top: 1px;
right: 1px;
width: 20px;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0); }
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
border-color: #888 transparent transparent transparent;
border-style: solid;
border-width: 5px 4px 0 4px;
height: 0;
left: 50%;
margin-left: -4px;
margin-top: -2px;
position: absolute;
top: 50%;
width: 0; }
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
float: left; }
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
border: none;
border-right: 1px solid #aaa;
border-radius: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
left: 1px;
right: auto; }
.select2-container--classic.select2-container--open .select2-selection--single {
border: 1px solid #5897fb; }
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
background: transparent;
border: none; }
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
border-color: transparent transparent #888 transparent;
border-width: 0 4px 5px 4px; }
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
background-image: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
background-image: -o-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
background-image: linear-gradient(to bottom, #ffffff 0%, #eeeeee 50%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); }
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #ffffff 100%);
background-image: -o-linear-gradient(top, #eeeeee 50%, #ffffff 100%);
background-image: linear-gradient(to bottom, #eeeeee 50%, #ffffff 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); }
.select2-container--classic .select2-selection--multiple {
background-color: white;
border: 1px solid #aaa;
border-radius: 4px;
cursor: text;
outline: 0; }
.select2-container--classic .select2-selection--multiple:focus {
border: 1px solid #5897fb; }
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
list-style: none;
margin: 0;
padding: 0 5px; }
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
display: none; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
background-color: #e4e4e4;
border: 1px solid #aaa;
border-radius: 4px;
cursor: default;
float: left;
margin-right: 5px;
margin-top: 5px;
padding: 0 5px; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
color: #888;
cursor: pointer;
display: inline-block;
font-weight: bold;
margin-right: 2px; }
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #555; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
float: right; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
margin-left: 5px;
margin-right: auto; }
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
margin-left: 2px;
margin-right: auto; }
.select2-container--classic.select2-container--open .select2-selection--multiple {
border: 1px solid #5897fb; }
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0; }
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0; }
.select2-container--classic .select2-search--dropdown .select2-search__field {
border: 1px solid #aaa;
outline: 0; }
.select2-container--classic .select2-search--inline .select2-search__field {
outline: 0; }
.select2-container--classic .select2-dropdown {
background-color: white;
border: 1px solid transparent; }
.select2-container--classic .select2-dropdown--above {
border-bottom: none; }
.select2-container--classic .select2-dropdown--below {
border-top: none; }
.select2-container--classic .select2-results > .select2-results__options {
max-height: 200px;
overflow-y: auto; }
.select2-container--classic .select2-results__option[role=group] {
padding: 0; }
.select2-container--classic .select2-results__option[aria-disabled=true] {
color: grey; }
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
background-color: #3875d7;
color: white; }
.select2-container--classic .select2-results__group {
cursor: default;
display: block;
padding: 6px; }
.select2-container--classic.select2-container--open .select2-dropdown {
border-color: #5897fb; }

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

5403
public/lb-faveo/plugins/select2/select2.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -646,69 +646,88 @@ return [
| Ticket page
|----------------------------------------------
*/
'subject' => 'Subject',
'ticket_id' => 'Ticket ID',
'priority' => 'Priority',
'from' => 'From',
'last_replier' => 'Last Replier',
'assigned_to' => 'Assigned To',
'last_activity' => 'Last Activity',
'answered' => 'Answered',
'assigned' => 'Assigned',
'create_ticket' => 'Create Ticket',
'tickets' => 'Tickets',
'open' => 'Open',
'Ticket_Information' => 'TICKET INFORMATION',
'Ticket_Id' => 'TICKET ID',
'User' => 'USER',
'Unassigned' => 'UNASSIGNED',
'generate_pdf' => 'Generate PDF',
'change_status' => 'Change Status',
'more' => 'More',
'delete_ticket' => 'Delete Ticket',
'emergency' => 'Emergency',
'high' => 'High',
'medium' => 'Medium',
'low' => 'Low',
'sla_plan' => 'SLA Plan',
'created_date' => 'Created Date',
'due_date' => 'Due Date',
'last_response' => 'Last Response',
'source' => 'Source',
'last_message' => 'Last Message',
'reply' => 'Reply',
'response' => 'Response',
'reply_content' => 'Reply Content',
'attachment' => 'Attachment',
'internal_note' => 'Internal Note',
'this_ticket_is_under_banned_user' => 'This ticket is under banned user',
'ticket_source' => 'Ticket Source',
'are_you_sure_to_ban' => 'Are you sure to ban',
'whome_do_you_want_to_assign_ticket' => 'Whome do you want to assign ticket',
'are_you_sure_you_want_to_surrender_this_ticket' => 'Are you sure you want to surrender this Ticket',
'add_collaborator' => 'Add Collaborator',
'search_existing_users' => 'Search existing Users',
'add_new_user' => 'Add new User',
'search_existing_users_or_add_new_users' => 'Search existing users or add new users',
'search_by_email' => 'Search by Email',
'list_of_collaborators_of_this_ticket' => 'List of Collaborators of this Ticket',
'submit' => 'Submit',
'max' => 'Max',
'add_cc' => 'Add CC',
'recepients' => 'Recepients',
'select_a_canned_response' => 'Select a Canned Response',
'assign_to' => 'Assign to',
'detail' => 'Detail',
'user_details' => 'User Details',
'ticket_option' => 'Ticket Option',
'ticket_detail' => 'Ticket Detail',
'Assigned_To' => 'ASSIGNED TO',
'locked-ticket' => 'Alert! This ticket has been locked by another user and currently in process for response.',
'access-ticket' => 'Alert! This ticket has been locked by you for next ',
'minutes' => ' minutes',
'in_minutes' => 'In minutes',
'add_another_owner' => 'Add another owner',
'search_user' => 'Search user',
'subject' => 'Subject',
'ticket_id' => 'Ticket ID',
'priority' => 'Priority',
'from' => 'From',
'last_replier' => 'Last Replier',
'assigned_to' => 'Assigned To',
'last_activity' => 'Last Activity',
'answered' => 'Answered',
'assigned' => 'Assigned',
'create_ticket' => 'Create Ticket',
'tickets' => 'Tickets',
'open' => 'Open',
'Ticket_Information' => 'TICKET INFORMATION',
'Ticket_Id' => 'TICKET ID',
'User' => 'USER',
'Unassigned' => 'UNASSIGNED',
'generate_pdf' => 'Generate PDF',
'change_status' => 'Change Status',
'more' => 'More',
'delete_ticket' => 'Delete Ticket',
'emergency' => 'Emergency',
'high' => 'High',
'medium' => 'Medium',
'low' => 'Low',
'sla_plan' => 'SLA Plan',
'created_date' => 'Created Date',
'due_date' => 'Due Date',
'last_response' => 'Last Response',
'source' => 'Source',
'last_message' => 'Last Message',
'reply' => 'Reply',
'response' => 'Response',
'reply_content' => 'Reply Content',
'attachment' => 'Attachment',
'internal_note' => 'Internal Note',
'this_ticket_is_under_banned_user' => 'This ticket is under banned user',
'ticket_source' => 'Ticket Source',
'are_you_sure_to_ban' => 'Are you sure to ban',
'whome_do_you_want_to_assign_ticket' => 'Whome do you want to assign ticket',
'are_you_sure_you_want_to_surrender_this_ticket' => 'Are you sure you want to surrender this Ticket',
'add_collaborator' => 'Add Collaborator',
'search_existing_users' => 'Search existing Users',
'add_new_user' => 'Add new User',
'search_existing_users_or_add_new_users' => 'Search existing users or add new users',
'search_by_email' => 'Search by Email',
'list_of_collaborators_of_this_ticket' => 'List of Collaborators of this Ticket',
'submit' => 'Submit',
'max' => 'Max',
'add_cc' => 'Add CC',
'recepients' => 'Recepients',
'select_a_canned_response' => 'Select a Canned Response',
'assign_to' => 'Assign to',
'detail' => 'Detail',
'user_details' => 'User Details',
'ticket_option' => 'Ticket Option',
'ticket_detail' => 'Ticket Detail',
'Assigned_To' => 'ASSIGNED TO',
'locked-ticket' => 'Alert! This ticket has been locked by another user and currently in process for response.',
'access-ticket' => 'Alert! This ticket has been locked by you for next ',
'minutes' => ' minutes',
'in_minutes' => 'In minutes',
'add_another_owner' => 'Add another owner',
'user-not-found' => 'User not found. Try again or add a new user.',
'change-success' => 'Success! owner has been changed for this ticket.',
'user-exists' => 'User already exists. Try search existing user.',
'valid-email' => 'Enter a valid email address.',
'search_user' => 'Search user',
'merge-ticket' => 'Merge ticket',
'title' => 'Title',
'merge' => 'Merge',
'select_tickets' => 'Select tickets to merge',
'select-pparent-ticket' => 'Select parent ticket',
'merge-reason' => 'Reason for merging',
'get_merge_message' => 'This ticket has been merged with ticket',
'ticket_merged' => ' has been merged with this ticket.',
'no-tickets-to-merge' => 'There are no more tickets by the owner of this ticket.',
'merge-error' => 'Could not process your request try after some time.',
'merge-success' => 'Tickets has been merged successfully.',
'merge-error2' => 'Please select ticket to merge.',
'select-tickets-to merge' => 'select two or more tickets to merge.',
'different-users' => 'Ticktes from different users',
/*
|------------------------------------------------
|Tools Page

View File

@@ -49,6 +49,7 @@ class="active"
{{-- <a class="btn btn-default btn-sm" id="click"><i class="fa fa-refresh"></i></a> --}}
<input type="submit" class="btn btn-default text-orange btn-sm" name="submit" value="{!! Lang::get('lang.delete') !!}">
<input type="submit" class="btn btn-default text-yellow btn-sm" name="submit" value="{!! Lang::get('lang.close') !!}">
<button type="button" class="btn btn-sm btn-default text-yellow" id="Edit_Ticket" data-toggle="modal" data-target="#MergeTickets"><i class="fa fa-chain"> </i> {!! Lang::get('lang.merge') !!}</button>
</div>
<div class="mailbox-messages" id="refresh">
@@ -73,7 +74,74 @@ class="active"
</div><!-- /.box-body -->
</div><!-- /. box -->
<!-- merge tickets modal -->
<div class="modal fade" id="MergeTickets">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" id="merge-close" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">{!! Lang::get('lang.merge-ticket') !!} </h4>
</div><!-- /.modal-header-->
<div class ="modal-body">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-6" id="merge_loader" style="display:none;">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
</div><!-- /.merge-loader -->
</div>
<div id="merge_body">
<div id="merge-body-alert">
<div class="row">
<div class="col-md-12">
<div id="merge-succ-alert" class="alert alert-success alert-dismissable" style="display:none;" >
<button id="dismiss-merge" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i>Alert!</h4>
<div id="message-merge-succ"></div>
</div>
<div id="merge-err-alert" class="alert alert-danger alert-dismissable" style="display:none;">
<button id="dismiss-merge2" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i>Alert!</h4>
<div id="message-merge-err"></div>
</div>
</div>
</div>
</div><!-- /.merge-alert -->
<div id="merge-body-form">
<div class="row">
<div class="col-md-6">
{!! Form::open(['id'=>'merge-form','method' => 'PATCH'] )!!}
<label>{!! Lang::get('lang.title') !!}</label>
<input type="text" name='title' class="form-control" value="" placeholder="Optional" />
</div>
<div class="col-md-6">
<label>{!! Lang::get('lang.select-pparent-ticket') !!}</label>
<select class="form-control" id="select-merge-parent" name='p_id' data-placeholder="{!! Lang::get('lang.select_tickets') !!}" style="width: 100%;"><option value=""></option></select>
</div>
</div>
<div class="row">
<div class="col-md-8">
<label>{!! Lang::get('lang.merge-reason') !!}</label>
<textarea name="reason" class="form-control"></textarea>
</div>
</div>
</div><!-- mereg-body-form -->
</div><!-- merge-body -->
</div><!-- /.modal-body -->
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">{!! Lang::get('lang.close') !!}</button>
<input type="submit" id="merge-btn" class="btn btn-primary pull-right" value="{!! Lang::get('lang.merge') !!}"></input>
{!! Form::close() !!}
</div><!-- /.modal-footer -->
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
var t_id =[];
$(function () {
//Enable check and uncheck all functionality
$(".checkbox-toggle").click(function () {
@@ -93,6 +161,7 @@ class="active"
$(function() {
// Enable check and uncheck all functionality
$(".checkbox-toggle").click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
@@ -113,7 +182,145 @@ class="active"
$('#count_refresh').load('inbox #count_refresh');
$("#show").show();
});
$(".select2").select2();
//checking merging tickets
$('#MergeTickets').on('show.bs.modal', function () {
// alert("hi");
$.ajax({
type: "GET",
url: "../check-merge-ticket/"+0,
dataType: "html",
data:{data1: t_id},
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.select-tickets-to merge')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else if(response == 2) {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.different-users')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-body-alert").hide();
$("#merge-body-form").show();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', false);
$("#merge_loader").hide();
$.ajax({
url: "../get-merge-tickets/"+0,
dataType: "html",
data:{data1: t_id},
success: function(data) {
$('#select-merge-parent').html(data);
}
// return false;
});
}
}
});
});
//submit merging form
$('#merge-form').on('submit', function(){
$.ajax({
type: "POST",
url: "../merge-tickets/"+t_id,
dataType: "json",
data: $(this).serialize(),
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-error')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-success')}}";
$("#merge-succ-alert").show();
$('#message-merge-succ').html(message);
setInterval(function(){
$("#alert11").hide();
setTimeout(function() {
var link = document.querySelector('#load-inbox');
if(link) {
link.click();
}
}, 500);
},2000);
}
}
})
return false;
});
});
function someFunction(id){
if(document.getElementById(id).checked) {
t_id.push(id);
// alert(t_id);
} else {
var index = t_id.indexOf(id);
t_id.splice(index, 1);
// alert(t_id);
}
// thisid.push(id);
// alert(thisid);
// document.getElementById("demo").innerHTML = thisid;
// push.thisid;
// alert(thisid);
// document.getElementByID('demo').innerHTML = thisid;
}
</script>
@stop

View File

@@ -113,7 +113,7 @@ active
</button>
<ul class="dropdown-menu pull-right">
<li data-toggle="modal" data-target="#ChangeOwner"><a href="#"><i class="fa fa-users" style="color:green;"> </i>Change Owner</a></li>
<!-- <li><a href="#"><i class="fa fa-edit" style="color:blue;"> </i>Manage Forms</a></li> -->
<li data-toggle="modal" data-target="#MergeTickets"><a href="#"><i class="fa fa-chain" style="color:teal;"> </i>{!! Lang::get('lang.merge-ticket') !!}</a></li>
<?php if ($group->can_delete_ticket == 1) {?>
<li id="delete"><a href="#"><i class="fa fa-trash-o" style="color:red;"> </i>{!! Lang::get('lang.delete_ticket') !!}</a></li>
<?php }
@@ -1140,6 +1140,89 @@ $count_teams = count($teams);
</div>
</div>
<!-- merge tickets modal -->
<div class="modal fade" id="MergeTickets">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" id="merge-close" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">{!! Lang::get('lang.merge-ticket') !!} </h4>&nbsp;<b>#{!! $tickets->ticket_number !!}</b>
</div><!-- /.modal-header-->
<div class ="modal-body">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-6" id="merge_loader" style="display:none;">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
</div><!-- /.merge-loader -->
</div>
<div id="merge_body">
<div id="merge-body-alert">
<div class="row">
<div class="col-md-12">
<div id="merge-succ-alert" class="alert alert-success alert-dismissable" style="display:none;" >
<button id="dismiss-merge" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i>Alert!</h4>
<div id="message-merge-succ"></div>
</div>
<div id="merge-err-alert" class="alert alert-danger alert-dismissable" style="display:none;">
<button id="dismiss-merge2" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i>Alert!</h4>
<div id="message-merge-err"></div>
</div>
</div>
</div>
</div><!-- /.merge-alert -->
<div id="merge-body-form">
<div class="row">
<div class="col-md-6">
{!! Form::open(['id'=>'merge-form','method' => 'PATCH'] )!!}
<label>{!! Lang::get('lang.title') !!}</label>
<input type="text" name='title' class="form-control" value="<?php $ticket_data = App\Model\helpdesk\Ticket\Ticket_Thread::select('title')->where('ticket_id', "=", $tickets->id)->first(); echo $ticket_data->title;?>"/>
</div>
<div class="col-md-6">
<label>{!! Lang::get('lang.select-pparent-ticket') !!}</label>
<div id="parent-loader" style="display:none;">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}" height="30px" width="30px">
</div>
<div id="parent-body" >
<select class="form-control" id="select-merge-parent" name='p_id' data-placeholder="{!! Lang::get('lang.select_tickets') !!}" style="width: 100%;"><option value="{{$tickets->id}}"><?php $ticket_data = App\Model\helpdesk\Ticket\Ticket_Thread::select('title')->where('ticket_id', "=", $tickets->id)->first(); echo $ticket_data->title;?></option></select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-8">
<label>{!! Lang::get('lang.select_tickets') !!}</label>
<select class="form-control select2" id="select-merge-tickts" name="t_id[]" multiple="multiple" data-placeholder="{!! Lang::get('lang.select_tickets') !!}" style="width: 100%;">
</select>
</div>
</div>
<div class="row">
<div class="col-md-8">
<label>{!! Lang::get('lang.merge-reason') !!}</label>
<textarea name="reason" class="form-control"></textarea>
</div>
</div>
</div><!-- mereg-body-form -->
</div><!-- merge-body -->
</div><!-- /.modal-body -->
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">{!! Lang::get('lang.close') !!}</button>
<input type="submit" id="merge-btn" class="btn btn-primary pull-right" value="{!! Lang::get('lang.merge') !!}"></input>
{!! Form::close() !!}
</div><!-- /.modal-footer -->
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<?php $var=App\Model\helpdesk\Settings\Ticket::where('id', '=', 1)->first(); ?>
<!-- scripts used on page -->
@@ -1151,7 +1234,7 @@ $count_teams = count($teams);
jQuery('.star').attr('disabled', true);
$(function () {
$(function () {
// $('#cand').wysihtml5();
var wysihtml5Editor = $('#reply_content').wysihtml5().data("wysihtml5").editor;
@@ -1181,7 +1264,7 @@ jQuery('.star').attr('disabled', true);
return false;
});
});
});
@@ -1192,6 +1275,10 @@ $(function() {
});
$(document).ready(function () {
//Initialize Select2 Elements
$(".select2").select2();
setInterval(function(){
$("#auto-submit").submit(function(){
$.ajax({
@@ -1205,7 +1292,7 @@ $(document).ready(function () {
jQuery(document).ready(function() {
jQuery(document).ready(function() {
// Close a ticket
$('#close').on('click', function(e) {
$.ajax({
@@ -1448,7 +1535,7 @@ $(document).ready(function () {
if(response != 1)
{
// $("#assign_body").show();
var message = "User not found. Try again or add a new user.";
var message = "{{Lang::get('lang.user-not-found')}}";
$('#change_alert').show();
$('#message-success42').html(message);
setInterval(function(){$("#change_alert").hide(); },5000);
@@ -1466,7 +1553,7 @@ $(document).ready(function () {
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
$("#refreshTo").load("../thread/{{$tickets->id}} #refreshTo");
var message = "Success! owner has been changed for this ticket.";
var message = "{{Lang::get('lang.change-success')}}";
$("#alert11").show();
$('#message-success1').html(message);
setInterval(function(){$("#alert11").hide(); },4000);
@@ -1498,15 +1585,15 @@ $(document).ready(function () {
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
$("#refreshTo").load("../thread/{{$tickets->id}} #refreshTo");
var message = "Success! owner has been changed for this ticket.";
var message = "{{Lang::get('lang.change-success')}}";
$("#alert11").show();
$('#message-success1').html(message);
setInterval(function(){$("#alert11").hide(); },4000);
} else {
if(response == 4){
var message = "User already exists. Try search existing user.";
var message = "{{Lang::get('lang.user-exists')}}";
} else if(response == 5){
var message = "Enter a valid email address.";
var message = "{{Lang::get('lang.valid-email')}}";
} else {
//var message = "Can't process your request. Try after some time.";
}
@@ -1702,7 +1789,106 @@ $(document).ready(function () {
return false;
});
});
// checking merge
$('#MergeTickets').on('show.bs.modal', function (id) {
$.ajax({
type: "GET",
url: "../check-merge-ticket/{{ $tickets->id }}",
dataType: "html",
data:$(this).serialize(),
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.no-tickets-to-merge')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-body-alert").hide();
$("#merge-body-form").show();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', false);
$("#merge_loader").hide();
$.ajax({
url: "../get-merge-tickets/{{ $tickets->id}}",
type: 'GET',
data: $(this).serialize(),
success: function(data) {
$('#select-merge-tickts').html(data);
}
// return false;
});
}
}
});
});
//submit merging form
$('#merge-form').on('submit', function(){
$.ajax({
type: "POST",
url: "../merge-tickets/{{ $tickets->id }}",
dataType: "html",
data: $(this).serialize(),
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-error')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else if(response == 2) {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-error2')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
$("#refreshTo").load("../thread/{{$tickets->id}} #refreshTo");
var message = "{{Lang::get('lang.merge-success')}}";
$("#merge-succ-alert").show();
$('#message-merge-succ').html(message);
}
}
})
return false;
});
});
@@ -1729,6 +1915,42 @@ $(document).ready(function () {
}
$(document).ready(function() {
var Vardata="";
var count = 0;
$(".select2").on('select2:select', function(){
parentAjaxCall();
});
$(".select2").on('select2:unselect', function(){
parentAjaxCall();
});
function parentAjaxCall(){
// alert();
var arr = $("#select-merge-tickts").val();
if(arr == null) {
document.getElementById("select-merge-parent").innerHTML = "<option value='{{$tickets->id}}'><?php $ticket_data = App\Model\helpdesk\Ticket\Ticket_Thread::select('title')->where('ticket_id', "=", $tickets->id)->first(); echo $ticket_data->title;?></option>"
} else {
$.ajax({
type: "GET",
url: "../get-parent-tickets/{{ $tickets->id }}",
dataType: "html",
data:{data1:arr},
beforeSend: function() {
$("#parent-loader").show();
$("#parent-body").hide();
},
success: function(data) {
$("#parent-loader").hide();
$("#parent-body").show();
// $("#select-merge-parent").focus();
$('#select-merge-parent').html(data);
// $( this ).off( event );
}
});
}
}
var locktime = '<?php echo $var->collision_avoid;?>'*60*1000;
lockAjaxCall(locktime);
setInterval(function() {// to call ajax for ticket lock repeatedly after defined lock time interval

View File

@@ -33,6 +33,9 @@
<link rel="stylesheet" type="text/css" href="{{asset("lb-faveo/css/faveo-css.css")}}">
<link href="{{asset("lb-faveo/css/jquery.rating.css")}}" rel="stylesheet" type="text/css" />
<!-- Select2 -->
<link rel="stylesheet" href="{{asset("lb-faveo/plugins/select2/select2.min.css")}}">
<!--[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>
@@ -329,6 +332,8 @@ $group = App\Model\helpdesk\Agent\Groups::where('id', '=', $agent_group)->where(
<script type="text/javascript" src="{{asset("lb-faveo/plugins/datatables/dataTables.bootstrap.js")}}"></script>
<script src="{{asset("lb-faveo/js/jquery.rating.pack.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/plugins/select2/select2.full.min.js")}}" ></script>
<script>
$(function() {
// Enable iCheck plugin for checkboxes

View File

@@ -1,7 +1,9 @@
@extends('themes.default1.installer.layout.installer')
@section('serial')
active
@stop
@section('content')
<div class="wc-setup-content" ng-app="myApp">
<h1 style="text-align: center;">Faveo HELPDESK Serial Key</h1>
@@ -42,7 +44,7 @@ active
</td>
<td style="">
{!! $errors->first('order_no', '<spam class="help-block">:message</spam>') !!}
<input type="text" name="order_no" style="margin-left:180px;width:274px;" value="010451236">
<input type="text" name="order_no" style="margin-left:180px;width:274px;" value="">
<br/><br/>
</td>
</tr>

View File

@@ -14,7 +14,10 @@ active
@section('content')
<div ng-app="myApp">
@if(Session::has('fails'))
<h1 style="text-align: center;">Database Setup</h1>
<p class="wc-setup-content">Below you should enter your database connection details. If youre not sure about these, contact your host.</p>
@if(Session::has('fails'))
<div class="wc-setup-content">
<div class="woocommerce-message woocommerce-tracker">
<div class="fail">
@@ -23,10 +26,23 @@ active
</div>
</div>
@endif
<h1 style="text-align: center;">Database Setup</h1>
<p class="wc-setup-content">Below you should enter your database connection details. If youre not sure about these, contact your host.</p>
@if($errors->has('default') || $errors->has('host') || $errors->has('port') || $errors->has('databasename') || $errors->has('username') || $errors->has('password'))
<div class="wc-setup-content">
<div class="woocommerce-message woocommerce-tracker">
<div class="fail">
{!! $errors->first('default', '<spam id="fail">:message</spam><br/>') !!}
{!! $errors->first('host', '<spam id="fail">:message</spam><br/>') !!}
{!! $errors->first('port', '<spam id="fail">:message</spam><br/>') !!}
{!! $errors->first('databasename', '<spam id="fail">:message</spam><br/>') !!}
{!! $errors->first('username', '<spam id="fail">:message</spam><br/>') !!}
{!! $errors->first('password', '<spam id="fail">:message</spam><br/>') !!}
<br/>
</div>
</div>
</div>
@endif
{!! Form::open(['url'=> '/step4post']) !!}
<table ng-controller="MainController">
@@ -40,8 +56,6 @@ active
<div>
<select name="default" data-placeholder="Choose a SQL format..." class="chosen-select" style="width:290px;" tabindex="2">
<option value="mysql">MySQL</option>
<option value="pgsql">PgSQL</option>
<option value="sqlsrv">SQLSRV</option>
</select>
</div>
</div>
@@ -57,7 +71,7 @@ active
: red;font-size:12px;">*</span></label>
</td>
<td>
<input type="text" name="host" required>
<input type="text" name="host">
</td>
<td>
<button type="button" data-toggle="popover" data-placement="right" data-arrowcolor="#eeeeee" data-bordercolor="#bbbbbb" data-title-backcolor="#cccccc" data-title-bordercolor="#bbbbbb" data-title-textcolor="#444444" data-content-backcolor="#eeeeee" data-content-textcolor="#888888" title="@{{Hosttitle}}" data-content="@{{Hostcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
@@ -69,7 +83,7 @@ active
<label for="box2">Port</label>
</td>
<td>
<input type="text" name="port">
<input type="number" name="port">
</td>
<td>
<button type="button" data-toggle="popover" data-placement="right" data-arrowcolor="#eeeeee" data-bordercolor="#bbbbbb" data-title-backcolor="#cccccc" data-title-bordercolor="#bbbbbb" data-title-textcolor="#444444" data-content-backcolor="#eeeeee" data-content-textcolor="#888888" title="@{{Porttitle}}" data-content="@{{Portcontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
@@ -82,7 +96,7 @@ active
: red;font-size:12px;">*</span></label>
</td>
<td>
<input type="text" name="databasename" required>
<input type="text" name="databasename">
</td>
<td>
<button type="button" data-toggle="popover" data-placement="right" data-arrowcolor="#eeeeee" data-bordercolor="#bbbbbb" data-title-backcolor="#cccccc" data-title-bordercolor="#bbbbbb" data-title-textcolor="#444444" data-content-backcolor="#eeeeee" data-content-textcolor="#888888" title="@{{Databasenametitle}}" data-content="@{{Databasenamecontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>
@@ -95,7 +109,7 @@ active
: red; font-size: 12px;">*</span></label>
</td>
<td>
<input type="text" name="username" required>
<input type="text" name="username">
</td>
<td>
<button type="button" data-toggle="popover" data-placement="right" data-arrowcolor="#eeeeee" data-bordercolor="#bbbbbb" data-title-backcolor="#cccccc" data-title-bordercolor="#bbbbbb" data-title-textcolor="#444444" data-content-backcolor="#eeeeee" data-content-textcolor="#888888" title="@{{Usertitle}}" data-content="@{{Usercontent}}" style="padding: 0px;border: 0px; border-radius: 5px;"><i class="fa fa-question-circle" style="padding: 0px;"></i>

View File

@@ -58,13 +58,10 @@ active
@endif
<div ng-controller="MainController">
<table>
<table>
<p>Welcome to the five-minute Faveo installation process! Just fill in the information below.</p>
<h1 style="border-top:1px solid #dedede; border-bottom:1px solid #dedede; padding: 10px 0px 10px 0px;">Personal Information</h1>
<p>Please provide the following information. Dont worry, you can always change these settings later.</p>
<div>
<tr>
<td>
@@ -107,9 +104,7 @@ active
</tr>
</div>
</table>
<table>
<h1>Login Information</h1>
<div>
@@ -338,7 +333,7 @@ active
<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>
<a href="{{url('step4')}}" class="button button-large button-next" style="float: left">Previous</a>
</p>
</form>
</div>

View File

@@ -0,0 +1 @@
scripts/filemanager.config.js

View File

@@ -165,11 +165,12 @@ Error Handling
--------------
Every response should include two keys specific to error handling: Error, and Code. If an error occurs in your script, you may populate these keys with whatever values you feel are most appropriate. If there is no error, Error should remain empty or null, and Code should be empty, null, or zero (0). Do not use zero for any actual errors. The following example would be an appropriate response if the connector uses an external file for configuration (recommended), but that file cannot be found:
{
"Error": "Configuration file missing.",
"Code": -1
}
```json
{
"Error": "Configuration file missing.",
"Code": -1
}
```
Methods
-------
@@ -185,23 +186,25 @@ Example Request:
Example Response:
{
"Path": "/UserFiles/Image/logo.png",
"Filename": "logo.png",
"File Type": "png",
"Preview": "/UserFiles/Image/logo.png",
"Protected": 0,
"Properties": {
"Date Created": null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height": 14,
"Width": 14,
"Size": 384
},
"Error": "",
"Code": 0
}
```json
{
"Path": "/UserFiles/Image/logo.png",
"Filename": "logo.png",
"File Type": "png",
"Preview": "/UserFiles/Image/logo.png",
"Protected": 0,
"Properties": {
"Date Created": null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height": 14,
"Width": 14,
"Size": 384
},
"Error": "",
"Code": 0
}
```
The keys are as follows:
@@ -245,57 +248,59 @@ Example Request:
Example Response:
{
"/UserFiles/Image/logo.png": {
"Path": "/UserFiles/Image/logo.png",
"Filename": "logo.png",
"File Type": "png",
"Preview": "/UserFiles/Image/logo.png",
"Protected": 0,
"Properties": {
"Date Created": null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height": 14,
"Width": 14,
"Size": 384
},
"Error": "",
"Code": 0
},
"/UserFiles/Image/icon.png": {
"Path": "/UserFiles/Image/icon.png",
"Filename": "icon.png",
"File Type": "png",
"Preview": "/UserFiles/Image/icon.png",
"Properties": {
"Date Created": null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height": 14,
"Width": 14,
"Size": 384
},
"Error": "",
"Code": 0
},
"/UserFiles/folder/":{
"Path":"/UserFiles/folder/",
"Filename":"folder",
"File Type":"dir",
"Preview":"images\/fileicons\/_Open.png",
"Properties": {
"Date Created":null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height":null,
"Width":null,
"Size":null
},
"Error":"",
"Code":0
}
}
```json
{
"/UserFiles/Image/logo.png": {
"Path": "/UserFiles/Image/logo.png",
"Filename": "logo.png",
"File Type": "png",
"Preview": "/UserFiles/Image/logo.png",
"Protected": 0,
"Properties": {
"Date Created": null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height": 14,
"Width": 14,
"Size": 384
},
"Error": "",
"Code": 0
},
"/UserFiles/Image/icon.png": {
"Path": "/UserFiles/Image/icon.png",
"Filename": "icon.png",
"File Type": "png",
"Preview": "/UserFiles/Image/icon.png",
"Properties": {
"Date Created": null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height": 14,
"Width": 14,
"Size": 384
},
"Error": "",
"Code": 0
},
"/UserFiles/folder/":{
"Path":"/UserFiles/folder/",
"Filename":"folder",
"File Type":"dir",
"Preview":"images\/fileicons\/_Open.png",
"Properties": {
"Date Created":null,
"Date Modified": "02/09/2007 14:01:06",
"filemtime": 1360237058,
"Height":null,
"Width":null,
"Size":null
},
"Error":"",
"Code":0
}
}
```
Each key in the array is the path to an individual item, and the value is the file object for that item.
@@ -310,14 +315,16 @@ Example Request:
Example Response:
{
"Error": "No error",
"Code": 0,
"Old Path": "/a_folder_renamed/thisisareallylongincrediblylongfilenamefortesting.txt",
"Old Name": "thisisareallylongincrediblylongfilenamefortesting.txt",
"New Path": "/a_folder_renamed/a_renamed_file",
"New Name": "a_renamed_file"
}
```json
{
"Error": "No error",
"Code": 0,
"Old Path": "/a_folder_renamed/thisisareallylongincrediblylongfilenamefortesting.txt",
"Old Name": "thisisareallylongincrediblylongfilenamefortesting.txt",
"New Path": "/a_folder_renamed/a_renamed_file",
"New Name": "a_renamed_file"
}
```
move
------
@@ -329,14 +336,16 @@ Example Request: Move file
Example Response:
{
"Error": "No error",
"Code": 0,
"Old Path": "/uploads/images/original/Image/",
"Old Name": "logo.png",
"New Path": "/uploads/images/moved/",
"New Name": "logo.png"
}
```json
{
"Error": "No error",
"Code": 0,
"Old Path": "/uploads/images/original/Image/",
"Old Name": "logo.png",
"New Path": "/uploads/images/moved/",
"New Name": "logo.png"
}
```
Example Request: Move directory to not existing directory (will be created)
@@ -344,15 +353,16 @@ Example Request: Move directory to not existing directory (will be created)
Example Response:
{
"Error": "No error",
"Code": 0,
"Old Path": "/uploads/images/original/",
"Old Name": "Image",
"New Path": "/uploads/new_dir/",
"New Name": "Image"
}
```json
{
"Error": "No error",
"Code": 0,
"Old Path": "/uploads/images/original/",
"Old Name": "Image",
"New Path": "/uploads/new_dir/",
"New Name": "Image"
}
```
@@ -366,38 +376,43 @@ Example Request:
Example Response:
{
"Error": "No error",
"Code": 0,
"Path": "/UserFiles/Image/logo.png"
}
```json
{
"Error": "No error",
"Code": 0,
"Path": "/UserFiles/Image/logo.png"
}
```
add
---
The `add` method adds the uploaded file to the specified path. Unlike the other methods, this method must return its JSON response wrapped in an HTML <textarea>, so the MIME type of the response is text/html instead of text/plain. The upload form in the File Manager passes the current path as a POST param along with the uploaded file. The response includes the path as well as the name used to store the file. The uploaded file's name should be safe to use as a path component in a URL, so URL-encoded at a minimum.
The `add` method adds the uploaded file to the specified path. Unlike the other methods, this method must return its JSON response wrapped in an HTML `<textarea>`, so the MIME type of the response is text/html instead of text/plain. The upload form in the File Manager passes the current path as a POST param along with the uploaded file. The response includes the path as well as the name used to store the file. The uploaded file's name should be safe to use as a path component in a URL, so URL-encoded at a minimum.
Example Response:
{
"Path": "/UserFiles/Image/",
"Name": "new_logo.png",
"Error": "No error",
"Code": 0
}
```json
{
"Path": "/UserFiles/Image/",
"Name": "new_logo.png",
"Error": "No error",
"Code": 0
}
```
replace
---
The `replace` method allow the user to replace a specific file whatever the new filename - at least, the new file should have the same extension the original has. The old file is automatically overwritten. Unlike the other methods, this method must return its JSON response wrapped in an HTML <textarea>, so the MIME type of the response is text/html instead of text/plain. The *dynamic* upload form in the File Manager passes the current file path as a POST param along with the uploaded file. The response includes the path as well as the name used to store the file.
The `replace` method allow the user to replace a specific file whatever the new filename - at least, the new file should have the same extension the original has. The old file is automatically overwritten. Unlike the other methods, this method must return its JSON response wrapped in an HTML `<textarea>`, so the MIME type of the response is text/html instead of text/plain. The *dynamic* upload form in the File Manager passes the current file path as a POST param along with the uploaded file. The response includes the path as well as the name used to store the file.
Example Response:
{
"Path": "/UserFiles/Image/",
"Name": "new_logo.png",
"Error": "No error",
"Code": 0
}
```json
{
"Path": "/UserFiles/Image/",
"Name": "new_logo.png",
"Error": "No error",
"Code": 0
}
```
editfile
--------
@@ -406,27 +421,31 @@ The `editfile` method returns the content of a given file (passed as parameter).
Example request:
[path to connector]?mode=editfile&path=/UserFiles/MyFolder/myfile.txt
Example Response:
{
"Error": "No error",
"Code": 0,
"Path": "/UserFiles/MyFolder/myfile.txt",
"Content": "Content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\r\n\Phasellus eu erat lorem.\r\n\r\n\Bye!"
}
```json
{
"Error": "No error",
"Code": 0,
"Path": "/UserFiles/MyFolder/myfile.txt",
"Content": "Content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\r\n\Phasellus eu erat lorem.\r\n\r\n\Bye!"
}
```
savefile
--------
The `save` method will overwrite the content of the current file. The edit form in the File Manager passes the mode (as `savefile`), path of the current file and the content as POST parameters.
Example Response:
{
"Error": "No error",
"Code": 0,
"Path": "/UserFiles/MyFolder/myfile.txt"
}
```json
{
"Error": "No error",
"Code": 0,
"Path": "/UserFiles/MyFolder/myfile.txt"
}
```
preview
--------
@@ -444,15 +463,17 @@ The `addfolder` method creates a new directory on the server within the given pa
Example Request:
[path to connector]?mode=addfolder&path=/UserFiles/&name=new%20logo.png
Example Response:
{
"Parent": "/UserFiles/",
"Name": "new_logo.png",
"Error": "No error",
"Code": 0
}
```json
{
"Parent": "/UserFiles/",
"Name": "new_logo.png",
"Error": "No error",
"Code": 0
}
```
download

View File

@@ -1,3 +1,11 @@
From version 2.3.0 to 2.4.0
---------------------------
- handle better language ISO 4 Letters | #428
- encode path on requests | #429
- catalan translation updated | #440
- security fix : Path Traversal Vulnerability | #453
From version 2.2.0 to 2.3.0
---------------------------
- PDF viewer added | #377 & #319

View File

@@ -31,7 +31,8 @@ $app['session']->driver()->setId($id);
$app['session']->driver()->start();
// Folder path
$folderPath = $app->basePath() . '/public/'.config('filemanager.folder_path');
$folderPath = $app->publicPath() . '/'. config('filemanager.folder_path');
$folderPath = str_replace('\\', '/', $folderPath);
// Check if user in authentified
if(!$app['auth']->check())

View File

@@ -410,7 +410,7 @@ class Filemanager {
$new_file = $this->getFullPath($path . '/' . $this->get['new']). $suffix;
$old_file = $this->getFullPath($this->get['old']) . $suffix;
if(!$this->has_permission('rename') || !$this->is_valid_path($old_file)) {
if(!$this->has_permission('rename') || !$this->is_valid_path($old_file) || !$this->is_valid_path($new_file)) {
$this->error("No way.");
}
@@ -446,7 +446,17 @@ class Filemanager {
} else {
$this->error(sprintf($this->lang('ERROR_RENAMING_FILE'),$filename,$this->get['new']));
}
}
} else {
// For image only - rename thumbnail if original image was successfully renamed
if(!is_dir($new_file) && $this->is_image($new_file)) {
$new_thumbnail = $this->get_thumbnail_path($new_file);
$old_thumbnail = $this->get_thumbnail_path($old_file);
if(file_exists($old_thumbnail)) {
rename($old_thumbnail, $new_thumbnail);
}
}
}
$array = array(
'Error'=>"",
'Code'=>0,
@@ -924,6 +934,9 @@ class Filemanager {
public function preview($thumbnail) {
$current_path = $this->getFullPath();
if(!$this->is_valid_path($current_path)) $this->error("No way.");
if(isset($this->get['path']) && file_exists($current_path)) {
@@ -1189,10 +1202,20 @@ private function is_valid_path($path) {
// return $this->startsWith($givenpath, $rootpath);
$this->__log('substr path_to_files : ' . substr(realpath($path) . DIRECTORY_SEPARATOR, 0, strlen($this->path_to_files)));
$this->__log('path_to_files : ' . realpath($this->path_to_files) . DIRECTORY_SEPARATOR);
return (substr(realpath($path) . DIRECTORY_SEPARATOR, 0, strlen(realpath($this->path_to_files))) . DIRECTORY_SEPARATOR) == (realpath($this->path_to_files) . DIRECTORY_SEPARATOR);
// handle better symlinks & network path
$patt = array('/\\\\+/','/\/+/');
$repl = array('\\\\','/');
$substrpath = substr(realpath($path) . DIRECTORY_SEPARATOR, 0, strlen($this->path_to_files)) . DIRECTORY_SEPARATOR;
$substrpath = preg_replace($patt,$repl,$substrpath); // removing double slash
$rpath = realpath($this->path_to_files) . DIRECTORY_SEPARATOR;
$rpath = preg_replace($patt,$repl,$rpath); // removing double slash
$this->__log('substr path : ' . $substrpath);
$this->__log('real path : ' . $rpath);
return ($substrpath == $rpath);
}
@@ -1530,4 +1553,4 @@ public function expandPath($path, $clean = false)
return implode('/', $fullPath);
}
}
?>
?>

View File

@@ -19,7 +19,7 @@
"dateFormat": "d M Y H:i",
"serverRoot": false,
"fileRoot": "/",
"baseUrl": "/filemanager/",
"baseUrl": "/",
"logger": false,
"capabilities": ["select", "download", "rename", "delete", "replace"],
"plugins": []

View File

@@ -158,14 +158,15 @@ $.prompt.setDefaults({
// Forces columns to fill the layout vertically.
// Called on initial page load and on resize.
var setDimensions = function(){
var bheight = 53;
var bheight = 53,
$uploader = $('#uploader');
if($.urlParam('CKEditorCleanUpFuncNum')) bheight +=60;
var newH = $(window).height() - $('#uploader').height() - bheight;
var newH = $(window).height() - $uploader.height() - $uploader.offset().top - bheight;
$('#splitter, #filetree, #fileinfo, .vsplitbar').height(newH);
var newW = $('#splitter').width() - $('div.vsplitbar').width() - $('#filetree').width();
$('#fileinfo').width(newW);
$('#fileinfo').width(newW);
};
// Display Min Path
@@ -730,7 +731,7 @@ var renameItem = function(data) {
}
var oldPath = data['Path'];
var connectString = fileConnector + '?mode=rename&old=' + data['Path'] + '&new=' + givenName + '&config=' + userconfig;
var connectString = fileConnector + '?mode=rename&old=' + encodeURIComponent(data['Path']) + '&new=' + encodeURIComponent(givenName) + '&config=' + userconfig;
$.ajax({
type: 'GET',
@@ -1221,7 +1222,7 @@ function getContextMenuOptions(elem) {
// Binds contextual menus to items in list and grid views.
var setMenus = function(action, path) {
var d = new Date(); // to prevent IE cache issues
$.getJSON(fileConnector + '?mode=getinfo&path=' + path + '&config=' + userconfig + '&time=' + d.getMilliseconds(), function(data){
$.getJSON(fileConnector + '?mode=getinfo&path=' + encodeURIComponent(path) + '&config=' + userconfig + '&time=' + d.getMilliseconds(), function(data){
if($('#fileinfo').data('view') == 'grid'){
var item = $('#fileinfo').find('img[data-path="' + data['Path'] + '"]').parent();
} else {

View File

@@ -9,7 +9,7 @@ if(!a("#"+g).length){var b=a("#itemOptions").clone().attr("id",g);c.hasClass("ca
null;"user"==("undefined"===typeof c?"user":c)?0!=a.urlParam("config")?(c="./scripts/"+a.urlParam("config"),userconfig=a.urlParam("config")):(c="./scripts/filemanager.config.js",userconfig="filemanager.config.js"):c="./scripts/filemanager.config.js.default";a.ajax({async:!1,url:c,dataType:"json",cache:!1,success:function(a){g=a}});return g},R=v("default"),f=v();null!==f&&delete f.version;f=a.extend({},R,f);if(f.options.logger)var A=(new Date).getTime();HEAD_included_files=[];loadCSS=function(c){if(-1==
a.inArray(c,HEAD_included_files)){var g=a("<link rel='stylesheet' type='text/css' href='"+c+"'>");a("head").append(g);HEAD_included_files.push(c)}};loadJS=function(c){if(-1==a.inArray(c,HEAD_included_files)){var g=a("<script type='text/javascript' src='"+c+"'>");a("head").append(g);HEAD_included_files.push(c)}};smartPath=function(a,g){var b=a.split("/"),b="/"+b[b.length-2]+"/",d=g.indexOf(b);rvalue=-1==d?a+g:a+g.substring(d+b.length);f.options.logger&&console.log("url : "+a+" - path : "+g+" - separator : "+
b+" - pos : "+d+" - returned value : "+rvalue);return rvalue};var k=f.options.fileConnector||"connectors/"+f.options.lang+"/filemanager."+f.options.lang,n=f.options.capabilities||"select download rename move delete replace".split(" ");0!=a.urlParam("langCode")&&(I("scripts/languages/"+a.urlParam("langCode")+".js")?f.options.culture=a.urlParam("langCode"):(v=a.urlParam("langCode").substring(0,2),I("scripts/languages/"+v+".js")&&(f.options.culture=v)));var b=[];a.ajax({url:"scripts/languages/"+f.options.culture+
".js",async:!1,dataType:"json",success:function(a){b=a}});a.prompt.setDefaults({overlayspeed:"fast",show:"fadeIn",opacity:.4,persistent:!1});var x=function(){var c=53;a.urlParam("CKEditorCleanUpFuncNum")&&(c+=60);c=a(window).height()-a("#uploader").height()-c;a("#splitter, #filetree, #fileinfo, .vsplitbar").height(c);c=a("#splitter").width()-a("div.vsplitbar").width()-a("#filetree").width();a("#fileinfo").width(c)},y=function(a,g){g="undefined"===typeof g?!0:!1;if(0==f.options.showFullPath){if("function"===
".js",async:!1,dataType:"json",success:function(a){b=a}});a.prompt.setDefaults({overlayspeed:"fast",show:"fadeIn",opacity:.4,persistent:!1});var x=function(){var c=53,g=a("#uploader");a.urlParam("CKEditorCleanUpFuncNum")&&(c+=60);c=a(window).height()-g.height()-g.offset().top-c;a("#splitter, #filetree, #fileinfo, .vsplitbar").height(c);c=a("#splitter").width()-a("div.vsplitbar").width()-a("#filetree").width();a("#fileinfo").width(c)},y=function(a,g){g="undefined"===typeof g?!0:!1;if(0==f.options.showFullPath){if("function"===
typeof displayPathDecorator)return displayPathDecorator(a.replace(fileRoot,"/"));a=a.replace(fileRoot,"/");if(50<a.length&&!0===g){var b=a.split("/");a="/"+b[1]+"/"+b[2]+"/(...)/"+b[b.length-2]+"/"}}return a},B=function(c){"grid"==c?(a("#grid").addClass("ON"),a("#list").removeClass("ON")):(a("#list").addClass("ON"),a("#grid").removeClass("ON"))},C=function(a){var b="",b="\u0160\u0161\u0110\u0111\u017d\u017e\u010c\u010d\u0106\u0107\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf\u00d1\u00d2\u00d3\u00d4\u00d5\u00d6\u0150\u00d8\u00d9\u00da\u00db\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u00e6\u00e7\u00e8\u00e9\u00ea\u00eb\u00ec\u00ed\u00ee\u00ef\u00f0\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u0151\u00f8\u00f9\u00fa\u00fb\u00fc\u00fd\u00fd\u00fe\u00ff\u0154\u0155 '/".split(""),
e="S s Dj dj Z z C c C c A A A A A A A C E E E E I I I I N O O O O O O O U U U U Y B Ss a a a a a a a c e e e e i i i i o n o o o o o o o u u u u y y b y R r _ _ ".split(" ");a=String(a);for(i=0;i<b.length;i++)a=a.replace(RegExp(b[i],"g"),e[i]);b=a;f.options.chars_only_latin&&(b=b.replace(/[^_a-zA-Z0-9]/g,""));return b=b.replace(/[_]+/g,"_")},S=function(a){filename="";-1!=a.lastIndexOf(".")?(filename=C(a.substr(0,a.lastIndexOf("."))),filename+="."+a.split(".").pop()):filename=C(a);return filename},
J=function(a){a=parseFloat(a);for(var g=0,f=[b.bytes,b.kb,b.mb,b.gb];;){if(1024>a)return a=Math.round(100*a)/100,a+f[g];a/=1024;g+=1}},K=function(c){a("#fileinfo").html("<h1>"+c+"</h1>");a("#newfile").attr("disabled","disabled");a("#upload").attr("disabled","disabled");a("#newfolder").attr("disabled","disabled")},L=function(c){c=q(c);return""==c&&1==f.security.allowNoExtension||"DISALLOW_ALL"==f.security.uploadPolicy&&-1!=a.inArray(c,f.security.uploadRestrictions)||"ALLOW_ALL"==f.security.uploadPolicy&&
@@ -24,22 +24,22 @@ k+"?mode=download&path="+encodeURIComponent(c.Path)+"&config="+userconfig}).show
g,"undefined"!=typeof c.ImageDialog&&(c.ImageDialog.getImageData&&c.ImageDialog.getImageData(),c.ImageDialog.showPreviewImage&&c.ImageDialog.showPreviewImage(g)),tinyMCEPopup.close()):(a.urlParam("field_name")?(parent.document.getElementById(a.urlParam("field_name")).value=g,"undefined"!==typeof parent.tinyMCE&&parent.tinyMCE.activeEditor.windowManager.close(),"undefined"!==typeof parent.$.fn.colorbox&&parent.$.fn.colorbox.close()):a.urlParam("CKEditor")?window.opener?window.opener.CKEDITOR.tools.callFunction(a.urlParam("CKEditorFuncNum"),
g):(parent.CKEDITOR.tools.callFunction(a.urlParam("CKEditorFuncNum"),g),parent.CKEDITOR.tools.callFunction(a.urlParam("CKEditorCleanUpFuncNum"))):""!=c.Properties.Width?window.opener.SetUrl(g,c.Properties.Width,c.Properties.Height):window.opener.SetUrl(g),window.opener&&window.close()):a.prompt(b.fck_select_integration)},M=function(c){var g="",e=f.security.allowChangeExtensions?c.Filename:T(c.Filename),e=b.new_filename+' : <input id="rname" name="rname" type="text" value="'+e+'" />',d={};d[b.rename]=
!0;d[b.cancel]=!1;a.prompt(e,{callback:function(d,e){if(1!=d)return!1;rname=e.children("#rname").val();if(""!=rname){var h=rname;if(!f.security.allowChangeExtensions){var h=S(rname),l=q(c.Filename);0<l.length&&(h=h+"."+l)}if("/"!=c.Path.charAt(c.Path.length-1)&&!L(h))return h="<p>"+b.INVALID_FILE_TYPE+"</p>","DISALLOW_ALL"==f.security.uploadPolicy&&(h+="<p>"+b.ALLOWED_FILE_TYPE+f.security.uploadRestrictions.join(", ")+".</p>"),"ALLOW_ALL"==f.security.uploadPolicy&&(h+="<p>"+b.DISALLOWED_FILE_TYPE+
f.security.uploadRestrictions.join(", ")+".</p>"),a("#filepath").val(""),a.prompt(h),!1;a.ajax({type:"GET",url:k+"?mode=rename&old="+c.Path+"&new="+h+"&config="+userconfig,dataType:"json",async:!1,success:function(d){if(0==d.Code){var e=d["New Path"],t=d["New Name"],h=d["Old Path"],p=a("#filetree").find('a[data-path="'+h+'"]'),l=p.parent().parent().prev("a");p.attr("data-path",e).text(t);0==l.length?u():l.click().click();p=a("#preview h1").attr("title");"undefined"!=typeof p&&p==h&&a("#preview h1").text(t);
"grid"==a("#fileinfo").data("view")?(a('#fileinfo img[data-path="'+h+'"]').parent().next("p").text(t),a('#fileinfo img[data-path="'+h+'"]').attr("data-path",e)):(a('#fileinfo td[data-path="'+h+'"]').text(t),a('#fileinfo td[data-path="'+h+'"]').attr("data-path",e));a("#preview h1").html(t);c.Path=e;c.Filename=t;a("#fileinfo").find("button#rename, button#delete, button#download").unbind();Q(c);f.options.showConfirmation&&a.prompt(b.successful_rename)}else a.prompt(d.Error);g=d["New Name"]}})}},buttons:d});
return g},O=function(c){a("#fileR").bind("change",function(){a(this).closest("form#toolbar").submit()});a("#toolbar").attr("action",k);a("#toolbar").attr("method","post");a("#toolbar").ajaxForm({target:"#uploadresponse",beforeSubmit:function(g,e,d){g=a("#fileR",e).val();if(""==g)return!1;if(q(g)!=c["File Type"])return a.prompt(b.ERROR_REPLACING_FILE+" ."+q(c.Filename)),!1;a("#replace").attr("disabled",!0);a("#upload span").addClass("loading").text(b.loading_data);if("undefined"!==typeof FileReader&&
"auto"!=typeof f.upload.fileSizeLimit&&a("#fileR",e).get(0).files[0].size>1048576*f.upload.fileSizeLimit)return a.prompt("<p>"+b.file_too_big+"</p><p>"+b.file_size_limit+f.upload.fileSizeLimit+" "+b.mb+".</p>"),a("#upload").removeAttr("disabled").find("span").removeClass("loading").text(b.upload),!1},error:function(c,f,d){a("#upload").removeAttr("disabled").find("span").removeClass("loading").text(b.upload);a.prompt(b.ERROR_UPLOADING_FILE)},success:function(c){c=jQuery.parseJSON(a("#uploadresponse").find("textarea").text());
0==c.Code?(c=c.Path+"/"+c.Name,F(c),a("#preview").find("img").hide().fadeIn("slow"),a("ul.jqueryFileTree").find('li a[data-path="'+c+'"]').parent().hide().fadeIn("slow"),f.options.showConfirmation&&a.prompt(b.successful_replace)):a.prompt(c.Error);a("#replace").removeAttr("disabled");a("#upload span").removeClass("loading").text(b.upload)}});a("#newfilepath").val(c.Path);a("#fileR").click()},N=function(c){var g="",e=b.move+' : <input id="rname" name="rname" type="text" value="" />',e=e+('<div class="prompt-info">'+
b.help_move+"</div>"),d={};d[b.move]=!0;d[b.cancel]=!1;a.prompt(e,{callback:function(d,e){if(1!=d)return!1;rname=e.children("#rname").val();if(""!=rname){var h=rname,h=k+"?mode=move&old="+encodeURIComponent(c.Path)+"&new="+encodeURIComponent(h)+"&root="+encodeURIComponent(fileRoot)+"&config="+userconfig;a.ajax({type:"GET",url:h,dataType:"json",async:!1,success:function(d){if(0==d.Code){var c=d["New Path"],e=d["New Name"];fullexpandedFolder=c;u();m(c);f.options.showConfirmation&&a.prompt(b.successful_moved)}else a.prompt(d.Error);
g=c+e}})}},buttons:d});return g},P=function(c){var g=!1,e=b.confirmation_delete,d={};d[b.yes]=!0;d[b.no]=!1;a.prompt(e,{callback:function(d,e){if(1!=d)return!1;var h=new Date,h=k+"?mode=delete&path="+encodeURIComponent(c.Path)+"&time="+h.getMilliseconds()+"&config="+userconfig,l=c.Path.split("/").reverse().slice(1).reverse().join("/")+"/";a.ajax({type:"GET",url:h,dataType:"json",async:!1,success:function(d){0==d.Code?(aa(d.Path),d=d.Path.substring(0,d.Path.length-1),d=d.substr(0,d.lastIndexOf("/")+
1),a("#uploader h1").text(b.current_folder+y(d)).attr("title",y(d,!1)).attr("data-path",d),g=!0,f.options.showConfirmation&&a.prompt(b.successful_delete),a("#filetree").find('a[data-path="'+l+'/"]').click().click()):(g=!1,a.prompt(d.Error))}})},buttons:d});return g},ba=function(c){isEdited=!1;a("#fileinfo").find("div#tools").append(' <a id="edit-file" href="#" title="'+b.edit+'"><span>'+b.edit+"</span></a>");a("#edit-file").click(function(){a(this).hide();var g=new Date,g=k+"?mode=editfile&path="+
encodeURIComponent(c.Path)+"&config="+userconfig+"&time="+g.getMilliseconds();a.ajax({type:"GET",url:g,dataType:"json",async:!1,success:function(e){0==e.Code?(e='<form id="edit-form">'+('<textarea id="edit-content" name="content">'+e.Content+"</textarea>"),e=e+'<input type="hidden" name="mode" value="savefile" />'+('<input type="hidden" name="path" value="'+c.Path+'" />'),e+='<button id="edit-cancel" class="edition" type="button">'+b.quit_editor+"</button>",e+='<button id="edit-save" class="edition" type="button">'+
b.save+"</button>",e+="</form>",a("#preview").find("img").hide(),a("#preview").prepend(e).hide().fadeIn(),a("#edit-cancel").click(function(){a("#preview").find("form#edit-form").hide();a("#preview").find("img").fadeIn();a("#edit-file").show()}),a("#edit-save").click(function(){var d=codeMirrorEditor.getValue();a("textarea#edit-content").val(d);d=a("#edit-form").serializeArray();a.ajax({type:"POST",url:k+"?config="+userconfig,dataType:"json",data:d,async:!1,success:function(d){0==d.Code?(isEdited=
!0,a.prompt(b.successful_edit)):(isEdited=!1,a.prompt(d.Error))}})}),codeMirrorEditor=instantiateCodeMirror(q(c.Path),f)):(isEdited=!1,a.prompt(e.Error),a(this).show())}})});return isEdited},aa=function(b){a("#filetree").find('a[data-path="'+b+'"]').parent().fadeOut("slow",function(){a(this).remove()});if(a("#uploader h1").attr("data-path")==b){var f=b.split("/").slice(0,length-2).join("/")+"/";m(f)}"grid"==a("#fileinfo").data("view")?a('#contents img[data-path="'+b+'"]').parent().parent().fadeOut("slow",
function(){a(this).remove()}):a("table#contents").find('td[data-path="'+b+'"]').parent().fadeOut("slow",function(){a(this).remove()});a("#preview").length&&m(b.substr(0,b.lastIndexOf("/")+1))},Y=function(c,g){var e='<li class="directory collapsed"><a data-path="'+c+g+'/" href="#">'+g+'</a><ul class="jqueryFileTree" style="display: block;"></ul></li>',d=a("#filetree").find('a[data-path="'+c+'"]');c!=fileRoot?d.next("ul").prepend(e).prev("a").click().click():(a("#filetree ul.jqueryFileTree").prepend(e),
a("#filetree").find('li a[data-path="'+c+g+'/"]').attr("class","cap_rename cap_delete").click(function(){m(c+g+"/")}).each(function(){a(this).contextMenu({menu:w(a(this))},function(d,b,c){b=a(b).attr("data-path");z(d,b)})}));f.options.showConfirmation&&a.prompt(b.successful_added_folder)},H=function(b){b.lastIndexOf("/")==b.length-1?(m(b),a("#filetree").find('a[data-path="'+b+'"]').click()):F(b)},z=function(b,f){var e=new Date;a.getJSON(k+"?mode=getinfo&path="+f+"&config="+userconfig+"&time="+e.getMilliseconds(),
function(d){"grid"==a("#fileinfo").data("view")?a("#fileinfo").find('img[data-path="'+d.Path+'"]').parent():a("#fileinfo").find('td[data-path="'+d.Path+'"]').parent();switch(b){case "select":E(d);break;case "download":window.location=k+"?mode=download&path="+d.Path+"&config="+userconfig+"&time="+e.getMilliseconds();break;case "rename":M(d);break;case "replace":O(d);break;case "move":N(d);break;case "delete":P(d)}})},F=function(c){a(".contextMenu").hide();var g=c.substr(0,c.lastIndexOf("/")+1);D(g);
var e;e='<div id="preview"><img /><div id="main-title"><h1></h1><div id="tools"></div></div><dl></dl></div><form id="toolbar">'+('<button id="parentfolder">'+b.parentfolder+"</button>");-1!=a.inArray("select",n)&&(a.urlParam("CKEditor")||window.opener||window.tinyMCEPopup||a.urlParam("field_name"))&&(e+='<button id="select" name="select" type="button" value="Select">'+b.select+"</button>");-1!=a.inArray("download",n)&&(e+='<button id="download" name="download" type="button" value="Download">'+b.download+
"</button>");-1!=a.inArray("rename",n)&&1!=f.options.browseOnly&&(e+='<button id="rename" name="rename" type="button" value="Rename">'+b.rename+"</button>");-1!=a.inArray("move",n)&&1!=f.options.browseOnly&&(e+='<button id="move" name="move" type="button" value="Move">'+b.move+"</button>");-1!=a.inArray("delete",n)&&1!=f.options.browseOnly&&(e+='<button id="delete" name="delete" type="button" value="Delete">'+b.del+"</button>");-1!=a.inArray("replace",n)&&1!=f.options.browseOnly&&(e+='<button id="replace" name="replace" type="button" value="Replace">'+
f.security.uploadRestrictions.join(", ")+".</p>"),a("#filepath").val(""),a.prompt(h),!1;h=k+"?mode=rename&old="+encodeURIComponent(c.Path)+"&new="+encodeURIComponent(h)+"&config="+userconfig;a.ajax({type:"GET",url:h,dataType:"json",async:!1,success:function(d){if(0==d.Code){var e=d["New Path"],t=d["New Name"],h=d["Old Path"],p=a("#filetree").find('a[data-path="'+h+'"]'),l=p.parent().parent().prev("a");p.attr("data-path",e).text(t);0==l.length?u():l.click().click();p=a("#preview h1").attr("title");
"undefined"!=typeof p&&p==h&&a("#preview h1").text(t);"grid"==a("#fileinfo").data("view")?(a('#fileinfo img[data-path="'+h+'"]').parent().next("p").text(t),a('#fileinfo img[data-path="'+h+'"]').attr("data-path",e)):(a('#fileinfo td[data-path="'+h+'"]').text(t),a('#fileinfo td[data-path="'+h+'"]').attr("data-path",e));a("#preview h1").html(t);c.Path=e;c.Filename=t;a("#fileinfo").find("button#rename, button#delete, button#download").unbind();Q(c);f.options.showConfirmation&&a.prompt(b.successful_rename)}else a.prompt(d.Error);
g=d["New Name"]}})}},buttons:d});return g},O=function(c){a("#fileR").bind("change",function(){a(this).closest("form#toolbar").submit()});a("#toolbar").attr("action",k);a("#toolbar").attr("method","post");a("#toolbar").ajaxForm({target:"#uploadresponse",beforeSubmit:function(g,e,d){g=a("#fileR",e).val();if(""==g)return!1;if(q(g)!=c["File Type"])return a.prompt(b.ERROR_REPLACING_FILE+" ."+q(c.Filename)),!1;a("#replace").attr("disabled",!0);a("#upload span").addClass("loading").text(b.loading_data);
if("undefined"!==typeof FileReader&&"auto"!=typeof f.upload.fileSizeLimit&&a("#fileR",e).get(0).files[0].size>1048576*f.upload.fileSizeLimit)return a.prompt("<p>"+b.file_too_big+"</p><p>"+b.file_size_limit+f.upload.fileSizeLimit+" "+b.mb+".</p>"),a("#upload").removeAttr("disabled").find("span").removeClass("loading").text(b.upload),!1},error:function(c,f,d){a("#upload").removeAttr("disabled").find("span").removeClass("loading").text(b.upload);a.prompt(b.ERROR_UPLOADING_FILE)},success:function(c){c=
jQuery.parseJSON(a("#uploadresponse").find("textarea").text());0==c.Code?(c=c.Path+"/"+c.Name,F(c),a("#preview").find("img").hide().fadeIn("slow"),a("ul.jqueryFileTree").find('li a[data-path="'+c+'"]').parent().hide().fadeIn("slow"),f.options.showConfirmation&&a.prompt(b.successful_replace)):a.prompt(c.Error);a("#replace").removeAttr("disabled");a("#upload span").removeClass("loading").text(b.upload)}});a("#newfilepath").val(c.Path);a("#fileR").click()},N=function(c){var g="",e=b.move+' : <input id="rname" name="rname" type="text" value="" />',
e=e+('<div class="prompt-info">'+b.help_move+"</div>"),d={};d[b.move]=!0;d[b.cancel]=!1;a.prompt(e,{callback:function(d,e){if(1!=d)return!1;rname=e.children("#rname").val();if(""!=rname){var h=rname,h=k+"?mode=move&old="+encodeURIComponent(c.Path)+"&new="+encodeURIComponent(h)+"&root="+encodeURIComponent(fileRoot)+"&config="+userconfig;a.ajax({type:"GET",url:h,dataType:"json",async:!1,success:function(d){if(0==d.Code){var c=d["New Path"],e=d["New Name"];fullexpandedFolder=c;u();m(c);f.options.showConfirmation&&
a.prompt(b.successful_moved)}else a.prompt(d.Error);g=c+e}})}},buttons:d});return g},P=function(c){var g=!1,e=b.confirmation_delete,d={};d[b.yes]=!0;d[b.no]=!1;a.prompt(e,{callback:function(d,e){if(1!=d)return!1;var h=new Date,h=k+"?mode=delete&path="+encodeURIComponent(c.Path)+"&time="+h.getMilliseconds()+"&config="+userconfig,l=c.Path.split("/").reverse().slice(1).reverse().join("/")+"/";a.ajax({type:"GET",url:h,dataType:"json",async:!1,success:function(d){0==d.Code?(aa(d.Path),d=d.Path.substring(0,
d.Path.length-1),d=d.substr(0,d.lastIndexOf("/")+1),a("#uploader h1").text(b.current_folder+y(d)).attr("title",y(d,!1)).attr("data-path",d),g=!0,f.options.showConfirmation&&a.prompt(b.successful_delete),a("#filetree").find('a[data-path="'+l+'/"]').click().click()):(g=!1,a.prompt(d.Error))}})},buttons:d});return g},ba=function(c){isEdited=!1;a("#fileinfo").find("div#tools").append(' <a id="edit-file" href="#" title="'+b.edit+'"><span>'+b.edit+"</span></a>");a("#edit-file").click(function(){a(this).hide();
var g=new Date,g=k+"?mode=editfile&path="+encodeURIComponent(c.Path)+"&config="+userconfig+"&time="+g.getMilliseconds();a.ajax({type:"GET",url:g,dataType:"json",async:!1,success:function(e){0==e.Code?(e='<form id="edit-form">'+('<textarea id="edit-content" name="content">'+e.Content+"</textarea>"),e=e+'<input type="hidden" name="mode" value="savefile" />'+('<input type="hidden" name="path" value="'+c.Path+'" />'),e+='<button id="edit-cancel" class="edition" type="button">'+b.quit_editor+"</button>",
e+='<button id="edit-save" class="edition" type="button">'+b.save+"</button>",e+="</form>",a("#preview").find("img").hide(),a("#preview").prepend(e).hide().fadeIn(),a("#edit-cancel").click(function(){a("#preview").find("form#edit-form").hide();a("#preview").find("img").fadeIn();a("#edit-file").show()}),a("#edit-save").click(function(){var d=codeMirrorEditor.getValue();a("textarea#edit-content").val(d);d=a("#edit-form").serializeArray();a.ajax({type:"POST",url:k+"?config="+userconfig,dataType:"json",
data:d,async:!1,success:function(d){0==d.Code?(isEdited=!0,a.prompt(b.successful_edit)):(isEdited=!1,a.prompt(d.Error))}})}),codeMirrorEditor=instantiateCodeMirror(q(c.Path),f)):(isEdited=!1,a.prompt(e.Error),a(this).show())}})});return isEdited},aa=function(b){a("#filetree").find('a[data-path="'+b+'"]').parent().fadeOut("slow",function(){a(this).remove()});if(a("#uploader h1").attr("data-path")==b){var f=b.split("/").slice(0,length-2).join("/")+"/";m(f)}"grid"==a("#fileinfo").data("view")?a('#contents img[data-path="'+
b+'"]').parent().parent().fadeOut("slow",function(){a(this).remove()}):a("table#contents").find('td[data-path="'+b+'"]').parent().fadeOut("slow",function(){a(this).remove()});a("#preview").length&&m(b.substr(0,b.lastIndexOf("/")+1))},Y=function(c,g){var e='<li class="directory collapsed"><a data-path="'+c+g+'/" href="#">'+g+'</a><ul class="jqueryFileTree" style="display: block;"></ul></li>',d=a("#filetree").find('a[data-path="'+c+'"]');c!=fileRoot?d.next("ul").prepend(e).prev("a").click().click():
(a("#filetree ul.jqueryFileTree").prepend(e),a("#filetree").find('li a[data-path="'+c+g+'/"]').attr("class","cap_rename cap_delete").click(function(){m(c+g+"/")}).each(function(){a(this).contextMenu({menu:w(a(this))},function(d,b,c){b=a(b).attr("data-path");z(d,b)})}));f.options.showConfirmation&&a.prompt(b.successful_added_folder)},H=function(b){b.lastIndexOf("/")==b.length-1?(m(b),a("#filetree").find('a[data-path="'+b+'"]').click()):F(b)},z=function(b,f){var e=new Date;a.getJSON(k+"?mode=getinfo&path="+
encodeURIComponent(f)+"&config="+userconfig+"&time="+e.getMilliseconds(),function(d){"grid"==a("#fileinfo").data("view")?a("#fileinfo").find('img[data-path="'+d.Path+'"]').parent():a("#fileinfo").find('td[data-path="'+d.Path+'"]').parent();switch(b){case "select":E(d);break;case "download":window.location=k+"?mode=download&path="+d.Path+"&config="+userconfig+"&time="+e.getMilliseconds();break;case "rename":M(d);break;case "replace":O(d);break;case "move":N(d);break;case "delete":P(d)}})},F=function(c){a(".contextMenu").hide();
var g=c.substr(0,c.lastIndexOf("/")+1);D(g);var e;e='<div id="preview"><img /><div id="main-title"><h1></h1><div id="tools"></div></div><dl></dl></div><form id="toolbar">'+('<button id="parentfolder">'+b.parentfolder+"</button>");-1!=a.inArray("select",n)&&(a.urlParam("CKEditor")||window.opener||window.tinyMCEPopup||a.urlParam("field_name"))&&(e+='<button id="select" name="select" type="button" value="Select">'+b.select+"</button>");-1!=a.inArray("download",n)&&(e+='<button id="download" name="download" type="button" value="Download">'+
b.download+"</button>");-1!=a.inArray("rename",n)&&1!=f.options.browseOnly&&(e+='<button id="rename" name="rename" type="button" value="Rename">'+b.rename+"</button>");-1!=a.inArray("move",n)&&1!=f.options.browseOnly&&(e+='<button id="move" name="move" type="button" value="Move">'+b.move+"</button>");-1!=a.inArray("delete",n)&&1!=f.options.browseOnly&&(e+='<button id="delete" name="delete" type="button" value="Delete">'+b.del+"</button>");-1!=a.inArray("replace",n)&&1!=f.options.browseOnly&&(e+='<button id="replace" name="replace" type="button" value="Replace">'+
b.replace+"</button>",e+='<div class="hidden-file-input"><input id="fileR" name="fileR" type="file" /></div>',e+='<input id="mode" name="mode" type="hidden" value="replace" /> ',e+='<input id="newfilepath" name="newfilepath" type="hidden" />');e+="</form>";0<a("#fileinfo .mCSB_container").length?a("#fileinfo .mCSB_container").html(e):a("#fileinfo").html(e);a("#parentfolder").click(function(){m(g)});e=new Date;a.getJSON(k+"?mode=getinfo&path="+encodeURIComponent(c)+"&config="+userconfig+"&time="+e.getMilliseconds(),
function(d){if(0==d.Code){a("#fileinfo").find("h1").text(d.Filename).attr("title",c);a("#fileinfo").find("img").attr("src",d.Preview);var e;e=-1!=a.inArray(q(d.Filename),f.videos.videosExt)?!0:!1;e&&1==f.videos.showVideoPlayer&&U(d);e=-1!=a.inArray(q(d.Filename),f.audios.audiosExt)?!0:!1;e&&1==f.audios.showAudioPlayer&&V(d);e=-1!=a.inArray(q(d.Filename),f.pdfs.pdfsExt)?!0:!1;e&&1==f.pdfs.showPdfReader&&W(d);e=-1!=a.inArray(q(d.Filename),f.edit.editExt)?!0:!1;e&&1==f.edit.enabled&&0==d.Protected&&
ba(d);e=new Date;var g=!1!==f.options.baseUrl?smartPath(baseUrl,d.Path.replace(fileRoot,"")):d.Path;0==d.Protected&&(a("#fileinfo").find("div#tools").append(' <a id="copy-button" data-clipboard-text="'+g+'" title="'+b.copy_to_clipboard+'" href="#"><span>'+b.copy_to_clipboard+"</span></a>"),loadJS("./scripts/zeroclipboard/copy.js?d"+e.getMilliseconds()),a("#copy-button").click(function(){a("#fileinfo").find("div#tools").append('<span id="copied">'+b.copied+"</span>");a("#copied").delay(500).fadeOut(1E3,

View File

@@ -0,0 +1,91 @@
{
"ALLOWED_FILE_TYPE": "فقط الملفات الاتية هي المسموحة : ",
"AUTHORIZATION_REQUIRED": "غير مصرح لك باستخدام مدير الملفات.",
"DIRECTORY_ALREADY_EXISTS": "المجلد '%s' موجود مسبقا.",
"DIRECTORY_NOT_EXIST": "المجلد %s غير موجود.",
"DISALLOWED_FILE_TYPE": "الملفات الاتية غير مسموحة : ",
"ERROR_CREATING_ZIP": "خطا في انشاء الملف المضغوط",
"ERROR_OPENING_FILE": "خطا في فتح الملف.",
"ERROR_RENAMING_DIRECTORY": " حدث خطا اثناء تعديل اسم المجلد من %s الى %s.",
"ERROR_RENAMING_FILE": " حدث خطا اثناء تعديل اسم الملف من %s الى %s.",
"ERROR_REPLACING_FILE": "يرجى تقديم ملف يحمل الاختصار الاتي :",
"ERROR_SAVING_FILE": "خطاء اثناء حفظ الملف.",
"ERROR_UPLOADING_FILE": "خطاء اثناء رفع الملف.",
"ERROR_WRITING_PERM": "لم تقم بكتابة التصاريح على هذا الملف.",
"FILE_ALREADY_EXISTS": "الملف '%s' موجود مسبقاً.",
"FILE_DOES_NOT_EXIST": "الملف %s غير موجود.",
"INVALID_ACTION": "عملية غير صحيحة.",
"INVALID_DIRECTORY_OR_FILE": "ملف اومجلد غير صحيح.",
"INVALID_FILE_TYPE": "نوع الملف غير مسموح به.",
"INVALID_FILE_UPLOAD": "الملف المحمل خطىء.",
"INVALID_VAR": "متغير خطىء %s.",
"LANGUAGE_FILE_NOT_FOUND": "ملف اللغة غير موجود.",
"MODE_ERROR": "حالة خطئة.",
"NOT_ALLOWED": "غير مصرح لك باتمام العملية",
"NOT_ALLOWED_SYSTEM": "صلاحيات النظام لا تجيز لك اتمام هذه العملية",
"UNABLE_TO_CREATE_DIRECTORY": "لم اتمكن من انشاء المجلد %s.",
"UNABLE_TO_OPEN_DIRECTORY": "غير ممكن فتح المجلد %s.",
"UPLOAD_FILES_SMALLER_THAN": "يرجى فقط رفع ملفات مشابهة ل %s.",
"UPLOAD_IMAGES_ONLY": "يرجى رفع صور فقط, nباقي الملفات غير مسموحة",
"UPLOAD_IMAGES_TYPE_JPEG_GIF_PNG": "يرجى رفع ملفات من نوع JPEG, GIF او PNG.",
"browse": "تصفح...",
"bytes": " بايتس",
"cancel": "الغاء",
"close": "اقفال",
"confirmation_delete": "هل انت متاكد من انك تود خذف هذا الملف ؟",
"copied": "تم نسخ الرابط !",
"copy_to_clipboard": "تم نسخ الرابط الى الكليببورد",
"could_not_retrieve_folder": "لا يمكن احذار محتويات المجلد.",
"create_folder": "انشاء مجلد",
"created": "تم الانشاء",
"current_folder": "المجلد الحالي: ",
"default_foldername": "مجلداتي",
"del": "حذف",
"dimensions": "تجاهل",
"download": "تنزيل",
"dz_dictDefaultMessage": "ضع الملفات هنا للتحميل",
"dz_dictFallbackMessage": "متصفحك لا يدعم خاصية تحميل الملفات عن طريق الدراج دروب",
"dz_dictInvalidFileType": "لا يمكنك تحميل ملفات من هذا النوع.",
"dz_dictMaxFilesExceeded": "يمكنك فقط تحميل %s من الملفات",
"edit": "تحرير الملف",
"fck_select_integration": "الفنكشن المحددة تعمل فقط مع FCKEditor.",
"file_size_limit": "الحجم المسموح (لكل ملف) هو ",
"file_too_big": "الملف اكبر من المسموح.",
"gb": "جيجابيت",
"grid_view": "انتقال لمشاهدة مصغرات.",
"help_move": "استعمال '../' ممنوع. يمكنك الوصول للمجلد الجذر عن طريق'/'.",
"items": "ملفات",
"kb": "كيلوبيت",
"list_view": "انتقال لوضع مشاهدة القوائم.",
"loading_data": "جاري نقل البيانات ...",
"mb": "ميجا بايت",
"modified": "معدل",
"move": "انقل الى ...",
"name": "الاسم",
"new_filename": "اختر اسم جديد للملف",
"new_folder": "مجلد جديد",
"no": "لا",
"no_foldername": "لم تقم بتزود اسم المجلد.",
"parentfolder": "المجلد الام",
"prompt_foldername": "اكتب اسم المجلد الجديد",
"quit_editor": "اخرج من المحرر",
"rename": "اعادة تسمية",
"replace": "استبدال الملف",
"save": "حفظ",
"search": "بحث",
"search_reset": "اعادة",
"select": "اختيار",
"select_from_left": "اختار ملفات من اليسار.",
"size": "الحجم",
"successful_added_file": "تم اضافة الملف/ الملفات الجديدة بنجاح.",
"successful_added_folder": "تم اضافة المجلد الجديد بنجاح.",
"successful_delete": "تم الحذف.",
"successful_edit": "تم التحديث بنجاح.",
"successful_moved": "تم النقل بنجاح ",
"successful_rename": "تمت اعادة التسمية بنجاح .",
"successful_replace": "تم استبدال الملف بنجاح.",
"support_fm": "مدير الملفات برنامج مجاني يرجى دعمه !",
"upload": "رفع",
"version": "الاصدار",
"yes": "نعم"
}

View File

@@ -1,28 +1,28 @@
{
"ALLOWED_FILE_TYPE": "Only following files are allowed : ",
"ALLOWED_FILE_TYPE": "Només els següents arxius són permesos : ",
"AUTHORIZATION_REQUIRED": "No estàs autoritzat a fer ser servir l'administrador d'arxius.",
"DIRECTORY_ALREADY_EXISTS": "La carpeta '%s' ja existeix.",
"DIRECTORY_NOT_EXIST": "La carpeta %s no existeix.",
"DISALLOWED_FILE_TYPE": "Following files are not allowed : ",
"ERROR_CREATING_ZIP": "Error creating Zip archive",
"ERROR_OPENING_FILE": "Error opening file.",
"DISALLOWED_FILE_TYPE": "Els següents arxius no són permesos : ",
"ERROR_CREATING_ZIP": "Error creant l'arxiu Zip",
"ERROR_OPENING_FILE": "Error obrint l'arxiu.",
"ERROR_RENAMING_DIRECTORY": "Error al canviar el nom de la carpeta %s a %s.",
"ERROR_RENAMING_FILE": "Error al canviar el nom de l'arxiu %s a %s.",
"ERROR_REPLACING_FILE": "Please, provide a file having the following extension :",
"ERROR_SAVING_FILE": "Error saving file.",
"ERROR_UPLOADING_FILE": "Error uploading file.",
"ERROR_WRITING_PERM": "You don't have write permissions on that file.",
"FILE_ALREADY_EXISTS": "The file '%s' already exists.",
"FILE_DOES_NOT_EXIST": "L'arxiu %s no existeix.",
"ERROR_REPLACING_FILE": "Si us plau, proporciona un arxiu amb la següent extensió :",
"ERROR_SAVING_FILE": "Error guardant arxiu.",
"ERROR_UPLOADING_FILE": "Error pujant arxiu.",
"ERROR_WRITING_PERM": "No tens permisos per modificar aquest arxiu.",
"FILE_ALREADY_EXISTS": "L'arxiu '%s' ja exists.",
"FILE_DOES_NOT_EXIST": "L'arxiu '%s' no existeix.",
"INVALID_ACTION": "Acció invàlida.",
"INVALID_DIRECTORY_OR_FILE": "Carpeta o arxiu invàlid.",
"INVALID_FILE_TYPE": "File type is not allowed.",
"INVALID_FILE_TYPE": "Aquest tipus d'arxiu no és permés.",
"INVALID_FILE_UPLOAD": "Transferencia d'arxiu invàlida.",
"INVALID_VAR": "Variable %s invàlida.",
"LANGUAGE_FILE_NOT_FOUND": "No s'ha trobat l'arxiu d'idioma.",
"MODE_ERROR": "Error de mode.",
"NOT_ALLOWED": "You are not allowed to process this action",
"NOT_ALLOWED_SYSTEM": "System permissions do not allow you to perform this action",
"NOT_ALLOWED": "No pots dur a terme aquesta acció",
"NOT_ALLOWED_SYSTEM": "Els permisos del sistemta no et permeten dur a terme aquesta acció",
"UNABLE_TO_CREATE_DIRECTORY": "Impossible crear la carpeta %s.",
"UNABLE_TO_OPEN_DIRECTORY": "No s'ha pogut obrir la carpeta %s.",
"UPLOAD_FILES_SMALLER_THAN": "Si us plau, Pugeu només arxius amb tamany inferior a  %s.",
@@ -31,10 +31,10 @@
"browse": "Browse...",
"bytes": " bytes",
"cancel": "Cancel·lar",
"close": "Close",
"close": "Tancar",
"confirmation_delete": "Estàs segur de voler eliminar aquest arxiu?",
"copied": "URL copied !",
"copy_to_clipboard": "Copy to Clipboard",
"copied": "URL copiada !",
"copy_to_clipboard": "Copiar al portapapers",
"could_not_retrieve_folder": "No s'ha pogut recuperar el contingut de la carpeta.",
"create_folder": "Crear una carpeta",
"created": "Creat",
@@ -43,14 +43,14 @@
"del": "Eliminar",
"dimensions": "Dimensions",
"download": "Descarregar",
"dz_dictDefaultMessage": "Drop files here to upload",
"dz_dictDefaultMessage": "Arrossega aquí els fitxers per pujar-los",
"dz_dictFallbackMessage": "Your browser does not support drag'n'drop file uploads.",
"dz_dictInvalidFileType": "You can't upload files of this type.",
"dz_dictMaxFilesExceeded": "Only %s simultaneous uploads are allowed.",
"dz_dictInvalidFileType": "No pots pujar arxius d'aquest tipus.",
"dz_dictMaxFilesExceeded": "Només es permet pujar %s simultàneament.",
"edit": "Edit file",
"fck_select_integration": "La funció 'Seleccionar' només es far servir des de FCKEditor.",
"file_size_limit": "The file size limit is : ",
"file_too_big": "The file is too big.",
"file_size_limit": "El tamany màxim dels arxius és de : ",
"file_too_big": "L'arxiu és massa gran.",
"gb": "gb",
"grid_view": "Canviar a vista de quadricular.",
"help_move": "The use of '../' is forbidden. You can access root folder by using '/'.",
@@ -70,22 +70,22 @@
"prompt_foldername": "Introdueix el nom de la nova carpeta",
"quit_editor": "Quit editor",
"rename": "Canviar el nom",
"replace": "Replace file",
"replace": "Substituir arxiu",
"save": "Save",
"search": "Search",
"search": "Buscar",
"search_reset": "Reset",
"select": "Seleccionar",
"select_from_left": "Selecciona un element de l'esquerra.",
"size": "Tamany",
"successful_added_file": "Nou arxiu afegit satisfactòriament.",
"successful_added_folder": "Nova carpeta afegida satisfactòriament.",
"successful_delete": "Eliminació amb èxit.",
"successful_edit": "Content update successful.",
"successful_moved": "Move successful.",
"successful_rename": "Canvi de nom amb èxit.",
"successful_replace": "File replacement successful.",
"successful_added_file": "Arxiu afegit.",
"successful_added_folder": "Carpeta creada.",
"successful_delete": "Arxiu eliminat.",
"successful_edit": "Arxiu actualitzat.",
"successful_moved": "Arxiu mogut.",
"successful_rename": "Nom modificat.",
"successful_replace": "Arxiu substituit.",
"support_fm": "Filemanager is a free software, please support !",
"upload": "Pujar arxiu",
"version": "version",
"version": "versió",
"yes": "Sí"
}
}

View File

@@ -13,7 +13,9 @@
namespace Composer\Autoload;
/**
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
* ClassLoader implements a PSR-0 class loader
*
* See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
*
* $loader = new \Composer\Autoload\ClassLoader();
*
@@ -37,8 +39,6 @@ namespace Composer\Autoload;
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
* @see http://www.php-fig.org/psr/psr-0/
* @see http://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
@@ -147,7 +147,7 @@ class ClassLoader
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories
* @param array|string $paths The PSR-0 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException

View File

@@ -8,24 +8,24 @@ $baseDir = dirname($vendorDir);
return array(
'Absolute_Positioner' => $vendorDir . '/dompdf/dompdf/include/absolute_positioner.cls.php',
'Abstract_Renderer' => $vendorDir . '/dompdf/dompdf/include/abstract_renderer.cls.php',
'AddForeignKeysToCannedResponseTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_canned_response_table.php',
'AddForeignKeysToDepartmentTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_department_table.php',
'AddForeignKeysToEmailsTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_emails_table.php',
'AddForeignKeysToGroupAssignDepartmentTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_group_assign_department_table.php',
'AddForeignKeysToHelpTopicTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_help_topic_table.php',
'AddForeignKeysToKbArticleRelationshipTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_kb_article_relationship_table.php',
'AddForeignKeysToKbCommentTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_kb_comment_table.php',
'AddForeignKeysToOrganizationTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_organization_table.php',
'AddForeignKeysToSettingsSystemTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_settings_system_table.php',
'AddForeignKeysToTeamAssignAgentTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_team_assign_agent_table.php',
'AddForeignKeysToTeamsTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_teams_table.php',
'AddForeignKeysToTicketAttachmentTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_ticket_attachment_table.php',
'AddForeignKeysToTicketCollaboratorTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_ticket_collaborator_table.php',
'AddForeignKeysToTicketFormDataTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_ticket_form_data_table.php',
'AddForeignKeysToTicketThreadTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_ticket_thread_table.php',
'AddForeignKeysToTicketsTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_tickets_table.php',
'AddForeignKeysToUserAssignOrganizationTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_user_assign_organization_table.php',
'AddForeignKeysToUsersTable' => $baseDir . '/database/migrations/2016_01_25_075612_add_foreign_keys_to_users_table.php',
'AddForeignKeysToCannedResponseTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_canned_response_table.php',
'AddForeignKeysToDepartmentTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_department_table.php',
'AddForeignKeysToEmailsTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_emails_table.php',
'AddForeignKeysToGroupAssignDepartmentTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_group_assign_department_table.php',
'AddForeignKeysToHelpTopicTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_help_topic_table.php',
'AddForeignKeysToKbArticleRelationshipTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_kb_article_relationship_table.php',
'AddForeignKeysToKbCommentTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_kb_comment_table.php',
'AddForeignKeysToOrganizationTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_organization_table.php',
'AddForeignKeysToSettingsSystemTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_settings_system_table.php',
'AddForeignKeysToTeamAssignAgentTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_team_assign_agent_table.php',
'AddForeignKeysToTeamsTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_teams_table.php',
'AddForeignKeysToTicketAttachmentTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_ticket_attachment_table.php',
'AddForeignKeysToTicketCollaboratorTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_ticket_collaborator_table.php',
'AddForeignKeysToTicketFormDataTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_ticket_form_data_table.php',
'AddForeignKeysToTicketThreadTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_ticket_thread_table.php',
'AddForeignKeysToTicketsTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_tickets_table.php',
'AddForeignKeysToUserAssignOrganizationTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_user_assign_organization_table.php',
'AddForeignKeysToUsersTable' => $baseDir . '/database/migrations/2016_02_16_140454_add_foreign_keys_to_users_table.php',
'Adobe_Font_Metrics' => $vendorDir . '/phenx/php-font-lib/classes/Adobe_Font_Metrics.php',
'Attribute_Translator' => $vendorDir . '/dompdf/dompdf/include/attribute_translator.cls.php',
'Block_Frame_Decorator' => $vendorDir . '/dompdf/dompdf/include/block_frame_decorator.cls.php',
@@ -38,54 +38,55 @@ return array(
'Canvas' => $vendorDir . '/dompdf/dompdf/include/canvas.cls.php',
'Canvas_Factory' => $vendorDir . '/dompdf/dompdf/include/canvas_factory.cls.php',
'Cellmap' => $vendorDir . '/dompdf/dompdf/include/cellmap.cls.php',
'CreateBanlistTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_banlist_table.php',
'CreateCannedResponseTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_canned_response_table.php',
'CreateCustomFormFieldsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_custom_form_fields_table.php',
'CreateCustomFormsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_custom_forms_table.php',
'CreateDateFormatTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_date_format_table.php',
'CreateDateTimeFormatTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_date_time_format_table.php',
'CreateDepartmentTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_department_table.php',
'CreateEmailsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_emails_table.php',
'CreateGroupAssignDepartmentTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_group_assign_department_table.php',
'CreateGroupsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_groups_table.php',
'CreateHelpTopicTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_help_topic_table.php',
'CreateKbArticleRelationshipTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_kb_article_relationship_table.php',
'CreateKbArticleTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_kb_article_table.php',
'CreateKbCategoryTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_kb_category_table.php',
'CreateKbCommentTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_kb_comment_table.php',
'CreateKbPagesTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_kb_pages_table.php',
'CreateKbSettingsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_kb_settings_table.php',
'CreateLanguagesTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_languages_table.php',
'CreateLogNotificationTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_log_notification_table.php',
'CreateMailboxProtocolTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_mailbox_protocol_table.php',
'CreateOrganizationTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_organization_table.php',
'CreatePasswordResetsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_password_resets_table.php',
'CreatePluginsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_plugins_table.php',
'CreateSendMailTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_send_mail_table.php',
'CreateSettingsAlertNoticeTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_settings_alert_notice_table.php',
'CreateSettingsAutoResponseTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_settings_auto_response_table.php',
'CreateSettingsCompanyTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_settings_company_table.php',
'CreateSettingsEmailTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_settings_email_table.php',
'CreateSettingsSystemTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_settings_system_table.php',
'CreateSettingsTicketTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_settings_ticket_table.php',
'CreateSlaPlanTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_sla_plan_table.php',
'CreateTeamAssignAgentTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_team_assign_agent_table.php',
'CreateTeamsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_teams_table.php',
'CreateTemplateTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_template_table.php',
'CreateTicketAttachmentTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_ticket_attachment_table.php',
'CreateTicketCollaboratorTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_ticket_collaborator_table.php',
'CreateTicketFormDataTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_ticket_form_data_table.php',
'CreateTicketPriorityTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_ticket_priority_table.php',
'CreateTicketSourceTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_ticket_source_table.php',
'CreateTicketStatusTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_ticket_status_table.php',
'CreateTicketThreadTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_ticket_thread_table.php',
'CreateTicketsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_tickets_table.php',
'CreateTimeFormatTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_time_format_table.php',
'CreateTimezoneTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_timezone_table.php',
'CreateUserAssignOrganizationTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_user_assign_organization_table.php',
'CreateUsersTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_users_table.php',
'CreateVersionCheckTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_version_check_table.php',
'CreateWidgetsTable' => $baseDir . '/database/migrations/2016_01_25_075608_create_widgets_table.php',
'CreateBanlistTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_banlist_table.php',
'CreateCannedResponseTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_canned_response_table.php',
'CreateCustomFormFieldsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_custom_form_fields_table.php',
'CreateCustomFormsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_custom_forms_table.php',
'CreateDateFormatTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_date_format_table.php',
'CreateDateTimeFormatTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_date_time_format_table.php',
'CreateDepartmentTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_department_table.php',
'CreateEmailsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_emails_table.php',
'CreateGroupAssignDepartmentTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_group_assign_department_table.php',
'CreateGroupsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_groups_table.php',
'CreateHelpTopicTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_help_topic_table.php',
'CreateKbArticleRelationshipTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_kb_article_relationship_table.php',
'CreateKbArticleTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_kb_article_table.php',
'CreateKbCategoryTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_kb_category_table.php',
'CreateKbCommentTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_kb_comment_table.php',
'CreateKbPagesTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_kb_pages_table.php',
'CreateKbSettingsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_kb_settings_table.php',
'CreateLanguagesTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_languages_table.php',
'CreateLogNotificationTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_log_notification_table.php',
'CreateMailboxProtocolTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_mailbox_protocol_table.php',
'CreateOrganizationTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_organization_table.php',
'CreatePasswordResetsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_password_resets_table.php',
'CreatePluginsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_plugins_table.php',
'CreateSendMailTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_send_mail_table.php',
'CreateSettingsAlertNoticeTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_settings_alert_notice_table.php',
'CreateSettingsAutoResponseTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_settings_auto_response_table.php',
'CreateSettingsCompanyTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_settings_company_table.php',
'CreateSettingsEmailTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_settings_email_table.php',
'CreateSettingsRatingsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_settings_ratings_table.php',
'CreateSettingsSystemTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_settings_system_table.php',
'CreateSettingsTicketTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_settings_ticket_table.php',
'CreateSlaPlanTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_sla_plan_table.php',
'CreateTeamAssignAgentTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_team_assign_agent_table.php',
'CreateTeamsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_teams_table.php',
'CreateTemplateTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_template_table.php',
'CreateTicketAttachmentTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_ticket_attachment_table.php',
'CreateTicketCollaboratorTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_ticket_collaborator_table.php',
'CreateTicketFormDataTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_ticket_form_data_table.php',
'CreateTicketPriorityTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_ticket_priority_table.php',
'CreateTicketSourceTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_ticket_source_table.php',
'CreateTicketStatusTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_ticket_status_table.php',
'CreateTicketThreadTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_ticket_thread_table.php',
'CreateTicketsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_tickets_table.php',
'CreateTimeFormatTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_time_format_table.php',
'CreateTimezoneTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_timezone_table.php',
'CreateUserAssignOrganizationTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_user_assign_organization_table.php',
'CreateUsersTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_users_table.php',
'CreateVersionCheckTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_version_check_table.php',
'CreateWidgetsTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_widgets_table.php',
'DOMPDF' => $vendorDir . '/dompdf/dompdf/include/dompdf.cls.php',
'DOMPDF_Exception' => $vendorDir . '/dompdf/dompdf/include/dompdf_exception.cls.php',
'DOMPDF_Image_Exception' => $vendorDir . '/dompdf/dompdf/include/dompdf_image_exception.cls.php',

View File

@@ -6,18 +6,18 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'9f7f3f9b1f82484e76bcd07b985a2d2f' => $vendorDir . '/symfony/var-dumper/Symfony/Component/VarDumper/Resources/functions/dump.php',
'fe1bcd0336136e435eaf197895daf81a' => $vendorDir . '/nikic/php-parser/lib/bootstrap.php',
'e40631d46120a9c38ea139981f8dab26' => $vendorDir . '/ircmaxell/password-compat/lib/password.php',
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
'5255c38a0faeba867671b61dfda6d864' => $vendorDir . '/paragonie/random_compat/lib/random.php',
'bd9634f2d41831496de0d3dfe4c94881' => $vendorDir . '/symfony/polyfill-php56/bootstrap.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
'3919eeb97e98d4648304477f8ef734ba' => $vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/Random.php',
'e7223560d890eab89cda23685e711e2c' => $vendorDir . '/psy/psysh/src/Psy/functions.php',
'65fec9ebcfbb3cbb4fd0d519687aea01' => $vendorDir . '/danielstjules/stringy/src/Create.php',
'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
'58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
'752af1c2bdb339e8474c3c31b22b7d54' => $vendorDir . '/illuminate/html/helpers.php',
'017b24472353920ed42bb364f7653c43' => $vendorDir . '/propaganistas/laravel-phone/src/helpers.php',
$vendorDir . '/symfony/var-dumper/Symfony/Component/VarDumper/Resources/functions/dump.php',
$vendorDir . '/nikic/php-parser/lib/bootstrap.php',
$vendorDir . '/ircmaxell/password-compat/lib/password.php',
$vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
$vendorDir . '/paragonie/random_compat/lib/random.php',
$vendorDir . '/symfony/polyfill-php56/bootstrap.php',
$vendorDir . '/phpseclib/phpseclib/phpseclib/Crypt/Random.php',
$vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
$vendorDir . '/psy/psysh/src/Psy/functions.php',
$vendorDir . '/danielstjules/stringy/src/Create.php',
$vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
$vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
$vendorDir . '/illuminate/html/helpers.php',
$vendorDir . '/propaganistas/laravel-phone/src/helpers.php',
);

View File

@@ -45,19 +45,15 @@ class ComposerAutoloaderInit1bacc9bd2a82216bf11bc15e6aee6c79
$loader->register(true);
$includeFiles = require __DIR__ . '/autoload_files.php';
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire1bacc9bd2a82216bf11bc15e6aee6c79($fileIdentifier, $file);
foreach ($includeFiles as $file) {
composerRequire1bacc9bd2a82216bf11bc15e6aee6c79($file);
}
return $loader;
}
}
function composerRequire1bacc9bd2a82216bf11bc15e6aee6c79($fileIdentifier, $file)
function composerRequire1bacc9bd2a82216bf11bc15e6aee6c79($file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
}
require $file;
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,4 +2,4 @@
# It can be a commit, branch or tag of the https://github.com/googlei18n/libphonenumber project
#
# For more information, look at the phing tasks in build.xml
libphonenumber-7.2.5
libphonenumber-7.2.6

View File

@@ -24,7 +24,12 @@ return array (
),
'mobile' =>
array (
'NationalNumberPattern' => '77[6-8]\\d{5}',
'NationalNumberPattern' => '
77(?:
08|
[6-8]\\d
)\\d{4}
',
'PossibleNumberPattern' => '\\d{8}',
'ExampleNumber' => '77831001',
),

View File

@@ -18,7 +18,7 @@ return array (
2(?:
(?:
[015-7]\\d|
2[2-9]|
2[02-9]|
3[2-57]|
4[2-8]|
8[235-7]

View File

@@ -62,7 +62,7 @@ return array (
)|
4(?:
[06]|
1\\d
1\\d?
)|
5(?:
[01357]|

View File

@@ -34,7 +34,7 @@ return array (
4[67]|
5[12]|
6[014]|
8[56]
8[056]
)|
4(?:
0[124-9]|
@@ -128,7 +128,7 @@ return array (
4[67]|
5[12]|
6[014]|
8[56]
8[056]
)|
4(?:
0[124-9]|

View File

@@ -27,10 +27,11 @@ return array (
1(?:
1[78]|
28|
330|
82
)
',
'PossibleNumberPattern' => '\\d{3}',
'PossibleNumberPattern' => '\\d{3,4}',
'ExampleNumber' => '118',
),
'premiumRate' =>
@@ -83,7 +84,10 @@ return array (
2[01389]|
3(?:
2|
39|
3[039]|
45|
66|
88|
9[18]
)|
82

View File

@@ -0,0 +1,9 @@
<?php
/**
* This file is automatically @generated by {@link GeneratePhonePrefixData}.
* Please don't modify it directly.
*/
return array (
1380 => 'Ohio',
);

View File

@@ -7,6 +7,7 @@
return array (
212520 => 'Casablanca',
212521 => 'Casablanca/Central Morocco',
2125220 => 'Casablanca',
2125222 => 'Casablanca',
2125223 => 'Casablanca',
2125224 => 'Casablanca',

View File

@@ -7,6 +7,7 @@
return array (
212520 => 'Casablanca',
212521 => 'Casablanca/Maroc Central',
2125220 => 'Casablanca',
2125222 => 'Casablanca',
2125223 => 'Casablanca',
2125224 => 'Casablanca',

View File

@@ -1,5 +1,11 @@
# CHANGELOG
## 1.2.3 - 2016-02-18
* Fixed support in `GuzzleHttp\Psr7\CachingStream` for seeking forward on remote
streams, which can sometimes return fewer bytes than requested with `fread`.
* Fixed handling of gzipped responses with FNAME headers.
## 1.2.2 - 2016-01-22
* Added support for URIs without any authority.

View File

@@ -38,7 +38,7 @@ echo $composed(); // abc, 123. Above all listen to me.
`GuzzleHttp\Psr7\BufferStream`
Provides a buffer stream that can be written to to fill a buffer, and read
Provides a buffer stream that can be written to fill a buffer, and read
from to remove bytes from the buffer.
This stream returns a "hwm" metadata value that tells upstream consumers
@@ -106,7 +106,7 @@ echo $stream; // 0123456789
Compose stream implementations based on a hash of functions.
Allows for easy testing and extension of a provided stream without needing to
Allows for easy testing and extension of a provided stream without needing
to create a concrete class for a simple extension point.
```php

View File

@@ -60,9 +60,12 @@ class CachingStream implements StreamInterface
$diff = $byte - $this->stream->getSize();
if ($diff > 0) {
// If the seek byte is greater the number of read bytes, then read
// the difference of bytes to cache the bytes and inherently seek.
$this->read($diff);
// Read the remoteStream until we have read in at least the amount
// of bytes requested, or we reach the end of the file.
while ($diff > 0 && !$this->remoteStream->eof()) {
$this->read($diff);
$diff = $byte - $this->stream->getSize();
}
} else {
// We can just do a normal seek since we've already seen this byte.
$this->stream->seek($byte);

View File

@@ -20,10 +20,33 @@ class InflateStream implements StreamInterface
public function __construct(StreamInterface $stream)
{
// Skip the first 10 bytes
$stream = new LimitStream($stream, -1, 10);
// read the first 10 bytes, ie. gzip header
$header = $stream->read(10);
$filenameHeaderLength = $this->getLengthOfPossibleFilenameHeader($stream, $header);
// Skip the header, that is 10 + length of filename + 1 (nil) bytes
$stream = new LimitStream($stream, -1, 10 + $filenameHeaderLength);
$resource = StreamWrapper::getResource($stream);
stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ);
$this->stream = new Stream($resource);
}
/**
* @param StreamInterface $stream
* @param $header
* @return int
*/
private function getLengthOfPossibleFilenameHeader(StreamInterface $stream, $header)
{
$filename_header_length = 0;
if (substr(bin2hex($header), 6, 2) === '08') {
// we have a filename, read until nil
$filename_header_length = 1;
while ($stream->read(1) !== chr(0)) {
$filename_header_length++;
}
}
return $filename_header_length;
}
}

View File

@@ -98,6 +98,33 @@ class CachingStreamTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('ing', $this->body->read(3));
}
public function testCanSeekToReadBytesWithPartialBodyReturned()
{
$stream = fopen('php://temp', 'r+');
fwrite($stream, 'testing');
fseek($stream, 0);
$this->decorated = $this->getMockBuilder('\GuzzleHttp\Psr7\Stream')
->setConstructorArgs([$stream])
->setMethods(['read'])
->getMock();
$this->decorated->expects($this->exactly(2))
->method('read')
->willReturnCallback(function($length) use ($stream){
return fread($stream, 2);
});
$this->body = new CachingStream($this->decorated);
$this->assertEquals(0, $this->body->tell());
$this->body->seek(4, SEEK_SET);
$this->assertEquals(4, $this->body->tell());
$this->body->seek(0);
$this->assertEquals('test', $this->body->read(4));
}
public function testWritesToBufferStream()
{
$this->body->read(2);

View File

@@ -13,4 +13,27 @@ class InflateStreamtest extends \PHPUnit_Framework_TestCase
$b = new InflateStream($a);
$this->assertEquals('test', (string) $b);
}
public function testInflatesStreamsWithFilename()
{
$content = $this->getGzipStringWithFilename('test');
$a = Psr7\stream_for($content);
$b = new InflateStream($a);
$this->assertEquals('test', (string) $b);
}
private function getGzipStringWithFilename($original_string)
{
$gzipped = bin2hex(gzencode($original_string));
$header = substr($gzipped, 0, 20);
// set FNAME flag
$header[6]=0;
$header[7]=8;
// make a dummy filename
$filename = "64756d6d7900";
$rest = substr($gzipped, 20);
return hex2bin($header . $filename . $rest);
}
}

View File

@@ -154,7 +154,7 @@ class UriTest extends \PHPUnit_Framework_TestCase
[self::RFC3986_BASE, 'g;x=1/../y', 'http://a/b/c/y'],
['http://u@a/b/c/d;p?q', '.', 'http://u@a/b/c/'],
['http://u:p@a/b/c/d;p?q', '.', 'http://u:p@a/b/c/'],
//[self::RFC3986_BASE, 'http:g', 'http:g'],
['http://a/b/c/d/', 'e', 'http://a/b/c/d/e'],
];
}

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