Release v2.0.0
This commit is contained in:
52
.env.example
Normal file
52
.env.example
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
APP_NAME=Laravel
|
||||||
|
APP_ENV=local
|
||||||
|
APP_KEY=
|
||||||
|
APP_DEBUG=true
|
||||||
|
APP_URL=http://localhost
|
||||||
|
|
||||||
|
LOG_CHANNEL=stack
|
||||||
|
LOG_DEPRECATIONS_CHANNEL=null
|
||||||
|
LOG_LEVEL=debug
|
||||||
|
|
||||||
|
DB_CONNECTION=mysql
|
||||||
|
DB_HOST=127.0.0.1
|
||||||
|
DB_PORT=3306
|
||||||
|
DB_DATABASE=laravel
|
||||||
|
DB_USERNAME=root
|
||||||
|
DB_PASSWORD=
|
||||||
|
|
||||||
|
BROADCAST_DRIVER=log
|
||||||
|
CACHE_DRIVER=file
|
||||||
|
FILESYSTEM_DISK=local
|
||||||
|
QUEUE_CONNECTION=sync
|
||||||
|
SESSION_DRIVER=file
|
||||||
|
SESSION_LIFETIME=120
|
||||||
|
|
||||||
|
MEMCACHED_HOST=127.0.0.1
|
||||||
|
|
||||||
|
REDIS_HOST=127.0.0.1
|
||||||
|
REDIS_PASSWORD=null
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
MAIL_MAILER=smtp
|
||||||
|
MAIL_HOST=mailhog
|
||||||
|
MAIL_PORT=1025
|
||||||
|
MAIL_USERNAME=null
|
||||||
|
MAIL_PASSWORD=null
|
||||||
|
MAIL_ENCRYPTION=null
|
||||||
|
MAIL_FROM_ADDRESS=null
|
||||||
|
MAIL_FROM_NAME="${APP_NAME}"
|
||||||
|
|
||||||
|
AWS_ACCESS_KEY_ID=
|
||||||
|
AWS_SECRET_ACCESS_KEY=
|
||||||
|
AWS_DEFAULT_REGION=us-east-1
|
||||||
|
AWS_BUCKET=
|
||||||
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||||
|
|
||||||
|
PUSHER_APP_ID=
|
||||||
|
PUSHER_APP_KEY=
|
||||||
|
PUSHER_APP_SECRET=
|
||||||
|
PUSHER_APP_CLUSTER=mt1
|
||||||
|
|
||||||
|
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||||
|
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
175
.idea/community.iml
generated
Normal file
175
.idea/community.iml
generated
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="false" packagePrefix="Tests\" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/graham-campbell/result-type" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravelcollective/html" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/propaganistas/laravel-phone" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/davejamesmiller/laravel-breadcrumbs" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/php-webdriver/webdriver" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/dragonmantank/cron-expression" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/nicolaslopezj/searchable" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/intervention/image" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/tijsverkoyen/css-to-inline-styles" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/maatwebsite/excel" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/masterminds/html5" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/nunomaduro/termwind" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/nunomaduro/collision" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/type" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/cli-parser" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/resource-operations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-enumerator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/code-unit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/object-reflector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/complexity" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/lines-of-code" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpoption/phpoption" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/ralouphie/getallheaders" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/mtdowling/jmespath.php" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpoffice/phpspreadsheet" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/markbaker/complex" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/markbaker/matrix" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/fruitcake/php-cors" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/maennchen/zipstream-php" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/unisharp/laravel-filemanager" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/vsmoraes/laravel-pdf" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/maximebf/debugbar" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/neitanod/forceutf8" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/clock" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/lcobucci/jwt" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/fakerphp/faker" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/hamcrest/hamcrest-php" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/deprecations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/dbal" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/theseer/tokenizer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-debugbar" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mailer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dom-crawler" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-grapheme" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-idn" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/uid" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-kernel" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-uuid" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/string" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-intl-normalizer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/error-handler" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/mime" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/service-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php72" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-foundation" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php80" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-invoker" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/phpspec" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/php-diff" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/version" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phar-io/manifest" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/php-enum" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/mockery/mockery" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/monolog/monolog" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/ui" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/dusk" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/tinker" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/serializable-closure" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/socialite" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/giggsey/locale" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/giggsey/libphonenumber-for-php" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/dflydev/dot-access-data" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/egulias/email-validator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/bugsnag/bugsnag-laravel" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/bugsnag/bugsnag-psr-logger" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/vlucas/phpdotenv" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/bugsnag/bugsnag" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/tedivm/fetch" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/torann/geoip" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/ignition" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/backtrace" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/flare-client-php" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/laravel-ignition" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/ramsey/collection" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/ramsey/uuid" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/nesbot/carbon" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/predis/predis" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/league/config" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/namshi/jose" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/league/commonmark" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/league/flysystem" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/league/oauth1-client" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/league/iso3166" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/league/flysystem-aws-s3-v3" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/league/mime-type-detection" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/facade/ignition-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/flowjs/flow-php-server" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/dompdf/dompdf" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/ezyang/htmlpurifier" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/tymon/jwt-auth" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/yajra/laravel-datatables-oracle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/nikic/php-parser" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/phenx/php-font-lib" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/nette/utils" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/nette/schema" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/brick/math" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/mremi/url-shortener" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/filp/whoops" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/voku/portable-ascii" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psy/psysh" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-client" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-factory" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/simple-cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/event-dispatcher" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/clock" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-message" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/container" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/aws/aws-crt-php" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor/aws/aws-sdk-php" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
6
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
6
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="JSHint" enabled="true" level="ERROR" enabled_by_default="true" />
|
||||||
|
</profile>
|
||||||
|
</component>
|
16
.idea/jsLinters/jshint.xml
generated
Normal file
16
.idea/jsLinters/jshint.xml
generated
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JSHintConfiguration" version="2.13.0" use-config-file="true" use-custom-config-file="true" custom-config-file-path="$PROJECT_DIR$/public/lb-faveo/plugins/moment-develop/.jshintrc">
|
||||||
|
<option bitwise="true" />
|
||||||
|
<option browser="true" />
|
||||||
|
<option curly="true" />
|
||||||
|
<option eqeqeq="true" />
|
||||||
|
<option forin="true" />
|
||||||
|
<option maxerr="50" />
|
||||||
|
<option noarg="true" />
|
||||||
|
<option noempty="true" />
|
||||||
|
<option nonew="true" />
|
||||||
|
<option strict="true" />
|
||||||
|
<option undef="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/community.iml" filepath="$PROJECT_DIR$/.idea/community.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
14
.idea/php-test-framework.xml
generated
Normal file
14
.idea/php-test-framework.xml
generated
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="PhpTestFrameworkSettings">
|
||||||
|
<test_tools>
|
||||||
|
<tool tool_name="PHPSpec">
|
||||||
|
<settings>
|
||||||
|
<configurations>
|
||||||
|
<local_configuration executable_path="$PROJECT_DIR$/vendor/phpspec/phpspec/bin/phpspec" />
|
||||||
|
</configurations>
|
||||||
|
</settings>
|
||||||
|
</tool>
|
||||||
|
</test_tools>
|
||||||
|
</component>
|
||||||
|
</project>
|
176
.idea/php.xml
generated
Normal file
176
.idea/php.xml
generated
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="PhpIncludePathManager">
|
||||||
|
<include_path>
|
||||||
|
<path value="$PROJECT_DIR$/vendor/composer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/graham-campbell/result-type" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravelcollective/html" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/propaganistas/laravel-phone" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/davejamesmiller/laravel-breadcrumbs" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/php-webdriver/webdriver" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/dragonmantank/cron-expression" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nicolaslopezj/searchable" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/intervention/image" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/tijsverkoyen/css-to-inline-styles" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/maatwebsite/excel" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/masterminds/html5" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nunomaduro/termwind" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nunomaduro/collision" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/guzzlehttp/psr7" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/guzzlehttp/promises" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/guzzlehttp/guzzle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/type" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/cli-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/complexity" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/lines-of-code" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpoption/phpoption" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/ralouphie/getallheaders" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/mtdowling/jmespath.php" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpoffice/phpspreadsheet" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/markbaker/complex" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/markbaker/matrix" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/fruitcake/php-cors" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/maennchen/zipstream-php" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/unisharp/laravel-filemanager" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/vsmoraes/laravel-pdf" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/maximebf/debugbar" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/neitanod/forceutf8" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/lcobucci/clock" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/lcobucci/jwt" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/fakerphp/faker" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/hamcrest/hamcrest-php" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/deprecations" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/dbal" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/event-manager" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/barryvdh/laravel-debugbar" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/mailer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/dom-crawler" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/console" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/translation" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/uid" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-uuid" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/string" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/mime" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/service-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php72" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/yaml" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/process" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php80" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-invoker" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpspec/phpspec" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpspec/php-diff" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phar-io/version" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/myclabs/php-enum" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/mockery/mockery" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/monolog/monolog" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravel/ui" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravel/dusk" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravel/tinker" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravel/framework" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravel/serializable-closure" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/laravel/socialite" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/giggsey/locale" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/giggsey/libphonenumber-for-php" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/dflydev/dot-access-data" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/egulias/email-validator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/bugsnag/bugsnag-laravel" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/bugsnag/bugsnag-psr-logger" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/vlucas/phpdotenv" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/bugsnag/bugsnag" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/tedivm/fetch" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/torann/geoip" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/spatie/ignition" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/spatie/backtrace" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/spatie/flare-client-php" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/spatie/laravel-ignition" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/ramsey/collection" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/ramsey/uuid" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nesbot/carbon" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/predis/predis" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/config" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/namshi/jose" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/commonmark" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/flysystem" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/oauth1-client" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/iso3166" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/flysystem-aws-s3-v3" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/mime-type-detection" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/facade/ignition-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/flowjs/flow-php-server" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/dompdf/dompdf" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/ezyang/htmlpurifier" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/tymon/jwt-auth" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/yajra/laravel-datatables-oracle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phenx/php-font-lib" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nette/utils" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nette/schema" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/brick/math" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/mremi/url-shortener" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/filp/whoops" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/voku/portable-ascii" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/log" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psy/psysh" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/http-client" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/http-factory" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/simple-cache" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/clock" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/http-message" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/container" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/aws/aws-crt-php" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/aws/aws-sdk-php" />
|
||||||
|
</include_path>
|
||||||
|
</component>
|
||||||
|
<component name="PhpProjectSharedConfiguration" php_language_level="7.2" />
|
||||||
|
<component name="PhpUnit">
|
||||||
|
<phpunit_settings>
|
||||||
|
<PhpUnitSettings configuration_file_path="$PROJECT_DIR$/phpunit.xml" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" use_configuration_file="true" />
|
||||||
|
</phpunit_settings>
|
||||||
|
</component>
|
||||||
|
</project>
|
10
.idea/phpunit.xml
generated
Normal file
10
.idea/phpunit.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="PHPUnit">
|
||||||
|
<option name="directories">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/tests" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
20
README.md
20
README.md
@@ -22,12 +22,12 @@ Faveo can be customised according to requirement and we do undertake such reques
|
|||||||
|
|
||||||
Flavors of Faveo
|
Flavors of Faveo
|
||||||
--------------------------
|
--------------------------
|
||||||
* Faveo Community Edition – Free, Open source edition
|
* Faveo Help Desk Community Edition – Free, Open source edition
|
||||||
* Faveo Freelancer - Free version with features available in Faveo Pro Edition for two agents
|
* Faveo Help Desk Freelancer - Free version with features available in Faveo Enterprise Edition for two agents
|
||||||
* Faveo Pro Edition – Paid version with many advance features and integrations
|
* Faveo Help Desk Enterprise Edition – Paid version with many advance features and integrations
|
||||||
* Faveo Service Desk - Paid version for IT Assest management
|
* Faveo Service Desk - Paid version for IT Assest management
|
||||||
|
|
||||||
[View complete comparision list of all flavors of Faveo to select the most suitable solution for your business](https://www.faveohelpdesk.com/pricing-india/)
|
[View complete comparision list of all flavors of Faveo to select the most suitable solution for your business](https://www.faveohelpdesk.com/pricing/)
|
||||||
|
|
||||||
Faveo Documentation
|
Faveo Documentation
|
||||||
--------------------------
|
--------------------------
|
||||||
@@ -40,8 +40,8 @@ Requirements
|
|||||||
--------------------------
|
--------------------------
|
||||||
To run Faveo your host just needs a couple of things:
|
To run Faveo your host just needs a couple of things:
|
||||||
|
|
||||||
* PHP Version: 7.1+
|
* PHP Version: 8.1+
|
||||||
* Database: MySQL 5.0+
|
* Database: MySQL 8.0.x or MariaDB 10.6.x
|
||||||
* Web Server: Apache / IIS / Nginx
|
* Web Server: Apache / IIS / Nginx
|
||||||
* PHP Extensions: Imap, Mbstring, Mcrypt, OpenSSL, PDO, Tokenizer, XML, Zip
|
* PHP Extensions: Imap, Mbstring, Mcrypt, OpenSSL, PDO, Tokenizer, XML, Zip
|
||||||
* Web Server Extension: Pretty URLs or Search Engine Friendly URLs have to be enabled in your web server configuration
|
* Web Server Extension: Pretty URLs or Search Engine Friendly URLs have to be enabled in your web server configuration
|
||||||
@@ -85,7 +85,7 @@ If you are using our product and want to support us <a href="https://github.com/
|
|||||||
Language translate
|
Language translate
|
||||||
--------------------------
|
--------------------------
|
||||||
Help us translate Faveo into your native language <a href="https://github.com/ladybirdweb/faveo-helpdesk/wiki/Help-in-language-translate" target="_blank">Click here</a><br/>
|
Help us translate Faveo into your native language <a href="https://github.com/ladybirdweb/faveo-helpdesk/wiki/Help-in-language-translate" target="_blank">Click here</a><br/>
|
||||||
We are following Laravel <a href="https://laravel.com/docs/5.2/localization">localization</a> module, you can create language file in your branch and send a pull request.
|
We are following Laravel <a href="https://laravel.com/docs/9.x/localization">localization</a> module, you can create language file in your branch and send a pull request.
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
--------------------------
|
--------------------------
|
||||||
@@ -101,12 +101,8 @@ Help
|
|||||||
--------------------------
|
--------------------------
|
||||||
Visit the <a href="https://github.com/ladybirdweb/faveo-helpdesk/issues">issue</a> page. And if you'd like professional help commercial support is available, email us through the <a href="http://www.faveohelpdesk.com/contact-us/">contact form</a>.
|
Visit the <a href="https://github.com/ladybirdweb/faveo-helpdesk/issues">issue</a> page. And if you'd like professional help commercial support is available, email us through the <a href="http://www.faveohelpdesk.com/contact-us/">contact form</a>.
|
||||||
|
|
||||||
Download Faveo mobile apps
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
<a href='https://play.google.com/store/apps/details?id=co.helpdesk.faveo&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1' target="_blank"><img alt='Get it on Google Play' src='http://www.faveohelpdesk.com/wp-content/uploads/2016/12/google-1.png' width="200px"/></a> <a href="https://appsto.re/in/cTjQgb.i" target="_blank"><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/apple.png" width="200px"/></a>
|
|
||||||
|
|
||||||
|
|
||||||
Follow Us
|
Follow Us
|
||||||
--------------------------
|
--------------------------
|
||||||
<a href="https://www.facebook.com/faveohelpdesk" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/fb.png" /></a> <a href="https://twitter.com/faveohelpdesk" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/twitter.png" /></a> <a href="https://www.linkedin.com/company/627599" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/linkedin.png" /></a> <a href="https://www.youtube.com/channel/UC-eqh-h241b1janp6sU7Iiw" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/youtube.png" /></a> <a href="https://plus.google.com/117596052965493985407" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/google.png" /></a>
|
<a href="https://www.facebook.com/faveohelpdesk" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/fb.png" /></a> <a href="https://twitter.com/faveohelpdesk" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/twitter.png" /></a> <a href="https://www.linkedin.com/showcase/faveohelpdesk/" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/linkedin.png" /></a> <a href="https://www.youtube.com/channel/UC-eqh-h241b1janp6sU7Iiw" ><img src="http://www.faveohelpdesk.com/wp-content/uploads/2016/12/youtube.png" /></a>
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Controllers\Common;
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ================================================================================================
|
* ================================================================================================
|
||||||
* @version v1
|
* @version v1
|
||||||
@@ -8,59 +11,59 @@
|
|||||||
* @author Vijay Sebastian<vijay.sebastian@ladybirdweb.com>
|
* @author Vijay Sebastian<vijay.sebastian@ladybirdweb.com>
|
||||||
* @name Faveo
|
* @name Faveo
|
||||||
*/
|
*/
|
||||||
Route::group(['prefix' => 'api/v1'], function () {
|
Route::prefix('api/v1')->group(function () {
|
||||||
Route::post('authenticate', '\App\Api\v1\TokenAuthController@authenticate');
|
Route::post('authenticate', [\App\Api\v1\TokenAuthController::class, 'authenticate']);
|
||||||
Route::get('authenticate/user', '\App\Api\v1\TokenAuthController@getAuthenticatedUser');
|
Route::get('authenticate/user', [\App\Api\v1\TokenAuthController::class, 'getAuthenticatedUser']);
|
||||||
Route::get('/database-config', ['as' => 'database-config', 'uses' => '\App\Api\v1\InstallerApiController@config_database']);
|
Route::get('/database-config', [\App\Api\v1\InstallerApiController::class, 'config_database'])->name('database-config');
|
||||||
Route::get('/system-config', ['as' => 'database-config', 'uses' => '\App\Api\v1\InstallerApiController@config_system']);
|
Route::get('/system-config', [\App\Api\v1\InstallerApiController::class, 'config_system'])->name('database-config');
|
||||||
/*
|
/*
|
||||||
* Helpdesk
|
* Helpdesk
|
||||||
*/
|
*/
|
||||||
Route::group(['prefix' => 'helpdesk'], function () {
|
Route::prefix('helpdesk')->group(function () {
|
||||||
Route::post('create', '\App\Api\v1\ApiController@createTicket');
|
Route::post('create', [\App\Api\v1\ApiController::class, 'createTicket']);
|
||||||
Route::post('reply', '\App\Api\v1\ApiController@ticketReply');
|
Route::post('reply', [\App\Api\v1\ApiController::class, 'ticketReply']);
|
||||||
Route::post('edit', '\App\Api\v1\ApiController@editTicket');
|
Route::post('edit', [\App\Api\v1\ApiController::class, 'editTicket']);
|
||||||
Route::post('delete', '\App\Api\v1\ApiController@deleteTicket');
|
Route::post('delete', [\App\Api\v1\ApiController::class, 'deleteTicket']);
|
||||||
Route::post('assign', '\App\Api\v1\ApiController@assignTicket');
|
Route::post('assign', [\App\Api\v1\ApiController::class, 'assignTicket']);
|
||||||
Route::get('open', '\App\Api\v1\ApiController@openedTickets');
|
Route::get('open', [\App\Api\v1\ApiController::class, 'openedTickets']);
|
||||||
Route::get('unassigned', '\App\Api\v1\ApiController@unassignedTickets');
|
Route::get('unassigned', [\App\Api\v1\ApiController::class, 'unassignedTickets']);
|
||||||
Route::get('closed', '\App\Api\v1\ApiController@closeTickets');
|
Route::get('closed', [\App\Api\v1\ApiController::class, 'closeTickets']);
|
||||||
Route::get('agents', '\App\Api\v1\ApiController@getAgents');
|
Route::get('agents', [\App\Api\v1\ApiController::class, 'getAgents']);
|
||||||
Route::get('teams', '\App\Api\v1\ApiController@getTeams');
|
Route::get('teams', [\App\Api\v1\ApiController::class, 'getTeams']);
|
||||||
Route::get('customers', '\App\Api\v1\ApiController@getCustomers');
|
Route::get('customers', [\App\Api\v1\ApiController::class, 'getCustomers']);
|
||||||
Route::get('customer', '\App\Api\v1\ApiController@getCustomer');
|
Route::get('customer', [\App\Api\v1\ApiController::class, 'getCustomer']);
|
||||||
Route::get('ticket-search', '\App\Api\v1\ApiController@searchTicket');
|
Route::get('ticket-search', [\App\Api\v1\ApiController::class, 'searchTicket']);
|
||||||
Route::get('ticket-thread', '\App\Api\v1\ApiController@ticketThreads');
|
Route::get('ticket-thread', [\App\Api\v1\ApiController::class, 'ticketThreads']);
|
||||||
Route::get('url', '\App\Api\v1\ApiExceptAuthController@checkUrl');
|
Route::get('url', [\App\Api\v1\ApiExceptAuthController::class, 'checkUrl']);
|
||||||
Route::get('check-url', '\App\Api\v1\ApiExceptAuthController@urlResult');
|
Route::get('check-url', [\App\Api\v1\ApiExceptAuthController::class, 'urlResult']);
|
||||||
Route::get('api_key', '\App\Api\v1\ApiController@generateApiKey');
|
Route::get('api_key', [\App\Api\v1\ApiController::class, 'generateApiKey']);
|
||||||
Route::get('help-topic', '\App\Api\v1\ApiController@getHelpTopic');
|
Route::get('help-topic', [\App\Api\v1\ApiController::class, 'getHelpTopic']);
|
||||||
Route::get('sla-plan', '\App\Api\v1\ApiController@getSlaPlan');
|
Route::get('sla-plan', [\App\Api\v1\ApiController::class, 'getSlaPlan']);
|
||||||
Route::get('priority', '\App\Api\v1\ApiController@getPriority');
|
Route::get('priority', [\App\Api\v1\ApiController::class, 'getPriority']);
|
||||||
Route::get('department', '\App\Api\v1\ApiController@getDepartment');
|
Route::get('department', [\App\Api\v1\ApiController::class, 'getDepartment']);
|
||||||
Route::get('tickets', '\App\Api\v1\ApiController@getTickets');
|
Route::get('tickets', [\App\Api\v1\ApiController::class, 'getTickets']);
|
||||||
Route::get('ticket', '\App\Api\v1\ApiController@getTicketById');
|
Route::get('ticket', [\App\Api\v1\ApiController::class, 'getTicketById']);
|
||||||
Route::get('inbox', '\App\Api\v1\ApiController@inbox');
|
Route::get('inbox', [\App\Api\v1\ApiController::class, 'inbox']);
|
||||||
Route::get('trash', '\App\Api\v1\ApiController@getTrash');
|
Route::get('trash', [\App\Api\v1\ApiController::class, 'getTrash']);
|
||||||
Route::get('my-tickets-agent', '\App\Api\v1\ApiController@getMyTicketsAgent');
|
Route::get('my-tickets-agent', [\App\Api\v1\ApiController::class, 'getMyTicketsAgent']);
|
||||||
Route::post('internal-note', '\App\Api\v1\ApiController@internalNote');
|
Route::post('internal-note', [\App\Api\v1\ApiController::class, 'internalNote']);
|
||||||
/*
|
/*
|
||||||
* Newly added
|
* Newly added
|
||||||
*/
|
*/
|
||||||
Route::get('customers-custom', '\App\Api\v1\ApiController@getCustomersWith');
|
Route::get('customers-custom', [\App\Api\v1\ApiController::class, 'getCustomersWith']);
|
||||||
Route::get('collaborator/search', '\App\Api\v1\ApiController@collaboratorSearch');
|
Route::get('collaborator/search', [\App\Api\v1\ApiController::class, 'collaboratorSearch']);
|
||||||
Route::post('collaborator/create', '\App\Api\v1\ApiController@addCollaboratorForTicket');
|
Route::post('collaborator/create', [\App\Api\v1\ApiController::class, 'addCollaboratorForTicket']);
|
||||||
Route::post('collaborator/remove', '\App\Api\v1\ApiController@deleteCollaborator');
|
Route::post('collaborator/remove', [\App\Api\v1\ApiController::class, 'deleteCollaborator']);
|
||||||
Route::post('collaborator/get-ticket', '\App\Api\v1\ApiController@getCollaboratorForTicket');
|
Route::post('collaborator/get-ticket', [\App\Api\v1\ApiController::class, 'getCollaboratorForTicket']);
|
||||||
Route::get('my-tickets-user', '\App\Api\v1\ApiController@getMyTicketsUser');
|
Route::get('my-tickets-user', [\App\Api\v1\ApiController::class, 'getMyTicketsUser']);
|
||||||
Route::get('dependency', '\App\Api\v1\ApiController@dependency');
|
Route::get('dependency', [\App\Api\v1\ApiController::class, 'dependency']);
|
||||||
Route::post('register', '\App\Api\v1\ApiController@createUser');
|
Route::post('register', [\App\Api\v1\ApiController::class, 'createUser']);
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FCM token response
|
* FCM token response
|
||||||
*/
|
*/
|
||||||
Route::post('fcmtoken', ['as' => 'fcmtoken', 'uses' => 'Common\PushNotificationController@fcmToken']);
|
Route::post('fcmtoken', [Common\PushNotificationController::class, 'fcmToken'])->name('fcmtoken');
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
* ================================================================================================
|
* ================================================================================================
|
||||||
@@ -70,11 +73,11 @@
|
|||||||
* @author Manish Verma<manish.verma@ladybirdweb.com>
|
* @author Manish Verma<manish.verma@ladybirdweb.com>
|
||||||
* @name Faveo
|
* @name Faveo
|
||||||
*/
|
*/
|
||||||
Route::group(['prefix' => 'api/v2'], function () {
|
Route::prefix('api/v2')->group(function () {
|
||||||
/*
|
/*
|
||||||
* Helpdesk
|
* Helpdesk
|
||||||
*/
|
*/
|
||||||
Route::group(['prefix' => 'helpdesk'], function () {
|
Route::prefix('helpdesk')->group(function () {
|
||||||
Route::get('tickets', '\App\Api\v2\TicketController@getTickets');
|
Route::get('tickets', [\App\Api\v2\TicketController::class, 'getTickets']);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -4,9 +4,9 @@ namespace App\Api\v1;
|
|||||||
|
|
||||||
use App\Http\Controllers\Agent\helpdesk\TicketController as CoreTicketController;
|
use App\Http\Controllers\Agent\helpdesk\TicketController as CoreTicketController;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
//use Illuminate\Support\Facades\Request as Value;
|
|
||||||
use App\Http\Requests\helpdesk\TicketRequest;
|
use App\Http\Requests\helpdesk\TicketRequest;
|
||||||
use App\Model\helpdesk\Agent\Department;
|
use App\Model\helpdesk\Agent\Department;
|
||||||
|
//use Illuminate\Support\Facades\Request as Value;
|
||||||
use App\Model\helpdesk\Agent\Teams;
|
use App\Model\helpdesk\Agent\Teams;
|
||||||
use App\Model\helpdesk\Manage\Help_topic;
|
use App\Model\helpdesk\Manage\Help_topic;
|
||||||
use App\Model\helpdesk\Manage\Sla_plan;
|
use App\Model\helpdesk\Manage\Sla_plan;
|
||||||
@@ -21,6 +21,8 @@ use Exception;
|
|||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Pagination\LengthAwarePaginator;
|
use Illuminate\Pagination\LengthAwarePaginator;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* -----------------------------------------------------------------------------
|
* -----------------------------------------------------------------------------
|
||||||
@@ -37,19 +39,33 @@ use Illuminate\Support\Collection;
|
|||||||
class ApiController extends Controller
|
class ApiController extends Controller
|
||||||
{
|
{
|
||||||
public $user;
|
public $user;
|
||||||
|
|
||||||
public $request;
|
public $request;
|
||||||
|
|
||||||
public $ticket;
|
public $ticket;
|
||||||
|
|
||||||
public $model;
|
public $model;
|
||||||
|
|
||||||
public $thread;
|
public $thread;
|
||||||
|
|
||||||
public $attach;
|
public $attach;
|
||||||
|
|
||||||
public $ticketRequest;
|
public $ticketRequest;
|
||||||
|
|
||||||
public $faveoUser;
|
public $faveoUser;
|
||||||
|
|
||||||
public $team;
|
public $team;
|
||||||
|
|
||||||
public $setting;
|
public $setting;
|
||||||
|
|
||||||
public $helptopic;
|
public $helptopic;
|
||||||
|
|
||||||
public $slaPlan;
|
public $slaPlan;
|
||||||
|
|
||||||
public $department;
|
public $department;
|
||||||
|
|
||||||
public $priority;
|
public $priority;
|
||||||
|
|
||||||
public $source;
|
public $source;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -717,8 +733,8 @@ class ApiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$url = $this->request->input('url');
|
$url = $this->request->input('url');
|
||||||
if (!str_is('*/', $url)) {
|
if (!Str::is('*/', $url)) {
|
||||||
$url = str_finish($url, '/');
|
$url = Str::finish($url, '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
$url = $url.'/api/v1/helpdesk/check-url?api_key='.$this->request->input('api_key').'&token='.\Config::get('app.token');
|
$url = $url.'/api/v1/helpdesk/check-url?api_key='.$this->request->input('api_key').'&token='.\Config::get('app.token');
|
||||||
@@ -807,7 +823,7 @@ class ApiController extends Controller
|
|||||||
$set = $this->setting->where('id', '1')->first();
|
$set = $this->setting->where('id', '1')->first();
|
||||||
//dd($set);
|
//dd($set);
|
||||||
if ($set->api_enable == 1) {
|
if ($set->api_enable == 1) {
|
||||||
$key = str_random(32);
|
$key = Str::random(32);
|
||||||
$set->api_key = $key;
|
$set->api_key = $key;
|
||||||
$set->save();
|
$set->save();
|
||||||
$result = $set->api_key;
|
$result = $set->api_key;
|
||||||
@@ -1407,7 +1423,7 @@ class ApiController extends Controller
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$v = \Validator::make(
|
$v = \Validator::make(
|
||||||
\Input::get(),
|
Input::all(),
|
||||||
[
|
[
|
||||||
'email' => 'required|email|unique:users',
|
'email' => 'required|email|unique:users',
|
||||||
'ticket_id' => 'required',
|
'ticket_id' => 'required',
|
||||||
@@ -1440,7 +1456,7 @@ class ApiController extends Controller
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$v = \Validator::make(
|
$v = \Validator::make(
|
||||||
\Input::get(),
|
Input::all(),
|
||||||
[
|
[
|
||||||
'ticket_id' => 'required',
|
'ticket_id' => 'required',
|
||||||
]
|
]
|
||||||
@@ -1472,7 +1488,7 @@ class ApiController extends Controller
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$v = \Validator::make(
|
$v = \Validator::make(
|
||||||
\Input::get(),
|
Input::all(),
|
||||||
[
|
[
|
||||||
'ticketid' => 'required',
|
'ticketid' => 'required',
|
||||||
'email' => 'required',
|
'email' => 'required',
|
||||||
@@ -1652,7 +1668,7 @@ class ApiController extends Controller
|
|||||||
|
|
||||||
return response()->json(compact('error'));
|
return response()->json(compact('error'));
|
||||||
}
|
}
|
||||||
$str = str_random(8);
|
$str = Str::random(8);
|
||||||
$array = ['password' => $str, 'password_confirmation' => $str, 'email' => $this->request->input('email'), 'full_name' => $this->request->input('first_name')];
|
$array = ['password' => $str, 'password_confirmation' => $str, 'email' => $this->request->input('email'), 'full_name' => $this->request->input('first_name')];
|
||||||
$all = $this->request->input();
|
$all = $this->request->input();
|
||||||
$merged = $array + $all;
|
$merged = $array + $all;
|
||||||
|
@@ -4,6 +4,7 @@ namespace App\Api\v1;
|
|||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class ApiExceptAuthController extends Controller
|
class ApiExceptAuthController extends Controller
|
||||||
{
|
{
|
||||||
@@ -34,8 +35,8 @@ class ApiExceptAuthController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$url = $this->request->input('url');
|
$url = $this->request->input('url');
|
||||||
if (!str_is('*/', $url)) {
|
if (!Str::is('*/', $url)) {
|
||||||
$url = str_finish($url, '/');
|
$url = Str::finish($url, '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
$url = $url.'api/v1/helpdesk/check-url';
|
$url = $url.'api/v1/helpdesk/check-url';
|
||||||
|
@@ -92,14 +92,14 @@ class InstallerApiController extends Controller
|
|||||||
$ENV['DB_USERNAME'] = $dbusername;
|
$ENV['DB_USERNAME'] = $dbusername;
|
||||||
$ENV['DB_PASSWORD'] = $dbpassword;
|
$ENV['DB_PASSWORD'] = $dbpassword;
|
||||||
$ENV['DB_INSTALL'] = '%0%';
|
$ENV['DB_INSTALL'] = '%0%';
|
||||||
$ENV['MAIL_DRIVER'] = 'smtp';
|
$ENV['MAIL_MAILER'] = 'smtp';
|
||||||
$ENV['MAIL_HOST'] = 'mailtrap.io';
|
$ENV['MAIL_HOST'] = 'mailtrap.io';
|
||||||
$ENV['MAIL_PORT'] = '2525';
|
$ENV['MAIL_PORT'] = '2525';
|
||||||
$ENV['MAIL_USERNAME'] = 'null';
|
$ENV['MAIL_USERNAME'] = 'null';
|
||||||
$ENV['MAIL_PASSWORD'] = 'null';
|
$ENV['MAIL_PASSWORD'] = 'null';
|
||||||
$ENV['CACHE_DRIVER'] = 'file';
|
$ENV['CACHE_DRIVER'] = 'file';
|
||||||
$ENV['SESSION_DRIVER'] = 'file';
|
$ENV['SESSION_DRIVER'] = 'file';
|
||||||
$ENV['QUEUE_DRIVER'] = 'sync';
|
$ENV['QUEUE_CONNECTION'] = 'sync';
|
||||||
$ENV['JWT_TTL'] = 4;
|
$ENV['JWT_TTL'] = 4;
|
||||||
$ENV['FCM_SERVER_KEY'] = 'AIzaSyCyx5OFnsRFUmDLTMbPV50ZMDUGSG-bLw4';
|
$ENV['FCM_SERVER_KEY'] = 'AIzaSyCyx5OFnsRFUmDLTMbPV50ZMDUGSG-bLw4';
|
||||||
$ENV['FCM_SENDER_ID'] = '661051343223';
|
$ENV['FCM_SENDER_ID'] = '661051343223';
|
||||||
|
@@ -15,7 +15,7 @@ use App\Model\helpdesk\Ticket\Tickets;
|
|||||||
use App\User;
|
use App\User;
|
||||||
use Auth;
|
use Auth;
|
||||||
use Hash;
|
use Hash;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request;
|
||||||
use Mail;
|
use Mail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -275,7 +275,7 @@ class TicketController extends Controller
|
|||||||
$source = $eventthread->source;
|
$source = $eventthread->source;
|
||||||
|
|
||||||
$form_data = $request->except('reply_content', 'ticket_ID', 'attachment');
|
$form_data = $request->except('reply_content', 'ticket_ID', 'attachment');
|
||||||
\Event::fire(new \App\Events\ClientTicketFormPost($form_data, $emailadd, $source));
|
event(new \App\Events\ClientTicketFormPost($form_data, $emailadd, $source));
|
||||||
$reply_content = $request->input('reply_content');
|
$reply_content = $request->input('reply_content');
|
||||||
$thread->ticket_id = $request->input('ticket_id');
|
$thread->ticket_id = $request->input('ticket_id');
|
||||||
$thread->poster = 'support';
|
$thread->poster = 'support';
|
||||||
@@ -323,7 +323,7 @@ class TicketController extends Controller
|
|||||||
} else {
|
} else {
|
||||||
$agentsign = null;
|
$agentsign = null;
|
||||||
}
|
}
|
||||||
\Event::fire(new \App\Events\FaveoAfterReply($reply_content, $user->phone_number, $request, $tickets));
|
event(new \App\Events\FaveoAfterReply($reply_content, $user->phone_number, $request, $tickets));
|
||||||
|
|
||||||
// Mail::send(array('html' => 'emails.ticket_re-reply'), ['content' => $reply_content, 'ticket_number' => $ticket_number, 'From' => $company, 'name' => $username, 'Agent_Signature' => $agentsign], function ($message) use ($email, $user_name, $ticket_number, $ticket_subject, $check_attachment) {
|
// Mail::send(array('html' => 'emails.ticket_re-reply'), ['content' => $reply_content, 'ticket_number' => $ticket_number, 'From' => $company, 'name' => $username, 'Agent_Signature' => $agentsign], function ($message) use ($email, $user_name, $ticket_number, $ticket_subject, $check_attachment) {
|
||||||
// $message->to($email, $user_name)->subject($ticket_subject . '[#' . $ticket_number . ']');
|
// $message->to($email, $user_name)->subject($ticket_subject . '[#' . $ticket_number . ']');
|
||||||
@@ -414,15 +414,15 @@ class TicketController extends Controller
|
|||||||
try {
|
try {
|
||||||
$ticket = $ticket->where('id', '=', $ticket_id)->first();
|
$ticket = $ticket->where('id', '=', $ticket_id)->first();
|
||||||
|
|
||||||
$ticket->sla = Input::get('sla_plan');
|
$ticket->sla = Request::get('sla_plan');
|
||||||
$ticket->help_topic_id = Input::get('help_topic');
|
$ticket->help_topic_id = Request::get('help_topic');
|
||||||
$ticket->source = Input::get('ticket_source');
|
$ticket->source = Request::get('ticket_source');
|
||||||
$ticket->priority_id = Input::get('ticket_priority');
|
$ticket->priority_id = Request::get('ticket_priority');
|
||||||
$ticket->status = Input::get('status');
|
$ticket->status = Request::get('status');
|
||||||
$ticket->save();
|
$ticket->save();
|
||||||
|
|
||||||
$threads = $thread->where('ticket_id', '=', $ticket_id)->first();
|
$threads = $thread->where('ticket_id', '=', $ticket_id)->first();
|
||||||
$threads->title = Input::get('subject');
|
$threads->title = Request::get('subject');
|
||||||
$threads->save();
|
$threads->save();
|
||||||
} catch (\Exception $ex) {
|
} catch (\Exception $ex) {
|
||||||
$result = $ex->getMessage();
|
$result = $ex->getMessage();
|
||||||
@@ -444,7 +444,7 @@ class TicketController extends Controller
|
|||||||
public function assign($id)
|
public function assign($id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$UserEmail = Input::get('user');
|
$UserEmail = Request::get('user');
|
||||||
//dd($UserEmail);
|
//dd($UserEmail);
|
||||||
// $UserEmail = 'sujitprasad12@yahoo.in';
|
// $UserEmail = 'sujitprasad12@yahoo.in';
|
||||||
$user = User::where('email', '=', $UserEmail)->first();
|
$user = User::where('email', '=', $UserEmail)->first();
|
||||||
@@ -624,7 +624,7 @@ class TicketController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function autosearch()
|
public function autosearch()
|
||||||
{
|
{
|
||||||
$term = \Input::get('term');
|
$term = Request::get('term');
|
||||||
$user = \App\User::where('email', 'LIKE', '%'.$term.'%')->orWhere('first_name', 'LIKE', '%'.$term.'%')->orWhere('last_name', 'LIKE', '%'.$term.'%')->orWhere('user_name', 'LIKE', '%'.$term.'%')->pluck('email');
|
$user = \App\User::where('email', 'LIKE', '%'.$term.'%')->orWhere('first_name', 'LIKE', '%'.$term.'%')->orWhere('last_name', 'LIKE', '%'.$term.'%')->orWhere('user_name', 'LIKE', '%'.$term.'%')->pluck('email');
|
||||||
|
|
||||||
return $user;
|
return $user;
|
||||||
@@ -639,8 +639,8 @@ class TicketController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function useradd()
|
public function useradd()
|
||||||
{
|
{
|
||||||
$email = Input::get('email');
|
$email = Request::get('email');
|
||||||
$ticket_id = Input::get('ticket_id');
|
$ticket_id = Request::get('ticket_id');
|
||||||
$company = $this->company();
|
$company = $this->company();
|
||||||
$user = new User();
|
$user = new User();
|
||||||
$user->user_name = $email;
|
$user->user_name = $email;
|
||||||
@@ -673,8 +673,8 @@ class TicketController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function userremove()
|
public function userremove()
|
||||||
{
|
{
|
||||||
$email = Input::get('email');
|
$email = Request::get('email');
|
||||||
$ticketid = Input::get('ticketid');
|
$ticketid = Request::get('ticketid');
|
||||||
$user = new User();
|
$user = new User();
|
||||||
$user = $user->where('email', $email)->first();
|
$user = $user->where('email', $email)->first();
|
||||||
$ticket_collaborator = Ticket_Collaborator::where('ticket_id', '=', $ticketid)
|
$ticket_collaborator = Ticket_Collaborator::where('ticket_id', '=', $ticketid)
|
||||||
@@ -692,7 +692,7 @@ class TicketController extends Controller
|
|||||||
public function getCollaboratorForTicket()
|
public function getCollaboratorForTicket()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$ticketid = Input::get('ticket_id');
|
$ticketid = Request::get('ticket_id');
|
||||||
|
|
||||||
$ticket_collaborator = \DB::table('users')
|
$ticket_collaborator = \DB::table('users')
|
||||||
->join('ticket_collaborator', function ($join) use ($ticketid) {
|
->join('ticket_collaborator', function ($join) use ($ticketid) {
|
||||||
|
@@ -7,6 +7,7 @@ use App\Http\Controllers\Controller;
|
|||||||
use App\User;
|
use App\User;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use JWTAuth;
|
use JWTAuth;
|
||||||
use Tymon\JWTAuth\Exceptions\JWTException;
|
use Tymon\JWTAuth\Exceptions\JWTException;
|
||||||
|
|
||||||
@@ -168,7 +169,7 @@ class TokenAuthController extends Controller
|
|||||||
if (isset($user)) {
|
if (isset($user)) {
|
||||||
$user1 = $user->email;
|
$user1 = $user->email;
|
||||||
//gen new code and pass
|
//gen new code and pass
|
||||||
$code = str_random(60);
|
$code = Str::random(60);
|
||||||
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->first();
|
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->first();
|
||||||
if (isset($password_reset_table)) {
|
if (isset($password_reset_table)) {
|
||||||
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
|
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
|
||||||
|
@@ -20,6 +20,7 @@ class Install extends Command
|
|||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $description = 'to install faveo';
|
protected $description = 'to install faveo';
|
||||||
|
|
||||||
protected $install;
|
protected $install;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -5,6 +5,7 @@ namespace App\Console\Commands;
|
|||||||
use App\Http\Controllers\Installer\helpdesk\InstallController;
|
use App\Http\Controllers\Installer\helpdesk\InstallController;
|
||||||
use DB;
|
use DB;
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class InstallDB extends Command
|
class InstallDB extends Command
|
||||||
{
|
{
|
||||||
@@ -21,6 +22,7 @@ class InstallDB extends Command
|
|||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $description = 'installing database';
|
protected $description = 'installing database';
|
||||||
|
|
||||||
protected $install;
|
protected $install;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,7 +79,7 @@ class InstallDB extends Command
|
|||||||
public function updateAppUrl()
|
public function updateAppUrl()
|
||||||
{
|
{
|
||||||
$url = $this->ask('Enter your app url (with http/https and www/non www)');
|
$url = $this->ask('Enter your app url (with http/https and www/non www)');
|
||||||
if (str_finish($url, '/')) {
|
if (Str::finish($url, '/')) {
|
||||||
$url = rtrim($url, '/ ');
|
$url = rtrim($url, '/ ');
|
||||||
}
|
}
|
||||||
$systems = new \App\Model\helpdesk\Settings\System();
|
$systems = new \App\Model\helpdesk\Settings\System();
|
||||||
|
@@ -3,10 +3,10 @@
|
|||||||
namespace App\Console\Commands;
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
use App\Model\helpdesk\Settings\System;
|
use App\Model\helpdesk\Settings\System;
|
||||||
use Artisan;
|
|
||||||
use Config;
|
|
||||||
use DB;
|
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Facades\Artisan;
|
||||||
|
use Illuminate\Support\Facades\Config;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class SetupTestEnv extends Command
|
class SetupTestEnv extends Command
|
||||||
{
|
{
|
||||||
@@ -42,7 +42,7 @@ class SetupTestEnv extends Command
|
|||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
$dbUsername = $this->option('username') ? $this->option('username') : env('DB_USERNAME');
|
$dbUsername = $this->option('username') ? $this->option('username') : env('DB_USERNAME');
|
||||||
$dbPassword = $this->option('password') ? $this->option('password') : (env('DB_PASSWORD')) ? env('DB_PASSWORD') : '';
|
$dbPassword = $this->option('password') ? $this->option('password') : (env('DB_PASSWORD'));
|
||||||
$this->setupConfig($dbUsername, $dbPassword);
|
$this->setupConfig($dbUsername, $dbPassword);
|
||||||
|
|
||||||
echo "\nCreating database...\n";
|
echo "\nCreating database...\n";
|
||||||
|
34
app/Console/Commands/Sync.php
Normal file
34
app/Console/Commands/Sync.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Update\SyncFaveoToLatestVersion;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
|
class Sync extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'database:sync';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Migration and Database seeder';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
(new SyncFaveoToLatestVersion())->sync();
|
||||||
|
return Command::SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
34
app/Console/Commands/SyncFaveoToLatestVersion.php
Normal file
34
app/Console/Commands/SyncFaveoToLatestVersion.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
|
class SyncFaveoToLatestVersion extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'database:sync';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Database sync';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$this->info('database:sync started');
|
||||||
|
(new \App\Http\Controllers\Update\SyncFaveoToLatestVersion())->sync();
|
||||||
|
$this->info('database:sync completed');
|
||||||
|
}
|
||||||
|
}
|
@@ -4,7 +4,6 @@ namespace App\Console\Commands;
|
|||||||
|
|
||||||
use App\Http\Controllers\Agent\helpdesk\MailController;
|
use App\Http\Controllers\Agent\helpdesk\MailController;
|
||||||
use App\Http\Controllers\Agent\helpdesk\TicketWorkflowController;
|
use App\Http\Controllers\Agent\helpdesk\TicketWorkflowController;
|
||||||
use Event;
|
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
class TicketFetch extends Command
|
class TicketFetch extends Command
|
||||||
@@ -47,7 +46,7 @@ class TicketFetch extends Command
|
|||||||
$system = new \App\Model\helpdesk\Settings\System();
|
$system = new \App\Model\helpdesk\Settings\System();
|
||||||
$ticket = new \App\Model\helpdesk\Settings\Ticket();
|
$ticket = new \App\Model\helpdesk\Settings\Ticket();
|
||||||
$controller->readmails($emails, $settings_email, $system, $ticket);
|
$controller->readmails($emails, $settings_email, $system, $ticket);
|
||||||
Event::fire('ticket.fetch', ['event' => '']);
|
event('ticket.fetch', ['event' => '']);
|
||||||
loging('fetching-ticket', 'Ticket has read', 'info');
|
loging('fetching-ticket', 'Ticket has read', 'info');
|
||||||
//\Log::info('Ticket has read');
|
//\Log::info('Ticket has read');
|
||||||
$this->info('Ticket has read');
|
$this->info('Ticket has read');
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Console;
|
namespace App\Console;
|
||||||
|
|
||||||
|
use App\Console\Commands\SyncFaveoToLatestVersion;
|
||||||
use App\Model\MailJob\Condition;
|
use App\Model\MailJob\Condition;
|
||||||
use Illuminate\Console\Scheduling\Schedule;
|
use Illuminate\Console\Scheduling\Schedule;
|
||||||
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
||||||
@@ -14,16 +15,17 @@ class Kernel extends ConsoleKernel
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $commands = [
|
protected $commands = [
|
||||||
'App\Console\Commands\Inspire',
|
\App\Console\Commands\Inspire::class,
|
||||||
'App\Console\Commands\SendReport',
|
\App\Console\Commands\SendReport::class,
|
||||||
'App\Console\Commands\CloseWork',
|
\App\Console\Commands\CloseWork::class,
|
||||||
'App\Console\Commands\TicketFetch',
|
\App\Console\Commands\TicketFetch::class,
|
||||||
'App\Console\Commands\UpdateEncryption',
|
\App\Console\Commands\UpdateEncryption::class,
|
||||||
\App\Console\Commands\DropTables::class,
|
\App\Console\Commands\DropTables::class,
|
||||||
\App\Console\Commands\Install::class,
|
\App\Console\Commands\Install::class,
|
||||||
\App\Console\Commands\InstallDB::class,
|
\App\Console\Commands\InstallDB::class,
|
||||||
\App\Console\Commands\SetupTestEnv::class,
|
\App\Console\Commands\SetupTestEnv::class,
|
||||||
\App\Console\Commands\SecureFaveoAPPKey::class,
|
\App\Console\Commands\SecureFaveoAPPKey::class,
|
||||||
|
SyncFaveoToLatestVersion::class
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,9 +9,13 @@ class ClientTicketForm extends Event
|
|||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
public function __construct($para1 = '', $para2 = '', $para3 = '', $para4 = '', $para5 = '')
|
public function __construct($para1 = '', $para2 = '', $para3 = '', $para4 = '', $para5 = '')
|
||||||
|
@@ -9,9 +9,13 @@ class ClientTicketFormPost extends Event
|
|||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
public function __construct($para1 = '', $para2 = '', $para3 = '', $para4 = '', $para5 = '')
|
public function __construct($para1 = '', $para2 = '', $para3 = '', $para4 = '', $para5 = '')
|
||||||
|
@@ -7,11 +7,17 @@ use Illuminate\Queue\SerializesModels;
|
|||||||
class FaveoAfterReply extends Event
|
class FaveoAfterReply extends Event
|
||||||
{
|
{
|
||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
public $para6;
|
public $para6;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,9 +9,13 @@ class FormRegisterEvent extends Event
|
|||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7,10 +7,15 @@ use Illuminate\Queue\SerializesModels;
|
|||||||
class LoginEvent extends Event
|
class LoginEvent extends Event
|
||||||
{
|
{
|
||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7,10 +7,15 @@ use Illuminate\Queue\SerializesModels;
|
|||||||
class PostRegisterEvent extends Event
|
class PostRegisterEvent extends Event
|
||||||
{
|
{
|
||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7,10 +7,15 @@ use Illuminate\Queue\SerializesModels;
|
|||||||
class ReadMailEvent extends Event
|
class ReadMailEvent extends Event
|
||||||
{
|
{
|
||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7,10 +7,15 @@ use Illuminate\Queue\SerializesModels;
|
|||||||
class TicketBoxHeader extends Event
|
class TicketBoxHeader extends Event
|
||||||
{
|
{
|
||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7,10 +7,15 @@ use Illuminate\Queue\SerializesModels;
|
|||||||
class TicketDetailTable extends Event
|
class TicketDetailTable extends Event
|
||||||
{
|
{
|
||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7,10 +7,15 @@ use Illuminate\Queue\SerializesModels;
|
|||||||
class TimeLineFormEvent extends Event
|
class TimeLineFormEvent extends Event
|
||||||
{
|
{
|
||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -9,9 +9,13 @@ class Timeline extends Event
|
|||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
public $para1;
|
public $para1;
|
||||||
|
|
||||||
public $para2;
|
public $para2;
|
||||||
|
|
||||||
public $para3;
|
public $para3;
|
||||||
|
|
||||||
public $para4;
|
public $para4;
|
||||||
|
|
||||||
public $para5;
|
public $para5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -2,17 +2,15 @@
|
|||||||
|
|
||||||
namespace App\Exceptions;
|
namespace App\Exceptions;
|
||||||
|
|
||||||
// controller
|
use Bugsnag\BugsnagLaravel\Facades\Bugsnag;
|
||||||
use Bugsnag;
|
|
||||||
use Bugsnag\BugsnagLaravel\BugsnagExceptionHandler as ExceptionHandler;
|
|
||||||
use Config;
|
|
||||||
use Exception;
|
use Exception;
|
||||||
// use Symfony\Component\HttpKernel\Exception\HttpException;
|
|
||||||
// use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
|
||||||
use Illuminate\Auth\Access\AuthorizationException;
|
use Illuminate\Auth\Access\AuthorizationException;
|
||||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||||
use Illuminate\Foundation\Validation\ValidationException as foundation;
|
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||||
|
use Illuminate\Http\Exceptions\HttpResponseException;
|
||||||
use Illuminate\Session\TokenMismatchException;
|
use Illuminate\Session\TokenMismatchException;
|
||||||
|
use Illuminate\Support\Facades\App;
|
||||||
|
use Illuminate\Support\Facades\Config;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
|
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
|
||||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
@@ -25,42 +23,25 @@ class Handler extends ExceptionHandler
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $dontReport = [
|
protected $dontReport = [
|
||||||
// 'Symfony\Component\HttpKernel\Exception\HttpException',
|
HttpResponseException::class,
|
||||||
\Illuminate\Http\Exception\HttpResponseException::class,
|
|
||||||
foundation::class,
|
|
||||||
AuthorizationException::class,
|
AuthorizationException::class,
|
||||||
HttpResponseException::class,
|
HttpResponseException::class,
|
||||||
ModelNotFoundException::class,
|
ModelNotFoundException::class,
|
||||||
\Symfony\Component\HttpKernel\Exception\HttpException::class,
|
\Symfony\Component\HttpKernel\Exception\HttpException::class,
|
||||||
ValidationException::class,
|
ValidationException::class,
|
||||||
\DaveJamesMiller\Breadcrumbs\Exception::class,
|
\DaveJamesMiller\Breadcrumbs\BreadcrumbsException::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Report or log an exception.
|
* @param \Throwable $e
|
||||||
*
|
*
|
||||||
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
|
* @throws \Throwable
|
||||||
*
|
|
||||||
* @param \Exception $e
|
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function report(Exception $e)
|
public function report(\Throwable $e)
|
||||||
{
|
{
|
||||||
Bugsnag::setBeforeNotifyFunction(function ($error) { //set bugsnag
|
$this->reportToBugsNag($e);
|
||||||
return false;
|
|
||||||
});
|
|
||||||
// check if system is running in production environment
|
|
||||||
if (\App::environment() == 'production') {
|
|
||||||
$debug = Config::get('app.bugsnag_reporting'); //get bugsang reporting preference
|
|
||||||
if ($debug) { //if preference is true for reporting
|
|
||||||
$version = Config::get('app.version'); //set app version in report
|
|
||||||
Bugsnag::setAppVersion($version);
|
|
||||||
Bugsnag::setBeforeNotifyFunction(function ($error) { //set bugsnag
|
|
||||||
return true;
|
|
||||||
}); //set bugsnag reporting as true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return parent::report($e);
|
return parent::report($e);
|
||||||
}
|
}
|
||||||
@@ -79,17 +60,17 @@ class Handler extends ExceptionHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render an exception into an HTTP response.
|
* @param $request
|
||||||
|
* @param \Throwable $e
|
||||||
*
|
*
|
||||||
* @param type $request
|
* @throws \Throwable
|
||||||
* @param Exception $e
|
|
||||||
*
|
*
|
||||||
* @return type mixed
|
* @return type|\Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse|\Illuminate\Http\Response|\Symfony\Component\HttpFoundation\Response
|
||||||
*/
|
*/
|
||||||
public function render($request, Exception $e)
|
public function render($request, \Throwable $e)
|
||||||
{
|
{
|
||||||
switch ($e) {
|
switch ($e) {
|
||||||
case $e instanceof \Illuminate\Http\Exception\HttpResponseException:
|
case $e instanceof HttpResponseException:
|
||||||
return parent::render($request, $e);
|
return parent::render($request, $e);
|
||||||
case $e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException:
|
case $e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException:
|
||||||
return response()->json(['message' => $e->getMessage(), 'code' => $e->getStatusCode()]);
|
return response()->json(['message' => $e->getMessage(), 'code' => $e->getStatusCode()]);
|
||||||
@@ -234,4 +215,22 @@ class Handler extends ExceptionHandler
|
|||||||
|
|
||||||
return parent::render($request, $e);
|
return parent::render($request, $e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function reportToBugsNag(\Throwable $e)
|
||||||
|
{
|
||||||
|
if (Config::get('app.bugsnag_reporting') && env('APP_ENV') == 'production' && $this->shouldReportBugsnag($e)) {
|
||||||
|
Bugsnag::notifyException($e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function shouldReportBugsnag($e)
|
||||||
|
{
|
||||||
|
foreach ($this->dontReport as $report) {
|
||||||
|
if ($e instanceof $report) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
27
app/Exports/UserExport.php
Normal file
27
app/Exports/UserExport.php
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Exports;
|
||||||
|
|
||||||
|
use Maatwebsite\Excel\Concerns\FromArray;
|
||||||
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
||||||
|
|
||||||
|
class UserExport implements FromArray, WithHeadings
|
||||||
|
{
|
||||||
|
public $data;
|
||||||
|
|
||||||
|
public function __construct($data)
|
||||||
|
{
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function headings(): array
|
||||||
|
{
|
||||||
|
return ['Username', 'Email', 'Firstname', 'Lastname', 'Organization'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function array(): array
|
||||||
|
{
|
||||||
|
return $this->data;
|
||||||
|
}
|
||||||
|
}
|
@@ -16,6 +16,7 @@ class LaravelLogViewer
|
|||||||
* @var string file
|
* @var string file
|
||||||
*/
|
*/
|
||||||
private static $file;
|
private static $file;
|
||||||
|
|
||||||
private static $levels_classes = [
|
private static $levels_classes = [
|
||||||
'debug' => 'info',
|
'debug' => 'info',
|
||||||
'info' => 'info',
|
'info' => 'info',
|
||||||
@@ -26,6 +27,7 @@ class LaravelLogViewer
|
|||||||
'alert' => 'danger',
|
'alert' => 'danger',
|
||||||
'emergency' => 'danger',
|
'emergency' => 'danger',
|
||||||
];
|
];
|
||||||
|
|
||||||
private static $levels_imgs = [
|
private static $levels_imgs = [
|
||||||
'debug' => 'info',
|
'debug' => 'info',
|
||||||
'info' => 'info',
|
'info' => 'info',
|
||||||
|
@@ -1,9 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Controllers\App;
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Breadcrumbs::register('logs', function ($breadcrumbs) {
|
Breadcrumbs::register('logs', function ($breadcrumbs) {
|
||||||
$breadcrumbs->parent('setting');
|
$breadcrumbs->parent('setting');
|
||||||
$breadcrumbs->push('System Logs', route('logs'));
|
$breadcrumbs->push('System Logs', route('logs'));
|
||||||
});
|
});
|
||||||
Route::group(['middleware' => ['web', 'auth', 'roles']], function () {
|
Route::middleware('web', 'auth', 'roles')->group(function () {
|
||||||
Route::get('logs', ['as' => 'logs', 'uses' => 'App\FaveoLog\controllers\LogViewerController@index']);
|
Route::get('logs', [\App\FaveoLog\controllers\LogViewerController::class, 'index'])->name('logs');
|
||||||
});
|
});
|
||||||
|
@@ -12,17 +12,29 @@ use Storage;
|
|||||||
class StorageController extends Controller
|
class StorageController extends Controller
|
||||||
{
|
{
|
||||||
protected $default;
|
protected $default;
|
||||||
|
|
||||||
protected $driver;
|
protected $driver;
|
||||||
|
|
||||||
protected $root;
|
protected $root;
|
||||||
|
|
||||||
protected $s3_key;
|
protected $s3_key;
|
||||||
|
|
||||||
protected $s3_region;
|
protected $s3_region;
|
||||||
|
|
||||||
protected $s3_secret;
|
protected $s3_secret;
|
||||||
|
|
||||||
protected $s3_bucket;
|
protected $s3_bucket;
|
||||||
|
|
||||||
protected $rackspace_key;
|
protected $rackspace_key;
|
||||||
|
|
||||||
protected $rackspace_region;
|
protected $rackspace_region;
|
||||||
|
|
||||||
protected $rackspace_username;
|
protected $rackspace_username;
|
||||||
|
|
||||||
protected $rackspace_container;
|
protected $rackspace_container;
|
||||||
|
|
||||||
protected $rackspace_endpoint;
|
protected $rackspace_endpoint;
|
||||||
|
|
||||||
protected $rackspace_url_type;
|
protected $rackspace_url_type;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
@@ -192,7 +204,7 @@ class StorageController extends Controller
|
|||||||
if ($this->default !== 'database') {
|
if ($this->default !== 'database') {
|
||||||
$this->setFileSystem();
|
$this->setFileSystem();
|
||||||
Storage::disk($this->default)->put($filename, $data);
|
Storage::disk($this->default)->put($filename, $data);
|
||||||
$storagePath = Storage::disk($this->default)->getDriver()->getAdapter()->getPathPrefix().$filename;
|
$storagePath = Storage::disk($this->default)->path($filename);
|
||||||
if (mime(\File::mimeType($storagePath)) != 'image' || mime(\File::extension($storagePath)) != 'image') {
|
if (mime(\File::mimeType($storagePath)) != 'image' || mime(\File::extension($storagePath)) != 'image') {
|
||||||
chmod($storagePath, 1204);
|
chmod($storagePath, 1204);
|
||||||
}
|
}
|
||||||
|
@@ -1,12 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
\Event::listen('settings.system', function () {
|
\Event::listen('settings.system', function () {
|
||||||
$controller = new \App\FaveoStorage\Controllers\SettingsController();
|
$controller = new \App\FaveoStorage\Controllers\SettingsController();
|
||||||
echo $controller->settingsIcon();
|
echo $controller->settingsIcon();
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::group(['middleware'=>['web']], function () {
|
Route::middleware('web')->group(function () {
|
||||||
Route::get('storage', ['as'=>'storage', 'uses'=>'App\FaveoStorage\Controllers\SettingsController@settings']);
|
Route::get('storage', [App\FaveoStorage\Controllers\SettingsController::class, 'settings'])->name('storage');
|
||||||
Route::post('storage', ['as'=>'post.storage', 'uses'=>'App\FaveoStorage\Controllers\SettingsController@postSettings']);
|
Route::post('storage', [App\FaveoStorage\Controllers\SettingsController::class, 'postSettings'])->name('post.storage');
|
||||||
Route::get('attachment', ['as'=>'attach', 'uses'=>'App\FaveoStorage\Controllers\SettingsController@attachment']);
|
Route::get('attachment', [App\FaveoStorage\Controllers\SettingsController::class, 'attachment'])->name('attach');
|
||||||
});
|
});
|
||||||
|
@@ -93,7 +93,7 @@ class AgentController extends Controller
|
|||||||
// returns to the page with all the variables and their datas
|
// returns to the page with all the variables and their datas
|
||||||
$send_otp = DB::table('common_settings')->select('status')->where('option_name', '=', 'send_otp')->first();
|
$send_otp = DB::table('common_settings')->select('status')->where('option_name', '=', 'send_otp')->first();
|
||||||
|
|
||||||
return view('themes.default1.admin.helpdesk.agent.agents.create', compact('assign', 'teams', 'agents', 'timezones', 'groups', 'departments', 'team', 'send_otp'))->with('phonecode', $phonecode->phonecode);
|
return view('themes.default1.admin.helpdesk.agent.agents.create', compact('teams', 'timezones', 'groups', 'departments', 'team', 'send_otp'))->with('phonecode', $phonecode->phonecode);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
// returns if try fails with exception meaagse
|
// returns if try fails with exception meaagse
|
||||||
return redirect()->back()->with('fails', $e->getMessage());
|
return redirect()->back()->with('fails', $e->getMessage());
|
||||||
@@ -157,7 +157,7 @@ class AgentController extends Controller
|
|||||||
}
|
}
|
||||||
// returns for the success case
|
// returns for the success case
|
||||||
if ($request->input('active') == '0' || $request->input('active') == 0) {
|
if ($request->input('active') == '0' || $request->input('active') == 0) {
|
||||||
\Event::fire(new \App\Events\LoginEvent($request));
|
event(new \App\Events\LoginEvent($request));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect('agents')->with('success', Lang::get('lang.agent_creation_success'));
|
return redirect('agents')->with('success', Lang::get('lang.agent_creation_success'));
|
||||||
@@ -195,7 +195,7 @@ class AgentController extends Controller
|
|||||||
$teams = $team->pluck('id', 'name')->toArray();
|
$teams = $team->pluck('id', 'name')->toArray();
|
||||||
$assign = $team_assign_agent->where('agent_id', $id)->pluck('team_id')->toArray();
|
$assign = $team_assign_agent->where('agent_id', $id)->pluck('team_id')->toArray();
|
||||||
|
|
||||||
return view('themes.default1.admin.helpdesk.agent.agents.edit', compact('teams', 'assign', 'table', 'teams1', 'selectedTeams', 'user', 'timezones', 'groups', 'departments', 'team', 'exp', 'counted'))->with('phonecode', $phonecode->phonecode);
|
return view('themes.default1.admin.helpdesk.agent.agents.edit', compact('teams', 'assign', 'table', 'teams1', 'user', 'timezones', 'groups', 'departments', 'team'))->with('phonecode', $phonecode->phonecode);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
return redirect('agents')->with('fail', Lang::get('lang.failed_to_edit_agent'));
|
return redirect('agents')->with('fail', Lang::get('lang.failed_to_edit_agent'));
|
||||||
}
|
}
|
||||||
|
@@ -18,6 +18,7 @@ use App\Model\helpdesk\Utility\MailboxProtocol;
|
|||||||
use Crypt;
|
use Crypt;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransport;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ======================================
|
* ======================================
|
||||||
@@ -124,6 +125,7 @@ class EmailsController extends Controller
|
|||||||
|
|
||||||
return $this->validateEmailError($send, $fetch);
|
return $this->validateEmailError($send, $fetch);
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
|
dd($ex->getMessage());
|
||||||
$message = $ex->getMessage();
|
$message = $ex->getMessage();
|
||||||
if ($request->input('fetching_status') && imap_last_error()) {
|
if ($request->input('fetching_status') && imap_last_error()) {
|
||||||
$message = imap_last_error();
|
$message = imap_last_error();
|
||||||
@@ -253,11 +255,10 @@ class EmailsController extends Controller
|
|||||||
|
|
||||||
$this->emailService($driver, $service_request);
|
$this->emailService($driver, $service_request);
|
||||||
$this->setMailConfig($driver, $address, $name, $username, $password, $enc, $host, $port);
|
$this->setMailConfig($driver, $address, $name, $username, $password, $enc, $host, $port);
|
||||||
$transport = (new \Swift_SmtpTransport($host, $port, $enc));
|
$transport = new EsmtpTransport($host, $port);
|
||||||
$transport->setUsername($username);
|
$transport->setUsername($username);
|
||||||
$transport->setPassword($password);
|
$transport->setPassword($password);
|
||||||
$mailer = (new \Swift_Mailer($transport));
|
$transport->start();
|
||||||
$mailer->getTransport()->start();
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@@ -4,10 +4,11 @@ namespace App\Http\Controllers\Admin\helpdesk;
|
|||||||
|
|
||||||
// controller
|
// controller
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use Exception;
|
||||||
// request
|
// request
|
||||||
|
|
||||||
use Exception;
|
|
||||||
use File;
|
use File;
|
||||||
|
use Illuminate\Support\Facades\Request;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -58,13 +59,13 @@ class ErrorAndDebuggingController extends Controller
|
|||||||
$debug = ($debug) ? 'true' : 'false';
|
$debug = ($debug) ? 'true' : 'false';
|
||||||
$bugsnag_debug = \Config::get('app.bugsnag_reporting');
|
$bugsnag_debug = \Config::get('app.bugsnag_reporting');
|
||||||
$bugsnag_debug = ($bugsnag_debug) ? 'true' : 'false';
|
$bugsnag_debug = ($bugsnag_debug) ? 'true' : 'false';
|
||||||
if ($debug != \Input::get('debug') || $bugsnag_debug != \Input::get('bugsnag')) {
|
if ($debug != Request::get('debug') || $bugsnag_debug != Request::get('bugsnag')) {
|
||||||
// dd($request->input());
|
// dd($request->input());
|
||||||
$debug_new = base_path().DIRECTORY_SEPARATOR.'.env';
|
$debug_new = base_path().DIRECTORY_SEPARATOR.'.env';
|
||||||
$datacontent = File::get($debug_new);
|
$datacontent = File::get($debug_new);
|
||||||
$datacontent = str_replace(
|
$datacontent = str_replace(
|
||||||
'APP_DEBUG='.$debug,
|
'APP_DEBUG='.$debug,
|
||||||
'APP_DEBUG='.\Input::get('debug'),
|
'APP_DEBUG='.Request::get('debug'),
|
||||||
$datacontent
|
$datacontent
|
||||||
);
|
);
|
||||||
File::put($debug_new, $datacontent);
|
File::put($debug_new, $datacontent);
|
||||||
@@ -74,7 +75,7 @@ class ErrorAndDebuggingController extends Controller
|
|||||||
$datacontent2 = File::get($bugsnag_debug_new);
|
$datacontent2 = File::get($bugsnag_debug_new);
|
||||||
$datacontent2 = str_replace(
|
$datacontent2 = str_replace(
|
||||||
'APP_BUGSNAG='.$bugsnag_debug,
|
'APP_BUGSNAG='.$bugsnag_debug,
|
||||||
'APP_BUGSNAG='.\Input::get('bugsnag'),
|
'APP_BUGSNAG='.Request::get('bugsnag'),
|
||||||
$datacontent2
|
$datacontent2
|
||||||
);
|
);
|
||||||
File::put($bugsnag_debug_new, $datacontent2);
|
File::put($bugsnag_debug_new, $datacontent2);
|
||||||
|
@@ -4,16 +4,17 @@ namespace App\Http\Controllers\Admin\helpdesk;
|
|||||||
|
|
||||||
// Controller
|
// Controller
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// Model
|
|
||||||
use App\Model\helpdesk\Form\Fields;
|
use App\Model\helpdesk\Form\Fields;
|
||||||
|
// Model
|
||||||
use App\Model\helpdesk\Form\Forms;
|
use App\Model\helpdesk\Form\Forms;
|
||||||
use App\Model\helpdesk\Manage\Help_topic;
|
use App\Model\helpdesk\Manage\Help_topic;
|
||||||
// Request
|
|
||||||
use Exception;
|
use Exception;
|
||||||
// Class
|
// Request
|
||||||
use Form;
|
use Form;
|
||||||
|
// Class
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Redirect;
|
use Redirect;
|
||||||
|
|
||||||
@@ -26,6 +27,7 @@ use Redirect;
|
|||||||
class FormController extends Controller
|
class FormController extends Controller
|
||||||
{
|
{
|
||||||
private $fields;
|
private $fields;
|
||||||
|
|
||||||
private $forms;
|
private $forms;
|
||||||
|
|
||||||
public function __construct(Fields $fields, Forms $forms)
|
public function __construct(Fields $fields, Forms $forms)
|
||||||
@@ -137,7 +139,7 @@ class FormController extends Controller
|
|||||||
$fields = [];
|
$fields = [];
|
||||||
for ($i = 0; $i <= $count; $i++) {
|
for ($i = 0; $i <= $count; $i++) {
|
||||||
if (!empty(Input::get('name')[$i])) {
|
if (!empty(Input::get('name')[$i])) {
|
||||||
$name = str_slug(Input::get('name')[$i], '_');
|
$name = Str::slug(Input::get('name')[$i], '_');
|
||||||
$field = Fields::create([
|
$field = Fields::create([
|
||||||
'forms_id' => $forms->id,
|
'forms_id' => $forms->id,
|
||||||
'label' => Input::get('label')[$i],
|
'label' => Input::get('label')[$i],
|
||||||
@@ -253,7 +255,7 @@ class FormController extends Controller
|
|||||||
}
|
}
|
||||||
//dd(Input::get('label'),Input::get('name'),Input::get('type'),Input::get('required'));
|
//dd(Input::get('label'),Input::get('name'),Input::get('type'),Input::get('required'));
|
||||||
for ($i = 0; $i < $count; $i++) {
|
for ($i = 0; $i < $count; $i++) {
|
||||||
$name = str_slug(Input::get('name')[$i], '_');
|
$name = Str::slug(Input::get('name')[$i], '_');
|
||||||
$field = $field->create([
|
$field = $field->create([
|
||||||
'forms_id' => $forms->id,
|
'forms_id' => $forms->id,
|
||||||
'label' => Input::get('label')[$i],
|
'label' => Input::get('label')[$i],
|
||||||
@@ -386,7 +388,7 @@ class FormController extends Controller
|
|||||||
'field_id' => $fieldid,
|
'field_id' => $fieldid,
|
||||||
'child_id' => $childid,
|
'child_id' => $childid,
|
||||||
'field_key' => $key,
|
'field_key' => $key,
|
||||||
'field_value' => str_slug($value, '_'),
|
'field_value' => Str::slug($value, '_'),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -445,12 +447,12 @@ class FormController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
return '<script>
|
return '<script>
|
||||||
$("#'.str_slug($value).'").on("change", function () {
|
$("#'.Str::slug($value).'").on("change", function () {
|
||||||
var valueid = $("#'.str_slug($value).'").val();
|
var valueid = $("#'.Str::slug($value).'").val();
|
||||||
var fieldid = $("#'.$fieldid.str_slug($value).'").val();
|
var fieldid = $("#'.$fieldid.Str::slug($value).'").val();
|
||||||
send'.$fieldid.str_slug($value).'(valueid,fieldid);
|
send'.$fieldid.Str::slug($value).'(valueid,fieldid);
|
||||||
});
|
});
|
||||||
function send'.$fieldid.str_slug($value).'(valueid,fieldid) {
|
function send'.$fieldid.Str::slug($value).'(valueid,fieldid) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "'.url('forms/render/child/').'",
|
url: "'.url('forms/render/child/').'",
|
||||||
dataType: "html",
|
dataType: "html",
|
||||||
@@ -556,8 +558,8 @@ class FormController extends Controller
|
|||||||
if (count($values) > 0) {
|
if (count($values) > 0) {
|
||||||
foreach ($values as $field_value) {
|
foreach ($values as $field_value) {
|
||||||
$script = self::jqueryScript($field_value, $field->id, $field->name, $field_type);
|
$script = self::jqueryScript($field_value, $field->id, $field->name, $field_type);
|
||||||
$radio .= '<div>'.Form::hidden('fieldid[]', $field->id, ['id' => $field->id.str_slug($field_value)]);
|
$radio .= '<div>'.Form::hidden('fieldid[]', $field->id, ['id' => $field->id.Str::slug($field_value)]);
|
||||||
$radio .= Form::$field_type($field->name, $field_value, null, ['class' => "$field->id", 'id' => str_slug($field_value), 'required' => $required]).$script.'<span> '.removeUnderscore($field_value).'</span></div>';
|
$radio .= Form::$field_type($field->name, $field_value, null, ['class' => "$field->id", 'id' => Str::slug($field_value), 'required' => $required]).$script.'<span> '.removeUnderscore($field_value).'</span></div>';
|
||||||
}
|
}
|
||||||
$html = Form::label($field->label, $field->label, ['class' => $required_class]).'</br>'.$radio.'<div id='.$field->name.'></br></div>';
|
$html = Form::label($field->label, $field->label, ['class' => $required_class]).'</br>'.$radio.'<div id='.$field->name.'></br></div>';
|
||||||
}
|
}
|
||||||
|
@@ -13,8 +13,8 @@ use Config;
|
|||||||
use File;
|
use File;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Facades\Redirect;
|
use Illuminate\Support\Facades\Redirect;
|
||||||
|
use Illuminate\Support\Facades\Request;
|
||||||
use Illuminate\Support\Facades\Session;
|
use Illuminate\Support\Facades\Session;
|
||||||
use Input;
|
|
||||||
use Lang;
|
use Lang;
|
||||||
use UnAuth;
|
use UnAuth;
|
||||||
use Validator;
|
use Validator;
|
||||||
@@ -81,7 +81,7 @@ class LanguageController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function getLanguages()
|
public function getLanguages()
|
||||||
{
|
{
|
||||||
$path = base_path('resources/lang');
|
$path = base_path('lang');
|
||||||
$values = scandir($path); //Extracts names of directories present in lang directory
|
$values = scandir($path); //Extracts names of directories present in lang directory
|
||||||
$values = array_slice($values, 2); // skips array element $value[0] = '.' & $value[1] = '..'
|
$values = array_slice($values, 2); // skips array element $value[0] = '.' & $value[1] = '..'
|
||||||
$sysLanguage = \Cache::get('language');
|
$sysLanguage = \Cache::get('language');
|
||||||
@@ -107,18 +107,18 @@ class LanguageController extends Controller
|
|||||||
})
|
})
|
||||||
->addColumn('status', function ($model) use ($sysLanguage) {
|
->addColumn('status', function ($model) use ($sysLanguage) {
|
||||||
if ($sysLanguage === $model) {
|
if ($sysLanguage === $model) {
|
||||||
return "<span style='color:green'>".Lang::trans('lang.yes').'</span>';
|
return "<span style='color:green'>".Lang::get('lang.yes').'</span>';
|
||||||
} else {
|
} else {
|
||||||
return "<span style='color:red'>".Lang::trans('lang.no').'</span>';
|
return "<span style='color:red'>".Lang::get('lang.no').'</span>';
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->addColumn('Action', function ($model) use ($sysLanguage) {
|
->addColumn('Action', function ($model) use ($sysLanguage) {
|
||||||
if ($model === $sysLanguage) {
|
if ($model === $sysLanguage) {
|
||||||
return "<a href='change-language/".$model."' disabled><input type='button' class='btn btn-primary btn-xs' disabled value='".Lang::trans('lang.set_as_sys_lang')."'/></a>
|
return "<a href='change-language/".$model."' disabled><input type='button' class='btn btn-primary btn-xs' disabled value='".Lang::get('lang.set_as_sys_lang')."'/></a>
|
||||||
<button disabled class='btn btn-danger btn-xs'><i class='fas fa-trash'> </i> ".Lang::trans('lang.delete').'</button>';
|
<button disabled class='btn btn-danger btn-xs'><i class='fas fa-trash'> </i> ".Lang::get('lang.delete').'</button>';
|
||||||
} else {
|
} else {
|
||||||
return "<a href='change-language/".$model."'><input type='button' class='btn btn-primary btn-xs' value='".Lang::trans('lang.set_as_sys_lang')."'/></a>
|
return "<a href='change-language/".$model."'><input type='button' class='btn btn-primary btn-xs' value='".Lang::get('lang.set_as_sys_lang')."'/></a>
|
||||||
<a href='delete-language/".$model."' class='btn btn-danger btn-xs'><i class='fas fa-trash'> </i> ".Lang::trans('lang.delete').'</a>';
|
<a href='delete-language/".$model."' class='btn btn-danger btn-xs'><i class='fas fa-trash'> </i> ".Lang::get('lang.delete').'</a>';
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
->searchColumns('language', 'id')
|
->searchColumns('language', 'id')
|
||||||
@@ -135,9 +135,9 @@ class LanguageController extends Controller
|
|||||||
try {
|
try {
|
||||||
// getting all of the post data
|
// getting all of the post data
|
||||||
$file = [
|
$file = [
|
||||||
'File' => Input::file('File'),
|
'File' => Request::file('File'),
|
||||||
'language-name' => Input::input('language-name'),
|
'language-name' => Request::input('language-name'),
|
||||||
'iso-code' => Input::input('iso-code'),
|
'iso-code' => Request::input('iso-code'),
|
||||||
];
|
];
|
||||||
|
|
||||||
// setting up rules
|
// setting up rules
|
||||||
@@ -155,15 +155,15 @@ class LanguageController extends Controller
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
//Checking if package already exists or not in lang folder
|
//Checking if package already exists or not in lang folder
|
||||||
$path = base_path('resources/lang');
|
$path = base_path('lang');
|
||||||
if (in_array(strtolower(Input::get('iso-code')), scandir($path))) {
|
if (in_array(strtolower(Request::get('iso-code')), scandir($path))) {
|
||||||
|
|
||||||
//sending back with error message
|
//sending back with error message
|
||||||
Session::flash('fails', Lang::get('lang.package_exist'));
|
Session::flash('fails', Lang::get('lang.package_exist'));
|
||||||
Session::flash('link', 'change-language/'.strtolower(Input::get('iso-code')));
|
Session::flash('link', 'change-language/'.strtolower(Request::get('iso-code')));
|
||||||
|
|
||||||
return Redirect::back()->withInput();
|
return Redirect::back()->withInput();
|
||||||
} elseif (!array_key_exists(strtolower(Input::get('iso-code')), Config::get('languages'))) {//Checking Valid ISO code form Languages.php
|
} elseif (!array_key_exists(strtolower(Request::get('iso-code')), Config::get('languages'))) {//Checking Valid ISO code form Languages.php
|
||||||
//sending back with error message
|
//sending back with error message
|
||||||
Session::flash('fails', Lang::get('lang.iso-code-error'));
|
Session::flash('fails', Lang::get('lang.iso-code-error'));
|
||||||
|
|
||||||
@@ -171,13 +171,13 @@ class LanguageController extends Controller
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
// checking file is valid.
|
// checking file is valid.
|
||||||
if (Input::file('File')->isValid()) {
|
if (Request::file('File')->isValid()) {
|
||||||
$name = Input::file('File')->getClientOriginalName(); //uploaded file's original name
|
$name = Request::file('File')->getClientOriginalName(); //uploaded file's original name
|
||||||
$destinationPath = base_path('public/uploads/'); // defining uploading path
|
$destinationPath = base_path('public/uploads/'); // defining uploading path
|
||||||
$extractpath = base_path('resources/lang').'/'.strtolower(Input::get('iso-code')); //defining extracting path
|
$extractpath = base_path('lang').'/'.strtolower(Request::get('iso-code')); //defining extracting path
|
||||||
mkdir($extractpath); //creating directroy for extracting uploadd file
|
mkdir($extractpath); //creating directroy for extracting uploadd file
|
||||||
//mkdir($destinationPath);
|
//mkdir($destinationPath);
|
||||||
Input::file('File')->move($destinationPath, $name); // uploading file to given path
|
Request::file('File')->move($destinationPath, $name); // uploading file to given path
|
||||||
\Zipper::make($destinationPath.'/'.$name)->extractTo($extractpath); //extracting file to give path
|
\Zipper::make($destinationPath.'/'.$name)->extractTo($extractpath); //extracting file to give path
|
||||||
//check if Zip extract foldercontains any subfolder
|
//check if Zip extract foldercontains any subfolder
|
||||||
$directories = File::directories($extractpath);
|
$directories = File::directories($extractpath);
|
||||||
@@ -195,7 +195,7 @@ class LanguageController extends Controller
|
|||||||
} else {
|
} else {
|
||||||
// sending back with success message
|
// sending back with success message
|
||||||
Session::flash('success', Lang::get('lang.upload-success'));
|
Session::flash('success', Lang::get('lang.upload-success'));
|
||||||
Session::flash('link', 'change-language/'.strtolower(Input::get('iso-code')));
|
Session::flash('link', 'change-language/'.strtolower(Request::get('iso-code')));
|
||||||
|
|
||||||
return Redirect::route('LanguageController');
|
return Redirect::route('LanguageController');
|
||||||
}
|
}
|
||||||
@@ -237,7 +237,7 @@ class LanguageController extends Controller
|
|||||||
{
|
{
|
||||||
if ($lang !== App::getLocale()) {
|
if ($lang !== App::getLocale()) {
|
||||||
if ($lang !== Config::get('app.fallback_locale')) {
|
if ($lang !== Config::get('app.fallback_locale')) {
|
||||||
$deletePath = base_path('resources/lang').'/'.$lang; //define file path to delete
|
$deletePath = base_path('lang').'/'.$lang; //define file path to delete
|
||||||
$success = File::deleteDirectory($deletePath); //remove extracted folder and it's subfolder from lang
|
$success = File::deleteDirectory($deletePath); //remove extracted folder and it's subfolder from lang
|
||||||
if ($success) {
|
if ($success) {
|
||||||
//sending back with success message
|
//sending back with success message
|
||||||
|
@@ -13,7 +13,7 @@ use App\User;
|
|||||||
use Auth;
|
use Auth;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Hash;
|
use Hash;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ProfileController.
|
* ProfileController.
|
||||||
@@ -95,13 +95,13 @@ class ProfileController extends Controller
|
|||||||
$user->profile_pic = $name;
|
$user->profile_pic = $name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Input::file('profile_pic')) {
|
if (Request::file('profile_pic')) {
|
||||||
//$extension = Input::file('profile_pic')->getClientOriginalExtension();
|
//$extension = Request::file('profile_pic')->getClientOriginalExtension();
|
||||||
$name = Input::file('profile_pic')->getClientOriginalName();
|
$name = Request::file('profile_pic')->getClientOriginalName();
|
||||||
$destinationPath = 'lb-faveo/profilepic';
|
$destinationPath = 'lb-faveo/profilepic';
|
||||||
$fileName = rand(0000, 9999).'.'.$name;
|
$fileName = rand(0000, 9999).'.'.$name;
|
||||||
//echo $fileName;
|
//echo $fileName;
|
||||||
Input::file('profile_pic')->move($destinationPath, $fileName);
|
Request::file('profile_pic')->move($destinationPath, $fileName);
|
||||||
$user->profile_pic = $fileName;
|
$user->profile_pic = $fileName;
|
||||||
} else {
|
} else {
|
||||||
$user->fill($request->except('profile_pic', 'gender', 'active', 'role', 'is_delete', 'ban'))->save();
|
$user->fill($request->except('profile_pic', 'gender', 'active', 'role', 'is_delete', 'ban'))->save();
|
||||||
|
@@ -4,14 +4,14 @@ namespace App\Http\Controllers\Admin\helpdesk;
|
|||||||
|
|
||||||
// controllers
|
// controllers
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// requests
|
|
||||||
use App\Http\Requests\helpdesk\CompanyRequest;
|
use App\Http\Requests\helpdesk\CompanyRequest;
|
||||||
|
// requests
|
||||||
use App\Http\Requests\helpdesk\EmailRequest;
|
use App\Http\Requests\helpdesk\EmailRequest;
|
||||||
use App\Http\Requests\helpdesk\Job\TaskRequest;
|
use App\Http\Requests\helpdesk\Job\TaskRequest;
|
||||||
use App\Http\Requests\helpdesk\RatingUpdateRequest;
|
use App\Http\Requests\helpdesk\RatingUpdateRequest;
|
||||||
use App\Http\Requests\helpdesk\StatusRequest;
|
use App\Http\Requests\helpdesk\StatusRequest;
|
||||||
// models
|
|
||||||
use App\Http\Requests\helpdesk\SystemRequest;
|
use App\Http\Requests\helpdesk\SystemRequest;
|
||||||
|
// models
|
||||||
use App\Model\helpdesk\Agent\Department;
|
use App\Model\helpdesk\Agent\Department;
|
||||||
use App\Model\helpdesk\Email\Emails;
|
use App\Model\helpdesk\Email\Emails;
|
||||||
use App\Model\helpdesk\Email\Template;
|
use App\Model\helpdesk\Email\Template;
|
||||||
@@ -32,13 +32,14 @@ use App\Model\helpdesk\Utility\Date_time_format;
|
|||||||
use App\Model\helpdesk\Utility\Time_format;
|
use App\Model\helpdesk\Utility\Time_format;
|
||||||
use App\Model\helpdesk\Utility\Timezones;
|
use App\Model\helpdesk\Utility\Timezones;
|
||||||
use App\Model\helpdesk\Workflow\WorkflowClose;
|
use App\Model\helpdesk\Workflow\WorkflowClose;
|
||||||
// classes
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
|
// classes
|
||||||
use DB;
|
use DB;
|
||||||
use Exception;
|
use Exception;
|
||||||
use File;
|
use File;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -586,7 +587,7 @@ class SettingsController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function generateApiKey()
|
public function generateApiKey()
|
||||||
{
|
{
|
||||||
$key = str_random(32);
|
$key = Str::random(32);
|
||||||
|
|
||||||
return $key;
|
return $key;
|
||||||
}
|
}
|
||||||
@@ -886,13 +887,13 @@ class SettingsController extends Controller
|
|||||||
|
|
||||||
public function saveConditions()
|
public function saveConditions()
|
||||||
{
|
{
|
||||||
if (\Input::get('fetching-commands') && \Input::get('notification-commands')) {
|
if (Input::get('fetching-commands') && Input::get('notification-commands')) {
|
||||||
$fetching_commands = \Input::get('fetching-commands');
|
$fetching_commands = Input::get('fetching-commands');
|
||||||
$fetching_dailyAt = \Input::get('fetching-dailyAt');
|
$fetching_dailyAt = Input::get('fetching-dailyAt');
|
||||||
$notification_commands = \Input::get('notification-commands');
|
$notification_commands = Input::get('notification-commands');
|
||||||
$notification_dailyAt = \Input::get('notification-dailyAt');
|
$notification_dailyAt = Input::get('notification-dailyAt');
|
||||||
$work_commands = \Input::get('work-commands');
|
$work_commands = Input::get('work-commands');
|
||||||
$workflow_dailyAt = \Input::get('workflow-dailyAt');
|
$workflow_dailyAt = Input::get('workflow-dailyAt');
|
||||||
$fetching_command = $this->getCommand($fetching_commands, $fetching_dailyAt);
|
$fetching_command = $this->getCommand($fetching_commands, $fetching_dailyAt);
|
||||||
$notification_command = $this->getCommand($notification_commands, $notification_dailyAt);
|
$notification_command = $this->getCommand($notification_commands, $notification_dailyAt);
|
||||||
$work_command = $this->getCommand($work_commands, $workflow_dailyAt);
|
$work_command = $this->getCommand($work_commands, $workflow_dailyAt);
|
||||||
|
@@ -4,12 +4,12 @@ namespace App\Http\Controllers\Admin\helpdesk;
|
|||||||
|
|
||||||
// controllers
|
// controllers
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// requests
|
|
||||||
use App\Http\Requests\helpdesk\CompanyRequest;
|
use App\Http\Requests\helpdesk\CompanyRequest;
|
||||||
|
// requests
|
||||||
use App\Http\Requests\helpdesk\EmailRequest;
|
use App\Http\Requests\helpdesk\EmailRequest;
|
||||||
use App\Http\Requests\helpdesk\SystemRequest;
|
use App\Http\Requests\helpdesk\SystemRequest;
|
||||||
// models
|
|
||||||
use App\Model\helpdesk\Agent\Department;
|
use App\Model\helpdesk\Agent\Department;
|
||||||
|
// models
|
||||||
use App\Model\helpdesk\Email\Emails;
|
use App\Model\helpdesk\Email\Emails;
|
||||||
use App\Model\helpdesk\Email\Template;
|
use App\Model\helpdesk\Email\Template;
|
||||||
use App\Model\helpdesk\Manage\Help_topic;
|
use App\Model\helpdesk\Manage\Help_topic;
|
||||||
@@ -28,11 +28,12 @@ use App\Model\helpdesk\Utility\Date_time_format;
|
|||||||
use App\Model\helpdesk\Utility\Time_format;
|
use App\Model\helpdesk\Utility\Time_format;
|
||||||
use App\Model\helpdesk\Utility\Timezones;
|
use App\Model\helpdesk\Utility\Timezones;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
// classes
|
|
||||||
use DB;
|
use DB;
|
||||||
|
// classes
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -736,7 +737,7 @@ class SettingsController2 extends Controller
|
|||||||
*/
|
*/
|
||||||
public function generateApiKey()
|
public function generateApiKey()
|
||||||
{
|
{
|
||||||
$key = str_random(32);
|
$key = Str::random(32);
|
||||||
|
|
||||||
return $key;
|
return $key;
|
||||||
}
|
}
|
||||||
|
@@ -220,7 +220,7 @@ class TeamController extends Controller
|
|||||||
// dd($a_id);
|
// dd($a_id);
|
||||||
$user = $user->whereIn('id', $a_id)->where('active', '=', 1)->orderBy('first_name')->get();
|
$user = $user->whereIn('id', $a_id)->where('active', '=', 1)->orderBy('first_name')->get();
|
||||||
// dd($user);
|
// dd($user);
|
||||||
return view('themes.default1.admin.helpdesk.agent.teams.edit', compact('agent_id', 'user', 'teams', 'allagents'));
|
return view('themes.default1.admin.helpdesk.agent.teams.edit', compact('agent_id', 'user', 'teams'));
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
return redirect()->back()->with('fails', $e->getMessage());
|
return redirect()->back()->with('fails', $e->getMessage());
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,7 @@ use App\Model\helpdesk\Utility\Languages;
|
|||||||
// classes
|
// classes
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TemplateController.
|
* TemplateController.
|
||||||
|
@@ -13,8 +13,9 @@ use App\Model\helpdesk\Settings\Ticket;
|
|||||||
use App\Model\helpdesk\Ticket\Ticket_attachments;
|
use App\Model\helpdesk\Ticket\Ticket_attachments;
|
||||||
use App\Model\helpdesk\Ticket\Ticket_source;
|
use App\Model\helpdesk\Ticket\Ticket_source;
|
||||||
use App\Model\helpdesk\Ticket\Ticket_Thread;
|
use App\Model\helpdesk\Ticket\Ticket_Thread;
|
||||||
// classes
|
|
||||||
use App\Model\helpdesk\Ticket\Tickets;
|
use App\Model\helpdesk\Ticket\Tickets;
|
||||||
|
// classes
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MailController.
|
* MailController.
|
||||||
@@ -258,7 +259,7 @@ class MailController extends Controller
|
|||||||
$disposition = $structure->disposition;
|
$disposition = $structure->disposition;
|
||||||
}
|
}
|
||||||
|
|
||||||
$filename = str_random(16).'-'.$attachment->getFileName();
|
$filename = Str::random(16).'-'.$attachment->getFileName();
|
||||||
$type = $attachment->getMimeType();
|
$type = $attachment->getMimeType();
|
||||||
$size = $attachment->getSize();
|
$size = $attachment->getSize();
|
||||||
$data = $attachment->getData();
|
$data = $attachment->getData();
|
||||||
|
@@ -4,19 +4,20 @@ namespace App\Http\Controllers\Agent\helpdesk;
|
|||||||
|
|
||||||
// controllers
|
// controllers
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// requests
|
|
||||||
use App\Http\Requests\helpdesk\OrganizationRequest;
|
use App\Http\Requests\helpdesk\OrganizationRequest;
|
||||||
/* include organization model */
|
// requests
|
||||||
use App\Http\Requests\helpdesk\OrganizationUpdate;
|
use App\Http\Requests\helpdesk\OrganizationUpdate;
|
||||||
|
/* include organization model */
|
||||||
|
use App\Model\helpdesk\Agent_panel\Organization;
|
||||||
// models
|
// models
|
||||||
/* Define OrganizationRequest to validate the create form */
|
/* Define OrganizationRequest to validate the create form */
|
||||||
use App\Model\helpdesk\Agent_panel\Organization;
|
|
||||||
use App\Model\helpdesk\Agent_panel\User_org;
|
use App\Model\helpdesk\Agent_panel\User_org;
|
||||||
/* Define OrganizationUpdate to validate the create form */
|
|
||||||
use App\User;
|
use App\User;
|
||||||
// classes
|
/* Define OrganizationUpdate to validate the create form */
|
||||||
use Exception;
|
use Exception;
|
||||||
|
// classes
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -271,7 +272,7 @@ class OrganizationController extends Controller
|
|||||||
public function Head_Org($id)
|
public function Head_Org($id)
|
||||||
{
|
{
|
||||||
// get the user to make organization head
|
// get the user to make organization head
|
||||||
$head_user = \Input::get('user');
|
$head_user = Input::get('user');
|
||||||
// get an instance of the selected organization
|
// get an instance of the selected organization
|
||||||
$org_head = Organization::where('id', '=', $id)->first();
|
$org_head = Organization::where('id', '=', $id)->first();
|
||||||
$org_head->head = $head_user;
|
$org_head->head = $head_user;
|
||||||
|
@@ -9,8 +9,9 @@ use App\Model\helpdesk\Manage\Help_topic;
|
|||||||
use App\Model\helpdesk\Ticket\Tickets;
|
use App\Model\helpdesk\Ticket\Tickets;
|
||||||
// Model
|
// Model
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Vsmoraes\Pdf\PdfFacade;
|
||||||
|
|
||||||
// classes
|
// classes
|
||||||
use PDF;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ReportController
|
* ReportController
|
||||||
@@ -263,6 +264,6 @@ class ReportController extends Controller
|
|||||||
$html = view('themes.default1.agent.helpdesk.report.pdf', compact('table_datas', 'table_help_topic'))->render();
|
$html = view('themes.default1.agent.helpdesk.report.pdf', compact('table_datas', 'table_help_topic'))->render();
|
||||||
$html1 = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
|
$html1 = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
|
||||||
|
|
||||||
return @PDF::load($html1)->show();
|
return PdfFacade::load($html1)->show(false, false, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3,15 +3,16 @@
|
|||||||
namespace App\Http\Controllers\Agent\helpdesk;
|
namespace App\Http\Controllers\Agent\helpdesk;
|
||||||
|
|
||||||
// controllers
|
// controllers
|
||||||
|
use App\Http\Controllers\Agent\helpdesk\Filter\FilterControllerOld;
|
||||||
use App\Http\Controllers\Common\FileuploadController;
|
use App\Http\Controllers\Common\FileuploadController;
|
||||||
use App\Http\Controllers\Common\NotificationController as Notify;
|
use App\Http\Controllers\Common\NotificationController as Notify;
|
||||||
use App\Http\Controllers\Common\PhpMailController;
|
use App\Http\Controllers\Common\PhpMailController;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// requests
|
|
||||||
use App\Http\Requests\helpdesk\CreateTicketRequest;
|
use App\Http\Requests\helpdesk\CreateTicketRequest;
|
||||||
|
// requests
|
||||||
use App\Http\Requests\helpdesk\TicketRequest;
|
use App\Http\Requests\helpdesk\TicketRequest;
|
||||||
// models
|
|
||||||
use App\Model\helpdesk\Agent\Department;
|
use App\Model\helpdesk\Agent\Department;
|
||||||
|
// models
|
||||||
use App\Model\helpdesk\Agent\Teams;
|
use App\Model\helpdesk\Agent\Teams;
|
||||||
use App\Model\helpdesk\Email\Emails;
|
use App\Model\helpdesk\Email\Emails;
|
||||||
use App\Model\helpdesk\Form\Fields;
|
use App\Model\helpdesk\Form\Fields;
|
||||||
@@ -36,19 +37,23 @@ use App\Model\helpdesk\Utility\Date_time_format;
|
|||||||
use App\Model\helpdesk\Utility\Timezones;
|
use App\Model\helpdesk\Utility\Timezones;
|
||||||
use App\User;
|
use App\User;
|
||||||
use Auth;
|
use Auth;
|
||||||
|
use Chumper\Datatable\Facades\DatatableFacade;
|
||||||
use Crypt;
|
use Crypt;
|
||||||
use DB;
|
use DB;
|
||||||
use Exception;
|
use Exception;
|
||||||
// classes
|
|
||||||
use GeoIP;
|
use GeoIP;
|
||||||
|
// classes
|
||||||
use Hash;
|
use Hash;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\support\Collection;
|
use Illuminate\support\Collection;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Mail;
|
use Mail;
|
||||||
use PDF;
|
|
||||||
use UTC;
|
use UTC;
|
||||||
|
use Vsmoraes\Pdf\Pdf;
|
||||||
|
use Vsmoraes\Pdf\PdfFacade;
|
||||||
|
use Yajra\DataTables\Facades\DataTables;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TicketController.
|
* TicketController.
|
||||||
@@ -277,7 +282,7 @@ class TicketController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function reply(Ticket_Thread $thread, Request $request, Ticket_attachments $ta, $mail = true, $system_reply = true, $user_id = '')
|
public function reply(Ticket_Thread $thread, Request $request, Ticket_attachments $ta, $mail = true, $system_reply = true, $user_id = '')
|
||||||
{
|
{
|
||||||
\Event::fire('reply.request', [$request]);
|
event('reply.request', [$request]);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (is_array($request->file('attachment'))) {
|
if (is_array($request->file('attachment'))) {
|
||||||
@@ -304,7 +309,7 @@ class TicketController extends Controller
|
|||||||
$emailadd = User::where('id', $eventuserid)->first()->email;
|
$emailadd = User::where('id', $eventuserid)->first()->email;
|
||||||
$source = $eventthread->source;
|
$source = $eventthread->source;
|
||||||
$form_data = $request->except('reply_content', 'ticket_ID', 'attachment');
|
$form_data = $request->except('reply_content', 'ticket_ID', 'attachment');
|
||||||
\Event::fire(new \App\Events\ClientTicketFormPost($form_data, $emailadd, $source));
|
event(new \App\Events\ClientTicketFormPost($form_data, $emailadd, $source));
|
||||||
$reply_content = $request->input('reply_content');
|
$reply_content = $request->input('reply_content');
|
||||||
|
|
||||||
$thread->ticket_id = $request->input('ticket_ID');
|
$thread->ticket_id = $request->input('ticket_ID');
|
||||||
@@ -338,7 +343,7 @@ class TicketController extends Controller
|
|||||||
$data = [
|
$data = [
|
||||||
'id' => $tickets->id,
|
'id' => $tickets->id,
|
||||||
];
|
];
|
||||||
\Event::fire('ticket-assignment', [$data]);
|
event('ticket-assignment', [$data]);
|
||||||
}
|
}
|
||||||
if ($tickets->status > 1) {
|
if ($tickets->status > 1) {
|
||||||
$this->open($ticket_id, new Tickets());
|
$this->open($ticket_id, new Tickets());
|
||||||
@@ -383,7 +388,7 @@ class TicketController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Event
|
// Event
|
||||||
\Event::fire(new \App\Events\FaveoAfterReply($reply_content, $user->mobile, $user->country_code, $request, $tickets, $thread));
|
event(new \App\Events\FaveoAfterReply($reply_content, $user->mobile, $user->country_code, $request, $tickets, $thread));
|
||||||
if (Auth::user()) {
|
if (Auth::user()) {
|
||||||
$u_id = Auth::user()->first_name.' '.Auth::user()->last_name;
|
$u_id = Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||||
} else {
|
} else {
|
||||||
@@ -395,7 +400,7 @@ class TicketController extends Controller
|
|||||||
'body' => $request->input('reply_content'),
|
'body' => $request->input('reply_content'),
|
||||||
];
|
];
|
||||||
if (!$request->has('do-not-send')) {
|
if (!$request->has('do-not-send')) {
|
||||||
\Event::fire('Reply-Ticket', [$data]);
|
event('Reply-Ticket', [$data]);
|
||||||
}
|
}
|
||||||
// sending attachments via php mail function
|
// sending attachments via php mail function
|
||||||
$message = '';
|
$message = '';
|
||||||
@@ -503,7 +508,7 @@ class TicketController extends Controller
|
|||||||
* @see https://github.com/dompdf/dompdf/issues/1272
|
* @see https://github.com/dompdf/dompdf/issues/1272
|
||||||
* For time bieng we are silencing the error using "@" operator in front of it
|
* For time bieng we are silencing the error using "@" operator in front of it
|
||||||
*/
|
*/
|
||||||
return @PDF::load($html1)->show();
|
return PdfFacade::load($html1)->show(false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -674,10 +679,10 @@ class TicketController extends Controller
|
|||||||
}
|
}
|
||||||
$user->role = 'user';
|
$user->role = 'user';
|
||||||
$user->active = $user_status;
|
$user->active = $user_status;
|
||||||
$token = str_random(60);
|
$token = Str::random(60);
|
||||||
$user->remember_token = $token;
|
$user->remember_token = $token;
|
||||||
// mail user his/her password
|
// mail user his/her password
|
||||||
//\Event::fire(new \App\Events\ClientTicketFormPost($from_data, $emailadd, $source));
|
//\Illuminate\Support\Facades\Event::dispatch(new \App\Events\ClientTicketFormPost($from_data, $emailadd, $source));
|
||||||
if ($user->save()) {
|
if ($user->save()) {
|
||||||
$user_id = $user->id;
|
$user_id = $user->id;
|
||||||
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
|
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
|
||||||
@@ -690,10 +695,10 @@ class TicketController extends Controller
|
|||||||
'user_name' => $unique,
|
'user_name' => $unique,
|
||||||
'password' => $password,
|
'password' => $password,
|
||||||
];
|
];
|
||||||
\Event::fire(new \App\Events\LoginEvent($value));
|
event(new \App\Events\LoginEvent($value));
|
||||||
}
|
}
|
||||||
// Event fire
|
// Event fire
|
||||||
\Event::fire(new \App\Events\ReadMailEvent($user_id, $password));
|
event(new \App\Events\ReadMailEvent($user_id, $password));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if ($auto_response == 0) {
|
if ($auto_response == 0) {
|
||||||
@@ -710,7 +715,7 @@ class TicketController extends Controller
|
|||||||
$username = $checkemail->first_name;
|
$username = $checkemail->first_name;
|
||||||
$user_id = $checkemail->id;
|
$user_id = $checkemail->id;
|
||||||
}
|
}
|
||||||
\Event::fire(new \App\Events\ClientTicketFormPost($from_data, $emailadd, $source));
|
event(new \App\Events\ClientTicketFormPost($from_data, $emailadd, $source));
|
||||||
$ticket_number = $this->check_ticket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data, $status);
|
$ticket_number = $this->check_ticket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data, $status);
|
||||||
|
|
||||||
$ticket_number2 = $ticket_number[0];
|
$ticket_number2 = $ticket_number[0];
|
||||||
@@ -850,11 +855,11 @@ class TicketController extends Controller
|
|||||||
'status' => $status,
|
'status' => $status,
|
||||||
'Priority' => $priority,
|
'Priority' => $priority,
|
||||||
];
|
];
|
||||||
\Event::fire('Create-Ticket', [$data]);
|
event('Create-Ticket', [$data]);
|
||||||
$data = [
|
$data = [
|
||||||
'id' => $ticketdata->id,
|
'id' => $ticketdata->id,
|
||||||
];
|
];
|
||||||
\Event::fire('ticket-assignment', [$data]);
|
event('ticket-assignment', [$data]);
|
||||||
$this->NotificationController->create($ticketdata->id, $user_id, '3');
|
$this->NotificationController->create($ticketdata->id, $user_id, '3');
|
||||||
|
|
||||||
return ['0' => $ticket_number2, '1' => true];
|
return ['0' => $ticket_number2, '1' => true];
|
||||||
@@ -953,7 +958,7 @@ class TicketController extends Controller
|
|||||||
'first_name' => $username,
|
'first_name' => $username,
|
||||||
'last_name' => '',
|
'last_name' => '',
|
||||||
];
|
];
|
||||||
\Event::fire('change-status', [$data]);
|
event('change-status', [$data]);
|
||||||
}
|
}
|
||||||
if (isset($id)) {
|
if (isset($id)) {
|
||||||
if ($this->ticketThread($subject, $body, $id, $user_id)) {
|
if ($this->ticketThread($subject, $body, $id, $user_id)) {
|
||||||
@@ -1061,7 +1066,7 @@ class TicketController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
\Event::fire('after.ticket.created', [['ticket' => $ticket, 'form_data' => $form_data]]);
|
event('after.ticket.created', [['ticket' => $ticket, 'form_data' => $form_data]]);
|
||||||
|
|
||||||
// store collaborators
|
// store collaborators
|
||||||
$this->storeCollaborators($headers, $id);
|
$this->storeCollaborators($headers, $id);
|
||||||
@@ -1089,7 +1094,7 @@ class TicketController extends Controller
|
|||||||
$thread->title = $subject;
|
$thread->title = $subject;
|
||||||
$thread->body = $body;
|
$thread->body = $body;
|
||||||
if ($thread->save()) {
|
if ($thread->save()) {
|
||||||
\Event::fire('ticket.details', ['ticket' => $thread]); //get the ticket details
|
event('ticket.details', ['ticket' => $thread]); //get the ticket details
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1173,7 +1178,7 @@ class TicketController extends Controller
|
|||||||
'first_name' => Auth::user()->first_name,
|
'first_name' => Auth::user()->first_name,
|
||||||
'last_name' => Auth::user()->last_name,
|
'last_name' => Auth::user()->last_name,
|
||||||
];
|
];
|
||||||
\Event::fire('change-status', [$data]);
|
event('change-status', [$data]);
|
||||||
|
|
||||||
return 'your ticket'.$ticket_status->ticket_number.' has been closed';
|
return 'your ticket'.$ticket_status->ticket_number.' has been closed';
|
||||||
}
|
}
|
||||||
@@ -1219,7 +1224,7 @@ class TicketController extends Controller
|
|||||||
'first_name' => Auth::user()->first_name,
|
'first_name' => Auth::user()->first_name,
|
||||||
'last_name' => Auth::user()->last_name,
|
'last_name' => Auth::user()->last_name,
|
||||||
];
|
];
|
||||||
\Event::fire('change-status', [$data]);
|
event('change-status', [$data]);
|
||||||
|
|
||||||
return 'your ticket'.$ticket_status->ticket_number.' has been resolved';
|
return 'your ticket'.$ticket_status->ticket_number.' has been resolved';
|
||||||
}
|
}
|
||||||
@@ -1259,7 +1264,7 @@ class TicketController extends Controller
|
|||||||
'first_name' => Auth::user()->first_name,
|
'first_name' => Auth::user()->first_name,
|
||||||
'last_name' => Auth::user()->last_name,
|
'last_name' => Auth::user()->last_name,
|
||||||
];
|
];
|
||||||
\Event::fire('change-status', [$data]);
|
event('change-status', [$data]);
|
||||||
|
|
||||||
return 'your ticket'.$ticket_status->ticket_number.' has been opened';
|
return 'your ticket'.$ticket_status->ticket_number.' has been opened';
|
||||||
}
|
}
|
||||||
@@ -1291,7 +1296,7 @@ class TicketController extends Controller
|
|||||||
'first_name' => Auth::user()->first_name,
|
'first_name' => Auth::user()->first_name,
|
||||||
'last_name' => Auth::user()->last_name,
|
'last_name' => Auth::user()->last_name,
|
||||||
];
|
];
|
||||||
\Event::fire('change-status', [$data]);
|
event('change-status', [$data]);
|
||||||
|
|
||||||
return 'your ticket has been delete';
|
return 'your ticket has been delete';
|
||||||
} else {
|
} else {
|
||||||
@@ -1311,7 +1316,7 @@ class TicketController extends Controller
|
|||||||
'first_name' => Auth::user()->first_name,
|
'first_name' => Auth::user()->first_name,
|
||||||
'last_name' => Auth::user()->last_name,
|
'last_name' => Auth::user()->last_name,
|
||||||
];
|
];
|
||||||
\Event::fire('change-status', [$data]);
|
event('change-status', [$data]);
|
||||||
|
|
||||||
return 'your ticket'.$ticket_delete->ticket_number.' has been delete';
|
return 'your ticket'.$ticket_delete->ticket_number.' has been delete';
|
||||||
}
|
}
|
||||||
@@ -1384,7 +1389,7 @@ class TicketController extends Controller
|
|||||||
$data = [
|
$data = [
|
||||||
'id' => $id,
|
'id' => $id,
|
||||||
];
|
];
|
||||||
\Event::fire('ticket-assignment', [$data]);
|
event('ticket-assignment', [$data]);
|
||||||
$ticket_thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
|
$ticket_thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
|
||||||
$ticket_subject = $ticket_thread->title;
|
$ticket_subject = $ticket_thread->title;
|
||||||
$thread = new Ticket_Thread();
|
$thread = new Ticket_Thread();
|
||||||
@@ -1434,7 +1439,7 @@ class TicketController extends Controller
|
|||||||
'u_id' => Auth::user()->first_name.' '.Auth::user()->last_name,
|
'u_id' => Auth::user()->first_name.' '.Auth::user()->last_name,
|
||||||
'body' => $InternalContent,
|
'body' => $InternalContent,
|
||||||
];
|
];
|
||||||
\Event::fire('Reply-Ticket', [$data]);
|
event('Reply-Ticket', [$data]);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -1613,7 +1618,7 @@ class TicketController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function autosearch($id)
|
public function autosearch($id)
|
||||||
{
|
{
|
||||||
$term = \Input::get('term');
|
$term = Input::get('term');
|
||||||
$user = \App\User::where('email', 'LIKE', '%'.$term.'%')->pluck('email');
|
$user = \App\User::where('email', 'LIKE', '%'.$term.'%')->pluck('email');
|
||||||
echo json_encode($user);
|
echo json_encode($user);
|
||||||
}
|
}
|
||||||
@@ -1786,7 +1791,7 @@ class TicketController extends Controller
|
|||||||
$tickets = Tickets::find($ticket->id);
|
$tickets = Tickets::find($ticket->id);
|
||||||
$tickets->delete();
|
$tickets->delete();
|
||||||
$data = ['id' => $ticket->id];
|
$data = ['id' => $ticket->id];
|
||||||
\Event::fire('ticket-permanent-delete', [$data]);
|
event('ticket-permanent-delete', [$data]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($value == 'Delete') {
|
if ($value == 'Delete') {
|
||||||
@@ -2248,7 +2253,7 @@ class TicketController extends Controller
|
|||||||
Tickets::where('id', '=', $value)
|
Tickets::where('id', '=', $value)
|
||||||
->update(['status' => 3]);
|
->update(['status' => 3]);
|
||||||
//event has $p_id and $value
|
//event has $p_id and $value
|
||||||
\Event::fire('ticket.merge', [['parent' => $p_id, 'child' => $value]]);
|
event('ticket.merge', [['parent' => $p_id, 'child' => $value]]);
|
||||||
if (!empty(Input::get('reason'))) {
|
if (!empty(Input::get('reason'))) {
|
||||||
$reason = Input::get('reason');
|
$reason = Input::get('reason');
|
||||||
} else {
|
} else {
|
||||||
@@ -2440,7 +2445,7 @@ class TicketController extends Controller
|
|||||||
* @see https://github.com/dompdf/dompdf/issues/1272
|
* @see https://github.com/dompdf/dompdf/issues/1272
|
||||||
* For time bieng we are silencing the error using "@" operator in front of it
|
* For time bieng we are silencing the error using "@" operator in front of it
|
||||||
*/
|
*/
|
||||||
return @PDF::load($html1)->show();
|
return PdfFacade::load($html1)->show(false, false, false);
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
return redirect()->back()->with('fails', $ex->getMessage());
|
return redirect()->back()->with('fails', $ex->getMessage());
|
||||||
}
|
}
|
||||||
@@ -2683,7 +2688,7 @@ class TicketController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function getTableFormat()
|
public function getTableFormat()
|
||||||
{
|
{
|
||||||
return \Datatable::table()
|
return DatatableFacade::table()
|
||||||
->addColumn(
|
->addColumn(
|
||||||
'<a class="checkbox-toggle"><i class="far fa-square fa-2x"></i></a>',
|
'<a class="checkbox-toggle"><i class="far fa-square fa-2x"></i></a>',
|
||||||
Lang::get('lang.subject'),
|
Lang::get('lang.subject'),
|
||||||
@@ -2715,7 +2720,7 @@ class TicketController extends Controller
|
|||||||
*/
|
*/
|
||||||
public static function genreateTableJson($tickets)
|
public static function genreateTableJson($tickets)
|
||||||
{
|
{
|
||||||
return \Datatables::of($tickets)
|
return DataTables::of($tickets)
|
||||||
->editColumn('id', function ($tickets) {
|
->editColumn('id', function ($tickets) {
|
||||||
$rep = ($tickets->last_replier == 'client') ? '#F39C12'
|
$rep = ($tickets->last_replier == 'client') ? '#F39C12'
|
||||||
: '#000';
|
: '#000';
|
||||||
@@ -2726,7 +2731,7 @@ class TicketController extends Controller
|
|||||||
if (isset($tickets->ticket_title)) {
|
if (isset($tickets->ticket_title)) {
|
||||||
$string = utfEncoding($tickets->ticket_title);
|
$string = utfEncoding($tickets->ticket_title);
|
||||||
if (strlen($string) > 25) {
|
if (strlen($string) > 25) {
|
||||||
$string = str_limit($string, 30).'...';
|
$string = Str::limit($string, 30).'...';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$string = Lang::get('lang.no-subject');
|
$string = Lang::get('lang.no-subject');
|
||||||
@@ -2795,7 +2800,7 @@ class TicketController extends Controller
|
|||||||
$color = "<i class='fa fa-exclamation-triangle' title='".Lang::get('lang.accoutn-not-verified')."'></i>";
|
$color = "<i class='fa fa-exclamation-triangle' title='".Lang::get('lang.accoutn-not-verified')."'></i>";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.strip_tags($name).'''.Lang::get('lang.see-profile2')."'><span style='color:#508983'>".str_limit(strip_tags($name), 30).' <span style="color:#f75959">'.$color.'</span></span></a>';
|
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.strip_tags($name).'''.Lang::get('lang.see-profile2')."'><span style='color:#508983'>".Str::limit(strip_tags($name), 30).' <span style="color:#f75959">'.$color.'</span></span></a>';
|
||||||
})
|
})
|
||||||
->editColumn('a_uname', function ($tickets) {
|
->editColumn('a_uname', function ($tickets) {
|
||||||
if ($tickets->assigned_to == null && $tickets->name == null) {
|
if ($tickets->assigned_to == null && $tickets->name == null) {
|
||||||
@@ -2814,7 +2819,16 @@ class TicketController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
->editColumn('updated_at', function ($tickets) {
|
||||||
|
$TicketDatarow = $tickets->updated_at;
|
||||||
|
$updated = '--';
|
||||||
|
if ($TicketDatarow) {
|
||||||
|
$updated = $tickets->updated_at;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '<span style="display:none">'.$updated.'</span>'.UTC::usertimezone($updated);
|
||||||
|
})
|
||||||
|
->rawColumns(['id', 'title', 'ticket_number', 'c_uname', 'a_uname', 'updated_at'])
|
||||||
->make();
|
->make();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3158,13 +3172,13 @@ class TicketController extends Controller
|
|||||||
|
|
||||||
public static function getTable($tickets)
|
public static function getTable($tickets)
|
||||||
{
|
{
|
||||||
return \Datatables::of($tickets)
|
return DataTables::of($tickets)
|
||||||
->addColumn('id', function ($tickets) {
|
->addColumn('id', function ($tickets) {
|
||||||
return "<input type='checkbox' name='select_all[]' id='".$tickets->id."' onclick='someFunction(this.id)' class='selectval icheckbox_flat-blue' value='".$tickets->id."'></input>";
|
return "<input type='checkbox' name='select_all[]' id='".$tickets->id."' onclick='someFunction(this.id)' class='selectval icheckbox_flat-blue' value='".$tickets->id."'></input>";
|
||||||
})
|
})
|
||||||
->addColumn('title', function ($tickets) {
|
->addColumn('title', function ($tickets) {
|
||||||
if (isset($tickets->ticket_title)) {
|
if (isset($tickets->ticket_title)) {
|
||||||
$string = str_limit($tickets->ticket_title, 20);
|
$string = Str::limit($tickets->ticket_title, 20);
|
||||||
} else {
|
} else {
|
||||||
$string = '(no subject)';
|
$string = '(no subject)';
|
||||||
}
|
}
|
||||||
@@ -3220,7 +3234,7 @@ class TicketController extends Controller
|
|||||||
$color = "<i class='fa fa-exclamation-triangle' title='".Lang::get('lang.accoutn-not-verified')."'></i>";
|
$color = "<i class='fa fa-exclamation-triangle' title='".Lang::get('lang.accoutn-not-verified')."'></i>";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.ucfirst($tickets->user_name).'''.Lang::get('lang.see-profile2')."'><span style='color:#508983'>".ucfirst(str_limit($name, 30)).' <span style="color:#f75959">'.$color.'</span></span></a>';
|
return "<a href='".$url."' title='".Lang::get('lang.see-profile1').' '.ucfirst($tickets->user_name).'''.Lang::get('lang.see-profile2')."'><span style='color:#508983'>".ucfirst(Str::limit($name, 30)).' <span style="color:#f75959">'.$color.'</span></span></a>';
|
||||||
})
|
})
|
||||||
->addColumn('assign_user_name', function ($tickets) {
|
->addColumn('assign_user_name', function ($tickets) {
|
||||||
if ($tickets->assigned_to == null) {
|
if ($tickets->assigned_to == null) {
|
||||||
@@ -3250,6 +3264,7 @@ class TicketController extends Controller
|
|||||||
|
|
||||||
return '<span style="display:none">'.$updated.'</span>'.UTC::usertimezone($updated);
|
return '<span style="display:none">'.$updated.'</span>'.UTC::usertimezone($updated);
|
||||||
})
|
})
|
||||||
|
->rawColumns(['id', 'title', 'ticket_number', 'priority', 'user_name', 'assign_user_name', 'updated_at', 'created_at'])
|
||||||
->make();
|
->make();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -39,7 +39,7 @@ use Exception;
|
|||||||
use GeoIP;
|
use GeoIP;
|
||||||
use Hash;
|
use Hash;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Redirect;
|
use Redirect;
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@ class UserController extends Controller
|
|||||||
}
|
}
|
||||||
// displaying list of users with chumper datatables
|
// displaying list of users with chumper datatables
|
||||||
// return \Datatable::collection(User::where('role', "!=", "admin")->get())
|
// return \Datatable::collection(User::where('role', "!=", "admin")->get())
|
||||||
return \Datatables::of($users)
|
return \Yajra\DataTables\Facades\DataTables::of($users)
|
||||||
/* column username */
|
/* column username */
|
||||||
->removeColumn('id', 'last_name', 'country_code', 'phone_number')
|
->removeColumn('id', 'last_name', 'country_code', 'phone_number')
|
||||||
->addColumn('user_name', function ($model) {
|
->addColumn('user_name', function ($model) {
|
||||||
@@ -231,6 +231,7 @@ class UserController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
->rawColumns(['user_name', 'email', 'mobile', 'active', 'updated_at', 'role', 'Actions'])
|
||||||
->make();
|
->make();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,7 +333,7 @@ class UserController extends Controller
|
|||||||
// returns for the success case
|
// returns for the success case
|
||||||
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
|
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
|
||||||
if (($request->input('active') == '0' || $request->input('active') == 0) || ($email_mandatory->status == '0') || $email_mandatory->status == 0) {
|
if (($request->input('active') == '0' || $request->input('active') == 0) || ($email_mandatory->status == '0') || $email_mandatory->status == 0) {
|
||||||
\Event::fire(new \App\Events\LoginEvent($request));
|
event(new \App\Events\LoginEvent($request));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect('user')->with('success', Lang::get('lang.User-Created-Successfully'));
|
return redirect('user')->with('success', Lang::get('lang.User-Created-Successfully'));
|
||||||
@@ -656,7 +657,7 @@ class UserController extends Controller
|
|||||||
// $org_name=Organization::where('id','=',$org_id)->pluck('name')->first();
|
// $org_name=Organization::where('id','=',$org_id)->pluck('name')->first();
|
||||||
// dd($org_name);
|
// dd($org_name);
|
||||||
|
|
||||||
return view('themes.default1.agent.helpdesk.user.edit', compact('users', 'orgs', '$settings', '$email_mandatory', 'organization_id'))->with('phonecode', $phonecode->phonecode);
|
return view('themes.default1.agent.helpdesk.user.edit', compact('users', 'orgs', 'settings', 'email_mandatory', 'organization_id'))->with('phonecode', $phonecode->phonecode);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
return redirect()->back()->with('fails', $e->getMessage());
|
return redirect()->back()->with('fails', $e->getMessage());
|
||||||
}
|
}
|
||||||
@@ -912,7 +913,7 @@ class UserController extends Controller
|
|||||||
// checking if the name is unique
|
// checking if the name is unique
|
||||||
$check2 = Organization::where('name', '=', Input::get('name'))->first();
|
$check2 = Organization::where('name', '=', Input::get('name'))->first();
|
||||||
// if any of the fields is not available then return false
|
// if any of the fields is not available then return false
|
||||||
if (\Input::get('name') == null) {
|
if (Input::get('name') == null) {
|
||||||
return 'Name is required';
|
return 'Name is required';
|
||||||
} elseif ($check2 != null) {
|
} elseif ($check2 != null) {
|
||||||
return 'Name should be Unique';
|
return 'Name should be Unique';
|
||||||
@@ -995,7 +996,7 @@ class UserController extends Controller
|
|||||||
$users = $this->getUsers($first_date, $second_date);
|
$users = $this->getUsers($first_date, $second_date);
|
||||||
$excel_controller = new \App\Http\Controllers\Common\ExcelController();
|
$excel_controller = new \App\Http\Controllers\Common\ExcelController();
|
||||||
$filename = 'users'.$date;
|
$filename = 'users'.$date;
|
||||||
$excel_controller->export($filename, $users);
|
return $excel_controller->export($filename, $users);
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
return redirect()->back()->with('fails', $ex->getMessage());
|
return redirect()->back()->with('fails', $ex->getMessage());
|
||||||
}
|
}
|
||||||
@@ -1028,7 +1029,7 @@ class UserController extends Controller
|
|||||||
if (\Schema::hasTable('sms')) {
|
if (\Schema::hasTable('sms')) {
|
||||||
$sms = DB::table('sms')->get();
|
$sms = DB::table('sms')->get();
|
||||||
if (count($sms) > 0) {
|
if (count($sms) > 0) {
|
||||||
\Event::fire(new \App\Events\LoginEvent($request));
|
event(new \App\Events\LoginEvent($request));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@@ -4,22 +4,23 @@ namespace App\Http\Controllers\Agent\kb;
|
|||||||
|
|
||||||
// Controllers
|
// Controllers
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// Requests
|
|
||||||
use App\Http\Requests\kb\ArticleRequest;
|
use App\Http\Requests\kb\ArticleRequest;
|
||||||
|
// Requests
|
||||||
use App\Http\Requests\kb\ArticleUpdate;
|
use App\Http\Requests\kb\ArticleUpdate;
|
||||||
// Models
|
|
||||||
use App\Model\kb\Article;
|
use App\Model\kb\Article;
|
||||||
|
// Models
|
||||||
use App\Model\kb\Category;
|
use App\Model\kb\Category;
|
||||||
use App\Model\kb\Comment;
|
use App\Model\kb\Comment;
|
||||||
use App\Model\kb\Relationship;
|
use App\Model\kb\Relationship;
|
||||||
use App\Model\kb\Settings;
|
use App\Model\kb\Settings;
|
||||||
// Classes
|
|
||||||
use Auth;
|
use Auth;
|
||||||
|
// Classes
|
||||||
use Chumper\Datatable\Table;
|
use Chumper\Datatable\Table;
|
||||||
use Datatable;
|
use Datatable;
|
||||||
use DB;
|
use DB;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Redirect;
|
use Redirect;
|
||||||
|
|
||||||
@@ -72,7 +73,7 @@ class ArticleController extends Controller
|
|||||||
|
|
||||||
/* add column name */
|
/* add column name */
|
||||||
->addColumn('name', function ($model) {
|
->addColumn('name', function ($model) {
|
||||||
$name = str_limit($model->name, 20, '...');
|
$name = Str::limit($model->name, 20, '...');
|
||||||
|
|
||||||
return "<p title=$model->name>$name</p>";
|
return "<p title=$model->name>$name</p>";
|
||||||
})
|
})
|
||||||
@@ -157,7 +158,7 @@ class ArticleController extends Controller
|
|||||||
$publishTime = $request->input('year').'-'.$request->input('month').'-'.$request->input('day').' '.$request->input('hour').':'.$request->input('minute').':00';
|
$publishTime = $request->input('year').'-'.$request->input('month').'-'.$request->input('day').' '.$request->input('hour').':'.$request->input('minute').':00';
|
||||||
|
|
||||||
$sl = $request->input('name');
|
$sl = $request->input('name');
|
||||||
$slug = str_slug($sl, '-');
|
$slug = Str::slug($sl, '-');
|
||||||
$article->slug = $slug;
|
$article->slug = $slug;
|
||||||
$article->publish_time = $publishTime;
|
$article->publish_time = $publishTime;
|
||||||
$article->fill($request->except('created_at', 'slug'))->save();
|
$article->fill($request->except('created_at', 'slug'))->save();
|
||||||
@@ -229,7 +230,7 @@ class ArticleController extends Controller
|
|||||||
|
|
||||||
$id = $aid->id;
|
$id = $aid->id;
|
||||||
$sl = $request->input('slug');
|
$sl = $request->input('slug');
|
||||||
$slug = str_slug($sl, '-');
|
$slug = Str::slug($sl, '-');
|
||||||
// dd($slug);
|
// dd($slug);
|
||||||
|
|
||||||
$article->slug = $slug;
|
$article->slug = $slug;
|
||||||
|
@@ -5,15 +5,16 @@ namespace App\Http\Controllers\Agent\kb;
|
|||||||
// Controllers
|
// Controllers
|
||||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// Requests
|
|
||||||
use App\Http\Requests\kb\CategoryRequest;
|
use App\Http\Requests\kb\CategoryRequest;
|
||||||
|
// Requests
|
||||||
use App\Http\Requests\kb\CategoryUpdate;
|
use App\Http\Requests\kb\CategoryUpdate;
|
||||||
// Model
|
|
||||||
use App\Model\kb\Category;
|
use App\Model\kb\Category;
|
||||||
|
// Model
|
||||||
use App\Model\kb\Relationship;
|
use App\Model\kb\Relationship;
|
||||||
// Classes
|
|
||||||
use Datatable;
|
use Datatable;
|
||||||
|
// Classes
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Redirect;
|
use Redirect;
|
||||||
|
|
||||||
@@ -78,7 +79,7 @@ class CategoryController extends Controller
|
|||||||
->addColumn('name', function ($model) {
|
->addColumn('name', function ($model) {
|
||||||
$string = strip_tags($model->name);
|
$string = strip_tags($model->name);
|
||||||
|
|
||||||
return str_limit($string, 20);
|
return Str::limit($string, 20);
|
||||||
})
|
})
|
||||||
/* add column Created */
|
/* add column Created */
|
||||||
->addColumn('Created', function ($model) {
|
->addColumn('Created', function ($model) {
|
||||||
@@ -143,7 +144,7 @@ class CategoryController extends Controller
|
|||||||
{
|
{
|
||||||
/* Get the whole request from the form and insert into table via model */
|
/* Get the whole request from the form and insert into table via model */
|
||||||
$sl = $request->input('name');
|
$sl = $request->input('name');
|
||||||
$slug = str_slug($sl, '-');
|
$slug = Str::slug($sl, '-');
|
||||||
$category->slug = $slug;
|
$category->slug = $slug;
|
||||||
// send success message to index page
|
// send success message to index page
|
||||||
try {
|
try {
|
||||||
@@ -187,7 +188,7 @@ class CategoryController extends Controller
|
|||||||
/* Edit the selected category via id */
|
/* Edit the selected category via id */
|
||||||
$category = Category::where('id', $id)->first();
|
$category = Category::where('id', $id)->first();
|
||||||
$sl = $request->input('name');
|
$sl = $request->input('name');
|
||||||
$slug = str_slug($sl, '-');
|
$slug = Str::slug($sl, '-');
|
||||||
/* update the values at the table via model according with the request */
|
/* update the values at the table via model according with the request */
|
||||||
//redirct to index page with success message
|
//redirct to index page with success message
|
||||||
try {
|
try {
|
||||||
|
@@ -4,15 +4,16 @@ namespace App\Http\Controllers\Agent\kb;
|
|||||||
|
|
||||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// request
|
|
||||||
use App\Http\Requests\kb\PageRequest;
|
use App\Http\Requests\kb\PageRequest;
|
||||||
|
// request
|
||||||
use App\Http\Requests\kb\PageUpdate;
|
use App\Http\Requests\kb\PageUpdate;
|
||||||
use App\Model\kb\Page;
|
use App\Model\kb\Page;
|
||||||
// Model
|
|
||||||
use Datatable;
|
use Datatable;
|
||||||
// classes
|
// Model
|
||||||
use Exception;
|
use Exception;
|
||||||
|
// classes
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -127,7 +128,7 @@ class PageController extends Controller
|
|||||||
public function store(PageRequest $request)
|
public function store(PageRequest $request)
|
||||||
{
|
{
|
||||||
$sl = $request->input('name');
|
$sl = $request->input('name');
|
||||||
$slug = str_slug($sl, '-');
|
$slug = Str::slug($sl, '-');
|
||||||
$this->page->slug = $slug;
|
$this->page->slug = $slug;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -170,7 +171,7 @@ class PageController extends Controller
|
|||||||
// get pages with respect to slug
|
// get pages with respect to slug
|
||||||
$pages = $this->page->where('slug', $slug)->first();
|
$pages = $this->page->where('slug', $slug)->first();
|
||||||
$sl = $request->input('name');
|
$sl = $request->input('name');
|
||||||
$slug = str_slug($sl, '-');
|
$slug = Str::slug($sl, '-');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$pages->fill($request->all())->save();
|
$pages->fill($request->all())->save();
|
||||||
|
@@ -16,8 +16,8 @@ use App\Model\kb\Settings;
|
|||||||
use Config;
|
use Config;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
use Image;
|
use Image;
|
||||||
use Input;
|
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -5,8 +5,8 @@ namespace App\Http\Controllers\Auth;
|
|||||||
// controllers
|
// controllers
|
||||||
use App\Http\Controllers\Admin\helpdesk\SocialMedia\SocialMediaController;
|
use App\Http\Controllers\Admin\helpdesk\SocialMedia\SocialMediaController;
|
||||||
use App\Http\Controllers\Common\PhpMailController;
|
use App\Http\Controllers\Common\PhpMailController;
|
||||||
// requests
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
// requests
|
||||||
use App\Http\Requests\helpdesk\LoginRequest;
|
use App\Http\Requests\helpdesk\LoginRequest;
|
||||||
use App\Http\Requests\helpdesk\OtpVerifyRequest;
|
use App\Http\Requests\helpdesk\OtpVerifyRequest;
|
||||||
use App\Http\Requests\helpdesk\RegisterRequest;
|
use App\Http\Requests\helpdesk\RegisterRequest;
|
||||||
@@ -14,8 +14,8 @@ use App\Model\helpdesk\Settings\CommonSettings;
|
|||||||
use App\Model\helpdesk\Settings\Plugin;
|
use App\Model\helpdesk\Settings\Plugin;
|
||||||
use App\Model\helpdesk\Settings\Security;
|
use App\Model\helpdesk\Settings\Security;
|
||||||
use App\Model\helpdesk\Ticket\Ticket_Thread;
|
use App\Model\helpdesk\Ticket\Ticket_Thread;
|
||||||
// classes
|
|
||||||
use App\Model\helpdesk\Ticket\Tickets;
|
use App\Model\helpdesk\Ticket\Tickets;
|
||||||
|
// classes
|
||||||
use App\Model\helpdesk\Utility\Otp;
|
use App\Model\helpdesk\Utility\Otp;
|
||||||
use App\User;
|
use App\User;
|
||||||
use Auth;
|
use Auth;
|
||||||
@@ -23,6 +23,7 @@ use DateTime;
|
|||||||
use DB;
|
use DB;
|
||||||
use Hash;
|
use Hash;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Socialite;
|
use Socialite;
|
||||||
|
|
||||||
@@ -42,11 +43,15 @@ class AuthController extends Controller
|
|||||||
|
|
||||||
// if auth is agent
|
// if auth is agent
|
||||||
protected $redirectTo = '/dashboard';
|
protected $redirectTo = '/dashboard';
|
||||||
|
|
||||||
// if auth is user
|
// if auth is user
|
||||||
protected $redirectToUser = '/profile';
|
protected $redirectToUser = '/profile';
|
||||||
|
|
||||||
/* Direct After Logout */
|
/* Direct After Logout */
|
||||||
protected $redirectAfterLogout = '/';
|
protected $redirectAfterLogout = '/';
|
||||||
|
|
||||||
protected $loginPath = '/auth/login';
|
protected $loginPath = '/auth/login';
|
||||||
|
|
||||||
protected $social;
|
protected $social;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -127,7 +132,7 @@ class AuthController extends Controller
|
|||||||
$settings = $settings->select('status')->where('option_name', '=', 'send_otp')->first();
|
$settings = $settings->select('status')->where('option_name', '=', 'send_otp')->first();
|
||||||
$email_mandatory = $settings->select('status')->where('option_name', '=', 'email_mandatory')->first();
|
$email_mandatory = $settings->select('status')->where('option_name', '=', 'email_mandatory')->first();
|
||||||
//dd($settings->status);
|
//dd($settings->status);
|
||||||
\Event::fire(new \App\Events\FormRegisterEvent());
|
event(new \App\Events\FormRegisterEvent());
|
||||||
if (Auth::user()) {
|
if (Auth::user()) {
|
||||||
if (Auth::user()->role == 'admin' || Auth::user()->role == 'agent') {
|
if (Auth::user()->role == 'admin' || Auth::user()->role == 'agent') {
|
||||||
return \Redirect::route('dashboard');
|
return \Redirect::route('dashboard');
|
||||||
@@ -177,14 +182,14 @@ class AuthController extends Controller
|
|||||||
$user->user_name = $request->input('email');
|
$user->user_name = $request->input('email');
|
||||||
}
|
}
|
||||||
$user->role = 'user';
|
$user->role = 'user';
|
||||||
$code = str_random(60);
|
$code = Str::random(60);
|
||||||
$user->remember_token = $code;
|
$user->remember_token = $code;
|
||||||
$user->save();
|
$user->save();
|
||||||
$message12 = '';
|
$message12 = '';
|
||||||
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
|
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
|
||||||
$sms = Plugin::select('status')->where('name', '=', 'SMS')->first();
|
$sms = Plugin::select('status')->where('name', '=', 'SMS')->first();
|
||||||
// Event for login
|
// Event for login
|
||||||
\Event::fire(new \App\Events\LoginEvent($request));
|
event(new \App\Events\LoginEvent($request));
|
||||||
if ($request->input('email') !== '') {
|
if ($request->input('email') !== '') {
|
||||||
$var = $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $name, 'email' => $request->input('email')], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $name, 'email_address' => $request->input('email'), 'password_reset_link' => url('account/activate/'.$code)]);
|
$var = $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $name, 'email' => $request->input('email')], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $name, 'email_address' => $request->input('email'), 'password_reset_link' => url('account/activate/'.$code)]);
|
||||||
}
|
}
|
||||||
@@ -296,7 +301,7 @@ class AuthController extends Controller
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
// dd($request->input());
|
// dd($request->input());
|
||||||
\Event::fire('auth.login.event', []); //added 5/5/2016
|
event('auth.login.event', []); //added 5/5/2016
|
||||||
// Set login attempts and login time
|
// Set login attempts and login time
|
||||||
$value = $_SERVER['REMOTE_ADDR'];
|
$value = $_SERVER['REMOTE_ADDR'];
|
||||||
$usernameinput = $request->input('email');
|
$usernameinput = $request->input('email');
|
||||||
@@ -592,7 +597,7 @@ class AuthController extends Controller
|
|||||||
} else {
|
} else {
|
||||||
$sms = DB::table('sms')->get();
|
$sms = DB::table('sms')->get();
|
||||||
if (count($sms) > 0) {
|
if (count($sms) > 0) {
|
||||||
\Event::fire(new \App\Events\LoginEvent($request));
|
event(new \App\Events\LoginEvent($request));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
@@ -651,7 +656,7 @@ class AuthController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function getLogout(Request $request)
|
public function getLogout(Request $request)
|
||||||
{
|
{
|
||||||
\Event::fire('user.logout', []);
|
event('user.logout', []);
|
||||||
$login = new LoginController();
|
$login = new LoginController();
|
||||||
|
|
||||||
return $login->logout($request);
|
return $login->logout($request);
|
||||||
|
40
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
40
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use Illuminate\Foundation\Auth\ConfirmsPasswords;
|
||||||
|
|
||||||
|
class ConfirmPasswordController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Confirm Password Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling password confirmations and
|
||||||
|
| uses a simple trait to include the behavior. You're free to explore
|
||||||
|
| this trait and override any functions that require customization.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use ConfirmsPasswords;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users when the intended url fails.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth');
|
||||||
|
}
|
||||||
|
}
|
@@ -7,7 +7,9 @@ use App\Http\Controllers\Controller;
|
|||||||
use App\User;
|
use App\User;
|
||||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Lang;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Lang;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class ForgotPasswordController extends Controller
|
class ForgotPasswordController extends Controller
|
||||||
{
|
{
|
||||||
@@ -47,19 +49,19 @@ class ForgotPasswordController extends Controller
|
|||||||
try {
|
try {
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
$this->validate($request, ['email' => 'required']);
|
$this->validate($request, ['email' => 'required']);
|
||||||
\Event::fire('reset.password', []);
|
event('reset.password', []);
|
||||||
$user = User::where('email', '=', $request->all('email'))->orWhere('mobile', '=', $request->all('email'))->first();
|
$user = User::where('email', '=', $request->all('email'))->orWhere('mobile', '=', $request->all('email'))->first();
|
||||||
if (isset($user)) {
|
if (isset($user)) {
|
||||||
$user1 = $user->email;
|
$user1 = $user->email;
|
||||||
//gen new code and pass
|
//gen new code and pass
|
||||||
$code = str_random(60);
|
$code = Str::random(60);
|
||||||
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->first();
|
$password_reset_table = DB::table('password_resets')->where('email', '=', $user->email)->first();
|
||||||
if (isset($password_reset_table)) {
|
if (isset($password_reset_table)) {
|
||||||
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
|
$password_reset_table = DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
|
||||||
// $password_reset_table->token = $code;
|
// $password_reset_table->token = $code;
|
||||||
// $password_reset_table->update(['token' => $code]);
|
// $password_reset_table->update(['token' => $code]);
|
||||||
} else {
|
} else {
|
||||||
$create_password_reset = \DB::table('password_resets')->insert(['email' => $user->email, 'token' => $code, 'created_at' => $date]);
|
$create_password_reset = DB::table('password_resets')->insert(['email' => $user->email, 'token' => $code, 'created_at' => $date]);
|
||||||
}
|
}
|
||||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user->user_name, 'email' => $user->email], $message = ['subject' => 'Your Password Reset Link', 'scenario' => 'reset-password'], $template_variables = ['user' => $user->first_name, 'email_address' => $user->email, 'password_reset_link' => url('password/reset/'.$code.'?email='.$user->email)], true);
|
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $user->user_name, 'email' => $user->email], $message = ['subject' => 'Your Password Reset Link', 'scenario' => 'reset-password'], $template_variables = ['user' => $user->first_name, 'email_address' => $user->email, 'password_reset_link' => url('password/reset/'.$code.'?email='.$user->email)], true);
|
||||||
if ($user->mobile != '' && $user->mobile != null) {
|
if ($user->mobile != '' && $user->mobile != null) {
|
||||||
@@ -73,7 +75,7 @@ class ForgotPasswordController extends Controller
|
|||||||
'name' => $name,
|
'name' => $name,
|
||||||
'mobile' => $user->mobile,
|
'mobile' => $user->mobile,
|
||||||
'code' => $user->country_code, ];
|
'code' => $user->country_code, ];
|
||||||
\Event::fire('reset.password2', [$value]);
|
event('reset.password2', [$value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->back()->with('status', Lang::get('lang.we_have_e-mailed_your_password_reset_link'));
|
return redirect()->back()->with('status', Lang::get('lang.we_have_e-mailed_your_password_reset_link'));
|
||||||
|
@@ -18,6 +18,7 @@ class LoginController extends Controller
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
use AuthenticatesUsers;
|
use AuthenticatesUsers;
|
||||||
|
|
||||||
//use AuthenticatesAndRegistersUsers, ThrottlesLogins;
|
//use AuthenticatesAndRegistersUsers, ThrottlesLogins;
|
||||||
/**
|
/**
|
||||||
* Where to redirect users after login.
|
* Where to redirect users after login.
|
||||||
|
@@ -5,12 +5,13 @@ namespace App\Http\Controllers\Auth;
|
|||||||
// controllers
|
// controllers
|
||||||
use App\Http\Controllers\Common\PhpMailController;
|
use App\Http\Controllers\Common\PhpMailController;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// request
|
|
||||||
use App\User;
|
use App\User;
|
||||||
|
// request
|
||||||
|
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||||
// model
|
// model
|
||||||
// classes
|
// classes
|
||||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,12 +54,12 @@ class PasswordController extends Controller
|
|||||||
try {
|
try {
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
$this->validate($request, ['email' => 'required']);
|
$this->validate($request, ['email' => 'required']);
|
||||||
\Event::fire('reset.password', []);
|
event('reset.password', []);
|
||||||
$user = User::where('email', '=', $request->all('email'))->orWhere('mobile', '=', $request->all('email'))->first();
|
$user = User::where('email', '=', $request->all('email'))->orWhere('mobile', '=', $request->all('email'))->first();
|
||||||
if (isset($user)) {
|
if (isset($user)) {
|
||||||
$user1 = $user->email;
|
$user1 = $user->email;
|
||||||
//gen new code and pass
|
//gen new code and pass
|
||||||
$code = str_random(60);
|
$code = Str::random(60);
|
||||||
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->first();
|
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->first();
|
||||||
if (isset($password_reset_table)) {
|
if (isset($password_reset_table)) {
|
||||||
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
|
$password_reset_table = \DB::table('password_resets')->where('email', '=', $user->email)->update(['token' => $code, 'created_at' => $date]);
|
||||||
@@ -79,7 +80,7 @@ class PasswordController extends Controller
|
|||||||
'name' => $name,
|
'name' => $name,
|
||||||
'mobile' => $user->mobile,
|
'mobile' => $user->mobile,
|
||||||
'code' => $user->country_code, ];
|
'code' => $user->country_code, ];
|
||||||
\Event::fire('reset.password2', [$value]);
|
event('reset.password2', [$value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->back()->with('status', Lang::get('lang.we_have_e-mailed_your_password_reset_link'));
|
return redirect()->back()->with('status', Lang::get('lang.we_have_e-mailed_your_password_reset_link'));
|
||||||
|
@@ -3,8 +3,10 @@
|
|||||||
namespace App\Http\Controllers\Auth;
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
use App\User;
|
use App\User;
|
||||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
||||||
class RegisterController extends Controller
|
class RegisterController extends Controller
|
||||||
@@ -19,14 +21,15 @@ class RegisterController extends Controller
|
|||||||
| provide this functionality without requiring any additional code.
|
| provide this functionality without requiring any additional code.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use RegistersUsers;
|
use RegistersUsers;
|
||||||
use AuthenticatesAndRegistersUsers;
|
|
||||||
/**
|
/**
|
||||||
* Where to redirect users after registration.
|
* Where to redirect users after registration.
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $redirectTo = '/home';
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new controller instance.
|
* Create a new controller instance.
|
||||||
@@ -48,9 +51,9 @@ class RegisterController extends Controller
|
|||||||
protected function validator(array $data)
|
protected function validator(array $data)
|
||||||
{
|
{
|
||||||
return Validator::make($data, [
|
return Validator::make($data, [
|
||||||
'name' => 'required|max:255',
|
'name' => ['required', 'string', 'max:255'],
|
||||||
'email' => 'required|email|max:255|unique:users',
|
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
|
||||||
'password' => 'required|min:6|confirmed',
|
'password' => ['required', 'string', 'min:8', 'confirmed'],
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,14 +62,14 @@ class RegisterController extends Controller
|
|||||||
*
|
*
|
||||||
* @param array $data
|
* @param array $data
|
||||||
*
|
*
|
||||||
* @return User
|
* @return \App\User
|
||||||
*/
|
*/
|
||||||
protected function create(array $data)
|
protected function create(array $data)
|
||||||
{
|
{
|
||||||
return User::create([
|
return User::create([
|
||||||
'name' => $data['name'],
|
'name' => $data['name'],
|
||||||
'email' => $data['email'],
|
'email' => $data['email'],
|
||||||
'password' => bcrypt($data['password']),
|
'password' => Hash::make($data['password']),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers\Auth;
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -19,12 +20,13 @@ class ResetPasswordController extends Controller
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
use ResetsPasswords;
|
use ResetsPasswords;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Where to redirect users after resetting their password.
|
* Where to redirect users after resetting their password.
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $redirectTo = '/home';
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new controller instance.
|
* Create a new controller instance.
|
||||||
|
@@ -24,7 +24,7 @@ use App\User;
|
|||||||
/* include tickets model */
|
/* include tickets model */
|
||||||
/* TicketRequest to validate the ticket response */
|
/* TicketRequest to validate the ticket response */
|
||||||
/* Validate post check ticket */
|
/* Validate post check ticket */
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request;
|
||||||
use Redirect;
|
use Redirect;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -292,7 +292,7 @@ class UserController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function UserAssignOrg($id)
|
public function UserAssignOrg($id)
|
||||||
{
|
{
|
||||||
$org = Input::get('org');
|
$org = Request::get('org');
|
||||||
$user_org = new User_org();
|
$user_org = new User_org();
|
||||||
$user_org->org_id = $org;
|
$user_org->org_id = $org;
|
||||||
$user_org->user_id = $id;
|
$user_org->user_id = $id;
|
||||||
@@ -308,17 +308,17 @@ class UserController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function User_Create_Org($id)
|
public function User_Create_Org($id)
|
||||||
{
|
{
|
||||||
if (Input::get('website') != null) {
|
if (Request::get('website') != null) {
|
||||||
// checking website
|
// checking website
|
||||||
$check = Organization::where('website', '=', Input::get('website'))->first();
|
$check = Organization::where('website', '=', Request::get('website'))->first();
|
||||||
} else {
|
} else {
|
||||||
$check = null;
|
$check = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// checking name
|
// checking name
|
||||||
$check2 = Organization::where('name', '=', Input::get('name'))->first();
|
$check2 = Organization::where('name', '=', Request::get('name'))->first();
|
||||||
|
|
||||||
if (\Input::get('name') == null) {
|
if (Request::get('name') == null) {
|
||||||
return 'Name is required';
|
return 'Name is required';
|
||||||
} elseif ($check2 != null) {
|
} elseif ($check2 != null) {
|
||||||
return 'Name should be Unique';
|
return 'Name should be Unique';
|
||||||
@@ -326,11 +326,11 @@ class UserController extends Controller
|
|||||||
return 'Website should be Unique';
|
return 'Website should be Unique';
|
||||||
} else {
|
} else {
|
||||||
$org = new Organization();
|
$org = new Organization();
|
||||||
$org->name = Input::get('name');
|
$org->name = Request::get('name');
|
||||||
$org->phone = Input::get('phone');
|
$org->phone = Request::get('phone');
|
||||||
$org->website = Input::get('website');
|
$org->website = Request::get('website');
|
||||||
$org->address = Input::get('address');
|
$org->address = Request::get('address');
|
||||||
$org->internal_notes = Input::get('internal');
|
$org->internal_notes = Request::get('internal');
|
||||||
$org->save();
|
$org->save();
|
||||||
|
|
||||||
$user_org = new User_org();
|
$user_org = new User_org();
|
||||||
|
@@ -83,7 +83,7 @@ class FormController extends Controller
|
|||||||
$phonecode = '';
|
$phonecode = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
list($max_size_in_bytes, $max_size_in_actual) = $this->fileUploadController->file_upload_max_size();
|
[$max_size_in_bytes, $max_size_in_actual] = $this->fileUploadController->file_upload_max_size();
|
||||||
|
|
||||||
return view('themes.default1.client.helpdesk.form', compact('topics', 'codes', 'email_mandatory', 'max_size_in_bytes', 'max_size_in_actual'))->with('phonecode', $phonecode);
|
return view('themes.default1.client.helpdesk.form', compact('topics', 'codes', 'email_mandatory', 'max_size_in_bytes', 'max_size_in_actual'))->with('phonecode', $phonecode);
|
||||||
} else {
|
} else {
|
||||||
@@ -229,7 +229,7 @@ class FormController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
\Event::fire(new \App\Events\ClientTicketFormPost($form_extras, $email, $source));
|
event(new \App\Events\ClientTicketFormPost($form_extras, $email, $source));
|
||||||
$result = $this->TicketWorkflowController->workflow($email, $name, $subject, $details, $phone, $phonecode, $mobile_number, $helptopic, $sla, $priority, $source, $collaborator, $department, $assignto, $team_assign, $status, $form_extras, $auto_response);
|
$result = $this->TicketWorkflowController->workflow($email, $name, $subject, $details, $phone, $phonecode, $mobile_number, $helptopic, $sla, $priority, $source, $collaborator, $department, $assignto, $team_assign, $status, $form_extras, $auto_response);
|
||||||
// dd($result);
|
// dd($result);
|
||||||
if ($result[1] == 1) {
|
if ($result[1] == 1) {
|
||||||
|
@@ -28,7 +28,7 @@ use Exception;
|
|||||||
use GeoIP;
|
use GeoIP;
|
||||||
use Hash;
|
use Hash;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Socialite;
|
use Socialite;
|
||||||
|
|
||||||
@@ -392,7 +392,7 @@ class GuestController extends Controller
|
|||||||
if (\Schema::hasTable('sms')) {
|
if (\Schema::hasTable('sms')) {
|
||||||
$sms = DB::table('sms')->get();
|
$sms = DB::table('sms')->get();
|
||||||
if (count($sms) > 0) {
|
if (count($sms) > 0) {
|
||||||
\Event::fire(new \App\Events\LoginEvent($request));
|
event(new \App\Events\LoginEvent($request));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@@ -337,7 +337,7 @@ class UnAuthController extends Controller
|
|||||||
// return Cache::get('language');
|
// return Cache::get('language');
|
||||||
//} else return 'false';
|
//} else return 'false';
|
||||||
// Cache::put('language',$)
|
// Cache::put('language',$)
|
||||||
$path = base_path('resources/lang'); // Path to check available language packages
|
$path = base_path('lang'); // Path to check available language packages
|
||||||
if (array_key_exists($lang, \Config::get('languages')) && in_array($lang, scandir($path))) {
|
if (array_key_exists($lang, \Config::get('languages')) && in_array($lang, scandir($path))) {
|
||||||
// dd(array_key_exists($lang, Config::get('languages')));
|
// dd(array_key_exists($lang, Config::get('languages')));
|
||||||
// app()->setLocale($lang);
|
// app()->setLocale($lang);
|
||||||
@@ -431,7 +431,7 @@ class UnAuthController extends Controller
|
|||||||
*/
|
*/
|
||||||
public static function changeUserLanguage($lang)
|
public static function changeUserLanguage($lang)
|
||||||
{
|
{
|
||||||
$path = base_path('resources/lang'); // Path to check available language packages
|
$path = base_path('lang'); // Path to check available language packages
|
||||||
if (array_key_exists($lang, \Config::get('languages')) && in_array($lang, scandir($path))) {
|
if (array_key_exists($lang, \Config::get('languages')) && in_array($lang, scandir($path))) {
|
||||||
if (\Auth::check()) {
|
if (\Auth::check()) {
|
||||||
$id = \Auth::user()->id;
|
$id = \Auth::user()->id;
|
||||||
|
@@ -48,7 +48,7 @@ class UserController extends Controller
|
|||||||
$article->setPath('article-list');
|
$article->setPath('article-list');
|
||||||
$categorys = $category->get();
|
$categorys = $category->get();
|
||||||
|
|
||||||
return view('themes.default1.client.kb.article-list.articles', compact('time', 'categorys', 'article'));
|
return view('themes.default1.client.kb.article-list.articles', compact('categorys', 'article'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -8,7 +8,7 @@ use App\Model\helpdesk\Ticket\Tickets;
|
|||||||
use DB;
|
use DB;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
use Lang;
|
use Lang;
|
||||||
use Log;
|
use Log;
|
||||||
|
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers\Common;
|
namespace App\Http\Controllers\Common;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransport;
|
||||||
|
|
||||||
class CommonMailer
|
class CommonMailer
|
||||||
{
|
{
|
||||||
@@ -12,17 +13,12 @@ class CommonMailer
|
|||||||
if (!$config) {
|
if (!$config) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$https = [];
|
$transport = new EsmtpTransport($config['host'], $config['port']);
|
||||||
$https['ssl']['verify_peer'] = false;
|
|
||||||
$https['ssl']['verify_peer_name'] = false;
|
|
||||||
$transport = new \Swift_SmtpTransport($config['host'], $config['port'], $config['security']);
|
|
||||||
$transport->setUsername($config['username']);
|
$transport->setUsername($config['username']);
|
||||||
$transport->setPassword($config['password']);
|
$transport->setPassword($config['password']);
|
||||||
$transport->setStreamOptions($https);
|
|
||||||
$set = new \Swift_Mailer($transport);
|
|
||||||
|
|
||||||
// Set the mailer
|
// Set the mailer
|
||||||
\Mail::setSwiftMailer($set);
|
\Mail::setSymfonyTransport($transport);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
@@ -2,9 +2,11 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers\Common;
|
namespace App\Http\Controllers\Common;
|
||||||
|
|
||||||
|
use App\Exports\UserExport;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Excel;
|
//use Excel;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
|
|
||||||
class ExcelController extends Controller
|
class ExcelController extends Controller
|
||||||
{
|
{
|
||||||
@@ -13,10 +15,7 @@ class ExcelController extends Controller
|
|||||||
if (count($data) == 0) {
|
if (count($data) == 0) {
|
||||||
throw new Exception('No data');
|
throw new Exception('No data');
|
||||||
}
|
}
|
||||||
Excel::create($filename, function ($excel) use ($data) {
|
//dd(Excel::download(new UserExport($data), $filename.'.'.'xls'));
|
||||||
$excel->sheet('sheet', function ($sheet) use ($data) {
|
return Excel::download(new UserExport($data), $filename.'.'.'xlsx');
|
||||||
$sheet->fromArray($data);
|
|
||||||
});
|
|
||||||
})->export('xls');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -237,6 +237,7 @@ class PhpMailController extends Controller
|
|||||||
//dd($to, $toname, $subject, $data, $cc, $attach);
|
//dd($to, $toname, $subject, $data, $cc, $attach);
|
||||||
//dd(\Config::get('mail'));
|
//dd(\Config::get('mail'));
|
||||||
//dd($attach);
|
//dd($attach);
|
||||||
|
|
||||||
$mail = Mail::send('emails.mail', ['data' => $data], function ($m) use ($to, $subject, $toname, $cc, $attach, $from_address) {
|
$mail = Mail::send('emails.mail', ['data' => $data], function ($m) use ($to, $subject, $toname, $cc, $attach, $from_address) {
|
||||||
$m->to($to, $toname)->subject($subject);
|
$m->to($to, $toname)->subject($subject);
|
||||||
$m->from($from_address->email_address, $from_address->email_name);
|
$m->from($from_address->email_address, $from_address->email_name);
|
||||||
@@ -263,6 +264,7 @@ class PhpMailController extends Controller
|
|||||||
$name = $attach[$i]['file_name'];
|
$name = $attach[$i]['file_name'];
|
||||||
$mime = $attach[$i]['mime'];
|
$mime = $attach[$i]['mime'];
|
||||||
$this->attachmentMode($m, $file, $name, $mime, $mode);
|
$this->attachmentMode($m, $file, $name, $mime, $mode);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -4,20 +4,21 @@ namespace App\Http\Controllers\Common;
|
|||||||
|
|
||||||
// controllers
|
// controllers
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// requests
|
|
||||||
use App\Http\Requests;
|
use App\Http\Requests;
|
||||||
|
// requests
|
||||||
use App\Http\Requests\helpdesk\SmtpRequest;
|
use App\Http\Requests\helpdesk\SmtpRequest;
|
||||||
use App\Model\helpdesk\Email\Smtp;
|
use App\Model\helpdesk\Email\Smtp;
|
||||||
// models
|
|
||||||
use App\Model\helpdesk\Settings\Plugin;
|
use App\Model\helpdesk\Settings\Plugin;
|
||||||
|
// models
|
||||||
use App\Model\helpdesk\Theme\Widgets;
|
use App\Model\helpdesk\Theme\Widgets;
|
||||||
use Config;
|
use Config;
|
||||||
// classes
|
|
||||||
use Crypt;
|
use Crypt;
|
||||||
|
// classes
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
use Lang;
|
use Lang;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -306,7 +307,7 @@ class SettingsController extends Controller
|
|||||||
return \Datatable::collection(new Collection($plugins))
|
return \Datatable::collection(new Collection($plugins))
|
||||||
->searchColumns('name')
|
->searchColumns('name')
|
||||||
->addColumn('name', function ($model) {
|
->addColumn('name', function ($model) {
|
||||||
if (array_has($model, 'path')) {
|
if (Arr::has($model, 'path')) {
|
||||||
if ($model['status'] == 0) {
|
if ($model['status'] == 0) {
|
||||||
$activate = '<a href='.url('plugin/status/'.$model['path']).'>Activate</a>';
|
$activate = '<a href='.url('plugin/status/'.$model['path']).'>Activate</a>';
|
||||||
$settings = ' ';
|
$settings = ' ';
|
||||||
|
@@ -19,6 +19,7 @@ use Lang;
|
|||||||
class TemplateController extends Controller
|
class TemplateController extends Controller
|
||||||
{
|
{
|
||||||
public $template;
|
public $template;
|
||||||
|
|
||||||
public $type;
|
public $type;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@@ -5,25 +5,27 @@ namespace App\Http\Controllers\Installer\helpdesk;
|
|||||||
// controllers
|
// controllers
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
// requests
|
// requests
|
||||||
|
use App\Http\Controllers\Update\SyncFaveoToLatestVersion;
|
||||||
use App\Http\Requests\helpdesk\InstallerRequest;
|
use App\Http\Requests\helpdesk\InstallerRequest;
|
||||||
use App\Model\helpdesk\Settings\System;
|
use App\Model\helpdesk\Settings\System;
|
||||||
// models
|
// models
|
||||||
use App\Model\helpdesk\Utility\Date_time_format;
|
use App\Model\helpdesk\Utility\Date_time_format;
|
||||||
use App\Model\helpdesk\Utility\Timezones;
|
use App\Model\helpdesk\Utility\Timezones;
|
||||||
use App\User;
|
use App\User;
|
||||||
use Artisan;
|
Use Illuminate\Support\Facades\Artisan;
|
||||||
// classes
|
// classes
|
||||||
use Cache;
|
use Illuminate\Support\Facades\Cache;
|
||||||
use DB;
|
use DB;
|
||||||
use Exception;
|
use Exception;
|
||||||
use File;
|
use Illuminate\Support\Facades\File;
|
||||||
use Hash;
|
use Hash;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
use Redirect;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Session;
|
use Illuminate\Support\Facades\Redirect;
|
||||||
|
use Illuminate\Support\Facades\Session;
|
||||||
use UnAuth;
|
use UnAuth;
|
||||||
use View;
|
use Illuminate\Support\Facades\View;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* |=======================================================================
|
* |=======================================================================
|
||||||
@@ -257,7 +259,7 @@ class InstallController extends Controller
|
|||||||
return redirect()->back()->with('fails', 'invalid date-time format');
|
return redirect()->back()->with('fails', 'invalid date-time format');
|
||||||
}
|
}
|
||||||
|
|
||||||
$lang_path = base_path('resources/lang');
|
$lang_path = base_path('lang');
|
||||||
|
|
||||||
//check user input language package is available or not in the system
|
//check user input language package is available or not in the system
|
||||||
if (array_key_exists($language, \Config::get('languages')) && in_array($language, scandir($lang_path))) {
|
if (array_key_exists($language, \Config::get('languages')) && in_array($language, scandir($lang_path))) {
|
||||||
@@ -434,7 +436,8 @@ class InstallController extends Controller
|
|||||||
$ENV['DB_DATABASE'] = '"'.$database.'"';
|
$ENV['DB_DATABASE'] = '"'.$database.'"';
|
||||||
$ENV['DB_USERNAME'] = '"'.$dbusername.'"';
|
$ENV['DB_USERNAME'] = '"'.$dbusername.'"';
|
||||||
$ENV['DB_PASSWORD'] = '"'.$dbpassword.'"';
|
$ENV['DB_PASSWORD'] = '"'.$dbpassword.'"';
|
||||||
$ENV['MAIL_DRIVER'] = 'smtp';
|
$ENV['DB_ENGINE'] = 'InnoDB';
|
||||||
|
$ENV['MAIL_MAILER'] = 'smtp';
|
||||||
$ENV['MAIL_HOST'] = 'mailtrap.io';
|
$ENV['MAIL_HOST'] = 'mailtrap.io';
|
||||||
$ENV['MAIL_PORT'] = '2525';
|
$ENV['MAIL_PORT'] = '2525';
|
||||||
$ENV['MAIL_USERNAME'] = 'null';
|
$ENV['MAIL_USERNAME'] = 'null';
|
||||||
@@ -442,7 +445,7 @@ class InstallController extends Controller
|
|||||||
$ENV['CACHE_DRIVER'] = 'file';
|
$ENV['CACHE_DRIVER'] = 'file';
|
||||||
$ENV['SESSION_DRIVER'] = 'file';
|
$ENV['SESSION_DRIVER'] = 'file';
|
||||||
$ENV['SESSION_COOKIE_NAME'] = 'faveo_'.rand(0, 10000);
|
$ENV['SESSION_COOKIE_NAME'] = 'faveo_'.rand(0, 10000);
|
||||||
$ENV['QUEUE_DRIVER'] = 'sync';
|
$ENV['QUEUE_CONNECTION'] = 'sync';
|
||||||
$ENV['JWT_TTL'] = 4;
|
$ENV['JWT_TTL'] = 4;
|
||||||
$ENV['FCM_SERVER_KEY'] = 'AIzaSyCyx5OFnsRFUmDLTMbPV50ZMDUGSG-bLw4';
|
$ENV['FCM_SERVER_KEY'] = 'AIzaSyCyx5OFnsRFUmDLTMbPV50ZMDUGSG-bLw4';
|
||||||
$ENV['FCM_SENDER_ID'] = '661051343223';
|
$ENV['FCM_SENDER_ID'] = '661051343223';
|
||||||
@@ -489,29 +492,23 @@ class InstallController extends Controller
|
|||||||
|
|
||||||
public function migrate()
|
public function migrate()
|
||||||
{
|
{
|
||||||
$db_install_method = '';
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$tableNames = \Schema::getConnection()->getDoctrineSchemaManager()->listTableNames();
|
$tableNames = Schema::getConnection()->getDoctrineSchemaManager()->listTableNames();
|
||||||
if (count($tableNames) === 0) {
|
if (count($tableNames) === 0) {
|
||||||
if (!Cache::get('dummy_data_installation')) {
|
(new SyncFaveoToLatestVersion())->sync();
|
||||||
Artisan::call('migrate', ['--force' => true]);
|
if (Cache::get('dummy_data_installation')) {
|
||||||
$db_install_method = 'migrate';
|
|
||||||
} else {
|
|
||||||
$path = base_path().DIRECTORY_SEPARATOR.'DB'.DIRECTORY_SEPARATOR.'dummy-data.sql';
|
$path = base_path().DIRECTORY_SEPARATOR.'DB'.DIRECTORY_SEPARATOR.'dummy-data.sql';
|
||||||
DB::unprepared(file_get_contents($path));
|
DB::unprepared(file_get_contents($path));
|
||||||
$db_install_method = 'dump';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
|
dd($ex);
|
||||||
$this->rollBackMigration();
|
$this->rollBackMigration();
|
||||||
$result = ['error' => $ex->getMessage()];
|
$result = ['error' => $ex->getMessage()];
|
||||||
|
|
||||||
return response()->json(compact('result'), 500);
|
return response()->json(compact('result'), 500);
|
||||||
}
|
}
|
||||||
$url = ($db_install_method == 'migrate') ? url('seed') : '';
|
$result = ['success' => 'Database has been setup successfully.'];
|
||||||
$message = ($db_install_method == 'migrate') ? 'Tables have been migrated successfully in database.' : 'Database has been setup successfully.';
|
|
||||||
$result = ['success' => $message, 'next' => 'Seeding pre configurations data', 'api' => $url];
|
|
||||||
|
|
||||||
return response()->json(compact('result'));
|
return response()->json(compact('result'));
|
||||||
}
|
}
|
||||||
|
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|||||||
use Exception;
|
use Exception;
|
||||||
use Form;
|
use Form;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Request as Input;
|
||||||
|
|
||||||
class MailController extends Controller
|
class MailController extends Controller
|
||||||
{
|
{
|
||||||
@@ -31,7 +32,7 @@ class MailController extends Controller
|
|||||||
|
|
||||||
public function form($label, $name, $class)
|
public function form($label, $name, $class)
|
||||||
{
|
{
|
||||||
$mailid = \Input::get('emailid');
|
$mailid = Input::get('emailid');
|
||||||
if ($mailid) {
|
if ($mailid) {
|
||||||
$emails = new \App\Model\helpdesk\Email\Emails();
|
$emails = new \App\Model\helpdesk\Email\Emails();
|
||||||
$email = $emails->find($mailid);
|
$email = $emails->find($mailid);
|
||||||
|
65
app/Http/Controllers/Update/SyncFaveoToLatestVersion.php
Normal file
65
app/Http/Controllers/Update/SyncFaveoToLatestVersion.php
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Update;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Model\helpdesk\Settings\System;
|
||||||
|
use Exception;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Artisan;
|
||||||
|
use Illuminate\Support\Facades\Config;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
class SyncFaveoToLatestVersion extends Controller
|
||||||
|
{
|
||||||
|
public function sync()
|
||||||
|
{
|
||||||
|
ini_set('memory_limit', '-1');
|
||||||
|
ini_set('max_execution_time', '-1');
|
||||||
|
set_time_limit(0);
|
||||||
|
|
||||||
|
$latestVersion = $this->getPhpComaptibleVersion(Config::get('app.version'));
|
||||||
|
$olderVersion = $this->getOlderVersion();
|
||||||
|
|
||||||
|
if (version_compare($latestVersion, $olderVersion) == 1) {
|
||||||
|
$this->updateToLatestVersion($olderVersion);
|
||||||
|
}
|
||||||
|
Artisan::call('storage:link');
|
||||||
|
System::first()->update(['version' => Config::get('app.version')]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function updateToLatestVersion($olderVersion)
|
||||||
|
{
|
||||||
|
Artisan::call('migrate', ['--force' => true]);
|
||||||
|
|
||||||
|
$seederPath = base_path('database'.DIRECTORY_SEPARATOR.'seeders');
|
||||||
|
|
||||||
|
if(file_exists($seederPath)){
|
||||||
|
$seederVersions = scandir($seederPath);
|
||||||
|
|
||||||
|
natsort($seederVersions);
|
||||||
|
$formattedOlderVersion = $olderVersion;
|
||||||
|
foreach ($seederVersions as $version) {
|
||||||
|
if(version_compare($this->getPhpComaptibleVersion($version), $formattedOlderVersion) == 1){
|
||||||
|
Artisan::call('db:seed',['--class' => "Database\Seeders\\$version\DatabaseSeeder", '--force' => true]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getOlderVersion()
|
||||||
|
{
|
||||||
|
if (!isInstall()) {
|
||||||
|
return '0.0.0';
|
||||||
|
}
|
||||||
|
|
||||||
|
$version = System::value('version') ?: '0.0.0';
|
||||||
|
return $this->getPhpComaptibleVersion($version);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getPhpComaptibleVersion($version)
|
||||||
|
{
|
||||||
|
return preg_replace('#v\.|v#', '', str_replace('_', '.', $version));
|
||||||
|
}
|
||||||
|
}
|
@@ -8,6 +8,7 @@ use App\Model\Update\BarNotification;
|
|||||||
use Artisan;
|
use Artisan;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class UpgradeController extends Controller
|
class UpgradeController extends Controller
|
||||||
{
|
{
|
||||||
@@ -43,7 +44,7 @@ class UpgradeController extends Controller
|
|||||||
'data' => $data,
|
'data' => $data,
|
||||||
];
|
];
|
||||||
$url = 'http://faveohelpdesk.com/billing/public/verification';
|
$url = 'http://faveohelpdesk.com/billing/public/verification';
|
||||||
if (str_contains($url, ' ')) {
|
if (Str::contains($url, ' ')) {
|
||||||
$url = str_replace(' ', '%20', $url);
|
$url = str_replace(' ', '%20', $url);
|
||||||
}
|
}
|
||||||
$curl = $this->postCurl($url, $post_data);
|
$curl = $this->postCurl($url, $post_data);
|
||||||
@@ -65,7 +66,7 @@ class UpgradeController extends Controller
|
|||||||
{
|
{
|
||||||
$name = \Config::get('app.name');
|
$name = \Config::get('app.name');
|
||||||
$durl = 'http://www.faveohelpdesk.com/billing/public/download-url';
|
$durl = 'http://www.faveohelpdesk.com/billing/public/download-url';
|
||||||
if (str_contains($durl, ' ')) {
|
if (Str::contains($durl, ' ')) {
|
||||||
$durl = str_replace(' ', '%20', $durl);
|
$durl = str_replace(' ', '%20', $durl);
|
||||||
}
|
}
|
||||||
$data = [
|
$data = [
|
||||||
|
@@ -61,7 +61,7 @@ class LibraryController extends Controller
|
|||||||
$public_key = openssl_get_publickey($key_content);
|
$public_key = openssl_get_publickey($key_content);
|
||||||
|
|
||||||
$encrypted = $e = null;
|
$encrypted = $e = null;
|
||||||
openssl_seal($data, $encrypted, $e, [$public_key]);
|
openssl_seal($data, $encrypted, $e, [$public_key], 'rc4');
|
||||||
|
|
||||||
$sealed_data = base64_encode($encrypted);
|
$sealed_data = base64_encode($encrypted);
|
||||||
$envelope = base64_encode($e[0]);
|
$envelope = base64_encode($e[0]);
|
||||||
|
@@ -17,7 +17,7 @@ class Kernel extends HttpKernel
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $middleware = [
|
protected $middleware = [
|
||||||
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
|
\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,7 +27,7 @@ class Kernel extends HttpKernel
|
|||||||
*/
|
*/
|
||||||
protected $middlewareGroups = [
|
protected $middlewareGroups = [
|
||||||
'web' => [
|
'web' => [
|
||||||
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
|
\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance::class,
|
||||||
\App\Http\Middleware\EncryptCookies::class,
|
\App\Http\Middleware\EncryptCookies::class,
|
||||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||||
\Illuminate\Session\Middleware\StartSession::class,
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
@@ -37,8 +37,8 @@ class Kernel extends HttpKernel
|
|||||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
],
|
],
|
||||||
'api' => [
|
'api' => [
|
||||||
'throttle:60,1',
|
'throttle:api',
|
||||||
'bindings',
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -57,15 +57,16 @@ class Kernel extends HttpKernel
|
|||||||
'role.agent' => \App\Http\Middleware\CheckRoleAgent::class,
|
'role.agent' => \App\Http\Middleware\CheckRoleAgent::class,
|
||||||
'role.user' => \App\Http\Middleware\CheckRoleUser::class,
|
'role.user' => \App\Http\Middleware\CheckRoleUser::class,
|
||||||
'api' => \App\Http\Middleware\ApiKey::class,
|
'api' => \App\Http\Middleware\ApiKey::class,
|
||||||
'jwt.auth' => \Tymon\JWTAuth\Middleware\GetUserFromToken::class,
|
|
||||||
'jwt.refresh' => \Tymon\JWTAuth\Middleware\RefreshToken::class,
|
|
||||||
'jwt.authOveride' => \App\Http\Middleware\JwtAuthenticate::class,
|
'jwt.authOveride' => \App\Http\Middleware\JwtAuthenticate::class,
|
||||||
'update' => \App\Http\Middleware\CheckUpdate::class,
|
'update' => \App\Http\Middleware\CheckUpdate::class,
|
||||||
'board' => \App\Http\Middleware\CheckBoard::class,
|
'board' => \App\Http\Middleware\CheckBoard::class,
|
||||||
'install' => \App\Http\Middleware\Install::class,
|
'install' => \App\Http\Middleware\Install::class,
|
||||||
'redirect' => \App\Http\Middleware\Redirect::class,
|
'redirect' => \App\Http\Middleware\Redirect::class,
|
||||||
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
|
|
||||||
'installer' => \App\Http\Middleware\IsInstalled::class,
|
'installer' => \App\Http\Middleware\IsInstalled::class,
|
||||||
'force.option' => \App\Http\Middleware\TicketViewURL::class,
|
'force.option' => \App\Http\Middleware\TicketViewURL::class,
|
||||||
|
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||||
|
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
|
||||||
|
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||||
|
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
|
||||||
|
|
||||||
|
class PreventRequestsDuringMaintenance extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The URIs that should be reachable while maintenance mode is enabled.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
@@ -3,42 +3,29 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Contracts\Auth\Guard;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
class RedirectIfAuthenticated
|
class RedirectIfAuthenticated
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* The Guard implementation.
|
|
||||||
*
|
|
||||||
* @var Guard
|
|
||||||
*/
|
|
||||||
protected $auth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new filter instance.
|
|
||||||
*
|
|
||||||
* @param Guard $auth
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct(Guard $auth)
|
|
||||||
{
|
|
||||||
$this->auth = $auth;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle an incoming request.
|
* Handle an incoming request.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||||
|
* @param string|null ...$guards
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle(Request $request, Closure $next, ...$guards)
|
||||||
{
|
{
|
||||||
if ($this->auth->check()) {
|
$guards = empty($guards) ? [null] : $guards;
|
||||||
|
|
||||||
|
foreach ($guards as $guard) {
|
||||||
|
if (Auth::guard($guard)->check()) {
|
||||||
return redirect(url('dashboard'));
|
return redirect(url('dashboard'));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $next($request);
|
return $next($request);
|
||||||
}
|
}
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
use Input;
|
use Illuminate\Support\Facades\Request;
|
||||||
|
|
||||||
//use Redirect;
|
//use Redirect;
|
||||||
|
|
||||||
@@ -19,20 +19,20 @@ class TicketViewURL
|
|||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle($request, Closure $next)
|
||||||
{
|
{
|
||||||
// dd(\Input::all(), $request->fullUrl());
|
// dd(Request::all(), $request->fullUrl());
|
||||||
$request_str = $request->fullUrl();
|
$request_str = $request->fullUrl();
|
||||||
if (preg_match('([^D]=)', $request_str) == 1) {
|
if (preg_match('([^D]=)', $request_str) == 1) {
|
||||||
$request_str = str_replace('=', '%5B%5D=', $request_str);
|
$request_str = str_replace('=', '%5B%5D=', $request_str);
|
||||||
$request_str = str_replace('%5B%5D%5B%5D=', '%5B%5D=', $request_str);
|
$request_str = str_replace('%5B%5D%5B%5D=', '%5B%5D=', $request_str);
|
||||||
}
|
}
|
||||||
if (count(Input::all()) == 0) {
|
if (count(Request::all()) == 0) {
|
||||||
return \Redirect::to('tickets?show%5B%5D=inbox&departments%5B%5D=All');
|
return \Redirect::to('tickets?show%5B%5D=inbox&departments%5B%5D=All');
|
||||||
} else {
|
} else {
|
||||||
if (!array_key_exists('show', Input::all()) && !array_key_exists('departments', Input::all())) {
|
if (!array_key_exists('show', Request::all()) && !array_key_exists('departments', Request::all())) {
|
||||||
return \Redirect::to($request_str.'&show%5B%5D=inbox&departments%5B%5D=All');
|
return \Redirect::to($request_str.'&show%5B%5D=inbox&departments%5B%5D=All');
|
||||||
} elseif (!array_key_exists('show', Input::all()) && array_key_exists('departments', Input::all())) {
|
} elseif (!array_key_exists('show', Request::all()) && array_key_exists('departments', Request::all())) {
|
||||||
return \Redirect::to($request_str.'&show%5B%5D=inbox');
|
return \Redirect::to($request_str.'&show%5B%5D=inbox');
|
||||||
} elseif (array_key_exists('show', Input::all()) && !array_key_exists('departments', Input::all())) {
|
} elseif (array_key_exists('show', Request::all()) && !array_key_exists('departments', Request::all())) {
|
||||||
return \Redirect::to($request_str.'&departments%5B%5D=All');
|
return \Redirect::to($request_str.'&departments%5B%5D=All');
|
||||||
} else {
|
} else {
|
||||||
// do nothing
|
// do nothing
|
||||||
|
19
app/Http/Middleware/TrimStrings.php
Normal file
19
app/Http/Middleware/TrimStrings.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||||
|
|
||||||
|
class TrimStrings extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The names of the attributes that should not be trimmed.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
'current_password',
|
||||||
|
'password',
|
||||||
|
'password_confirmation',
|
||||||
|
];
|
||||||
|
}
|
20
app/Http/Middleware/TrustHosts.php
Normal file
20
app/Http/Middleware/TrustHosts.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Http\Middleware\TrustHosts as Middleware;
|
||||||
|
|
||||||
|
class TrustHosts extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the host patterns that should be trusted.
|
||||||
|
*
|
||||||
|
* @return array<int, string|null>
|
||||||
|
*/
|
||||||
|
public function hosts()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
$this->allSubdomainsOfApplicationUrl(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
28
app/Http/Middleware/TrustProxies.php
Normal file
28
app/Http/Middleware/TrustProxies.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Http\Middleware\TrustProxies as Middleware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class TrustProxies extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The trusted proxies for this application.
|
||||||
|
*
|
||||||
|
* @var array<int, string>|string|null
|
||||||
|
*/
|
||||||
|
protected $proxies;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The headers that should be used to detect proxies.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $headers =
|
||||||
|
Request::HEADER_X_FORWARDED_FOR |
|
||||||
|
Request::HEADER_X_FORWARDED_HOST |
|
||||||
|
Request::HEADER_X_FORWARDED_PORT |
|
||||||
|
Request::HEADER_X_FORWARDED_PROTO |
|
||||||
|
Request::HEADER_X_FORWARDED_AWS_ELB;
|
||||||
|
}
|
22
app/Http/Middleware/ValidateSignature.php
Normal file
22
app/Http/Middleware/ValidateSignature.php
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Routing\Middleware\ValidateSignature as Middleware;
|
||||||
|
|
||||||
|
class ValidateSignature extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The names of the query string parameters that should be ignored.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
// 'fbclid',
|
||||||
|
// 'utm_campaign',
|
||||||
|
// 'utm_content',
|
||||||
|
// 'utm_medium',
|
||||||
|
// 'utm_source',
|
||||||
|
// 'utm_term',
|
||||||
|
];
|
||||||
|
}
|
@@ -4,6 +4,7 @@ namespace App\Http\Requests\helpdesk;
|
|||||||
|
|
||||||
use App\Http\Requests\Request;
|
use App\Http\Requests\Request;
|
||||||
use App\Model\helpdesk\Settings\CommonSettings;
|
use App\Model\helpdesk\Settings\CommonSettings;
|
||||||
|
use Illuminate\Contracts\Validation\Validator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AgentRequest.
|
* AgentRequest.
|
||||||
|
@@ -4,6 +4,7 @@ namespace App\Http\Requests\helpdesk;
|
|||||||
|
|
||||||
use App\Http\Requests\Request;
|
use App\Http\Requests\Request;
|
||||||
use App\Model\helpdesk\Settings\CommonSettings;
|
use App\Model\helpdesk\Settings\CommonSettings;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CompanyRequest.
|
* CompanyRequest.
|
||||||
@@ -158,6 +159,6 @@ class ClientRequest extends Request
|
|||||||
// $purified[] = $this->purifyArray($value);
|
// $purified[] = $this->purifyArray($value);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// return array_dot($purified);
|
// return Arr::dot($purified);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
@@ -19,8 +19,11 @@ class AgentLayout
|
|||||||
* @var UserRepository
|
* @var UserRepository
|
||||||
*/
|
*/
|
||||||
protected $company;
|
protected $company;
|
||||||
|
|
||||||
protected $users;
|
protected $users;
|
||||||
|
|
||||||
protected $tickets;
|
protected $tickets;
|
||||||
|
|
||||||
protected $department;
|
protected $department;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -12,7 +12,7 @@ class UserLanguage
|
|||||||
|
|
||||||
public function compose(View $view)
|
public function compose(View $view)
|
||||||
{
|
{
|
||||||
$path = base_path().DIRECTORY_SEPARATOR.'resources'.DIRECTORY_SEPARATOR.'lang';
|
$path = lang_path();
|
||||||
$langs = scandir($path);
|
$langs = scandir($path);
|
||||||
$langs = array_diff($langs, ['.', '..']);
|
$langs = array_diff($langs, ['.', '..']);
|
||||||
$languages = [];
|
$languages = [];
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Request;
|
||||||
|
|
||||||
Breadcrumbs::register('dashboard', function ($breadcrumbs) {
|
Breadcrumbs::register('dashboard', function ($breadcrumbs) {
|
||||||
//$breadcrumbs->parent('/');
|
//$breadcrumbs->parent('/');
|
||||||
$breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard'));
|
$breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard'));
|
||||||
@@ -561,7 +563,7 @@ Breadcrumbs::register('queue', function ($breadcrumbs) {
|
|||||||
$breadcrumbs->push(Lang::get('lang.queues'), route('queue'));
|
$breadcrumbs->push(Lang::get('lang.queues'), route('queue'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::register('queue.edit', function ($breadcrumbs) {
|
Breadcrumbs::register('queue.edit', function ($breadcrumbs) {
|
||||||
$id = \Input::segment(2);
|
$id = Request::segment(2);
|
||||||
$breadcrumbs->parent('queue');
|
$breadcrumbs->parent('queue');
|
||||||
$breadcrumbs->push(Lang::get('lang.edit'), route('queue.edit', $id));
|
$breadcrumbs->push(Lang::get('lang.edit'), route('queue.edit', $id));
|
||||||
});
|
});
|
||||||
@@ -576,7 +578,7 @@ Breadcrumbs::register('social', function ($breadcrumbs) {
|
|||||||
$breadcrumbs->push(Lang::get('lang.social-media'), route('social'));
|
$breadcrumbs->push(Lang::get('lang.social-media'), route('social'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::register('social.media', function ($breadcrumbs) {
|
Breadcrumbs::register('social.media', function ($breadcrumbs) {
|
||||||
$id = \Input::segment(2);
|
$id = Request::segment(2);
|
||||||
$breadcrumbs->parent('social');
|
$breadcrumbs->parent('social');
|
||||||
$breadcrumbs->push(Lang::get('lang.settings'), route('social.media', $id));
|
$breadcrumbs->push(Lang::get('lang.settings'), route('social.media', $id));
|
||||||
});
|
});
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
function loging($context, $message, $level = 'error', $array = [])
|
function loging($context, $message, $level = 'error', $array = [])
|
||||||
{
|
{
|
||||||
\Log::$level($message.':-:-:-'.$context, $array);
|
\Log::$level($message.':-:-:-'.$context, $array);
|
||||||
@@ -30,14 +32,14 @@ function mime($type)
|
|||||||
$type == 'image/gif' ||
|
$type == 'image/gif' ||
|
||||||
// $type == "application/octet-stream" ||
|
// $type == "application/octet-stream" ||
|
||||||
$type == 'image/png' ||
|
$type == 'image/png' ||
|
||||||
starts_with($type, 'image')) {
|
Str::startsWith($type, 'image')) {
|
||||||
return 'image';
|
return 'image';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeUnderscore($string)
|
function removeUnderscore($string)
|
||||||
{
|
{
|
||||||
if (str_contains($string, '_') === true) {
|
if (Str::contains($string, '_') === true) {
|
||||||
$string = str_replace('_', ' ', $string);
|
$string = str_replace('_', ' ', $string);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,7 +126,7 @@ function isInstall()
|
|||||||
{
|
{
|
||||||
$check = false;
|
$check = false;
|
||||||
$env = base_path('.env');
|
$env = base_path('.env');
|
||||||
if (\File::exists($env) && \Config::get('database.install') == 1) {
|
if (\File::exists($env) && env('DB_INSTALL') == 1) {
|
||||||
$check = true;
|
$check = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,7 +265,7 @@ function successResponse($successMsg = '', $data = '', $responseCode = 200)
|
|||||||
*
|
*
|
||||||
* @return Response with json response content
|
* @return Response with json response content
|
||||||
*/
|
*/
|
||||||
function exceptionResponse(\Exception $exception)
|
function exceptionResponse(Exception $exception)
|
||||||
{
|
{
|
||||||
return errorResponse([
|
return errorResponse([
|
||||||
'file' => $exception->getFile(),
|
'file' => $exception->getFile(),
|
||||||
|
@@ -13,8 +13,11 @@ class SendEmail extends Job implements ShouldQueue
|
|||||||
use SerializesModels;
|
use SerializesModels;
|
||||||
|
|
||||||
protected $from;
|
protected $from;
|
||||||
|
|
||||||
protected $to;
|
protected $to;
|
||||||
|
|
||||||
protected $message;
|
protected $message;
|
||||||
|
|
||||||
protected $template;
|
protected $template;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7,5 +7,6 @@ use App\BaseModel;
|
|||||||
class ApiSetting extends BaseModel
|
class ApiSetting extends BaseModel
|
||||||
{
|
{
|
||||||
protected $table = 'api_settings';
|
protected $table = 'api_settings';
|
||||||
|
|
||||||
protected $fillable = ['key', 'value'];
|
protected $fillable = ['key', 'value'];
|
||||||
}
|
}
|
||||||
|
@@ -7,5 +7,6 @@ use App\BaseModel;
|
|||||||
class Template extends BaseModel
|
class Template extends BaseModel
|
||||||
{
|
{
|
||||||
protected $table = 'templates';
|
protected $table = 'templates';
|
||||||
|
|
||||||
protected $fillable = ['name', 'message', 'type', 'variable', 'subject'];
|
protected $fillable = ['name', 'message', 'type', 'variable', 'subject'];
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user